Étape 4: Le code : lecture de la molette.
Si vous regardez attentivement le schéma, vous verrez qu’en tournant à droite, que b est toujours faible sur les bords montantes d’a. En tournant à gauche B wil toujours être élevée sur les bords montantes d’a.
Donc si nous joindre A pour INT0 et réglez-le pour déclencher une interruption sur le front, puis al que nous devons faire dans la routine d’interruption vérifie si B est 0 ou 1 pour connaître le sens. Selon la direction, un compteur est augmente ou diminue et ce compteur peut ensuite être utilisé dans la boucle principale pour définir les valeurs d’une plage de variables. C’est vraiment aussi simple que ça !
dans le code de Bascom :
Dim count as integer
Un Pind.2 Alias ' (INT0)
B Alias Pind.4
config A comme entrée
config B en entrée
Série B
Réinitialiser compteur
Config Int0 = montante
Sur Int0 Getencoder
Activer les interruptions
Activez Int0
faire
' boucle principale ici
boucle
GetEncoder :
waitus 250
Si A = 1 Then
Si B = 0 alors Incr comptent d’autre Decr comte
End If
Retour
Le fuction bouton de la molette est simplement une interruption qui est déclenchée en connectant le dans à INT1. Dans la routine correspondante, tous les kindst de choses peut faire selon ce que vous voudriez faire. Dans ce cas, il est utilisé pour parcourir le menu, pour accepter les valeurs et les écrire à l’EEPROM de l’atmega8.