AIR VIRTUEL 737

code arduino pour encodeur

Aller en bas

code arduino pour encodeur

Message par filotto le Ven 7 Sep - 11:00

Bonjour à tous,
Je recherche le code arduino pour les encodeurs de mon pedestal.
Merci de votre réponse.
Cordialement.
Gérard

filotto

Date d'inscription : 19/03/2014
Localisation : villerest
Messages : 63
Age : 66

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: code arduino pour encodeur

Message par filotto le Mar 18 Sep - 10:29

Bonjour à tous,
J'ai trouve ce code; si ça peut aider quelqu’un.
// Définition des broches utilisées pour l'encodeur
#define VHF1L_PLUS 2
#define VHF1L_MOINS 3

// setup()
void setup() {

pinMode(VHF1L_PLUS, INPUT); // Broche VHF1L_PLUS en sortie
digitalWrite(VHF1L_PLUS, HIGH); // et avec résistance de pull-up interne

pinMode(VHF1L_MOINS, INPUT); // Broche VHF1L_MOINS en sortie
digitalWrite(VHF1L_MOINS, HIGH); // et avec résistance de pull-up interne
Serial.begin (115200); // Initialisation du port série
}

// loop()
void loop(){
char val = read_encoder(); // Lecture de l'encodeur rotatif
if(val== 1) Serial.println("242");// Affichage de l offset VHF1L_PLUS
if(val== -1) Serial.println("243");// Affichage de l offset VHF1L_MOINS
}

// Fonction permettant de lire l'encodeur rotatif
// Pas de debounce = attention au rebonds
char read_encoder() {
byte na = int(digitalRead(VHF1L_PLUS)), nb = int(digitalRead(VHF1L_MOINS)); // Lit l'état des deux broches
static byte old = LOW; // Ancienne valeur de ENC_A (valeur static = valeur persistante)
char val = 0; // Valeur de retour (0 = pas de mouvement, 1 ou -1 = rotation de l'encodeur)

if(old != na) { // Si l'encodeur a été tourné
if(na) { // Test du sens de rotation
if(!nb) val--; else val++; // Test du sens de rotation
}
else {
if(!nb) val++; else val--; // Test du sens de rotation
}
}
old = na; // Garde en mémoire la nouvelle valeur de VHF1L_PLUS

return val; // Retourne val
}

Cordialement.
Gérard

filotto

Date d'inscription : 19/03/2014
Localisation : villerest
Messages : 63
Age : 66

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum