Étape 2: Blinkenlights pour un Signal
Nous utiliserons ces deux commutateurs à clignoter une LED programmable plusieurs fois. Les LEDs que nous utiliserons sera le blinkenlights qu’Elliot réel le rendu célèbre. Commutateurs 1 et 2 sont considérés comme deux chiffres binaires, la combinaison peut représenter les nombres 0, 1, 2 et 3. Notre programme lira les deux interrupteurs et clignoter le voyant le nombre de fois, mais seulement si la position des interrupteurs ont changé. Les commutateurs sont debounced pour 500 millisecondes (non optimisés). L’algorithme debounce est assez simple. Les commutateurs sont lus et la lecture est remarquée. Si elle est différente de la valeur de mais (la dernière valeur enregistrée), puis le programme est retardé pour 500 millisecondes et les commutateurs sont lus à nouveau. Si la valeur est la même que précédemment lu, la valeur de mais sera actualisée et la LED clignote le nombre de fois impliquée par la valeur binaire des deux interrupteurs. Note l’inversion de la valeur car un commutateur qui est « on » lit LO. Les commutateurs seront analysés en continu pour de nouveaux changements.Veuillez vous référer à Instructables antérieure par The Real Elliot en savoir plus sur blinkenlights. Jetez un oeil à cette http://www.ganssle.com/debouncing.pdf en savoir plus sur debouncing des interrupteurs.
Voici le code ATtiny2313 pour cet exemple. En fonctionnement, ce programme se mettra à clignoter la LED sur PB4 (physique Broche 8) deux fois de montrer qu’il est initialisé. Il va alors lire passe un et deux et cligner des yeux une à trois fois selon le réglage du commutateur chaque fois qu’ils sont modifiés. Lorsque les commutateurs ne changent pas, la LED clignote lentement.
Pour exécuter ce code, créez un nouveau répertoire (appelons-le « Basic » si vous le souhaitez) et télécharger le fichier suivant de code C et makefile dedans. Renommez Makefile1.txt en juste Makefile. À l’aide de WinAVR, compiler le programme et le charger dans votre ATtiny2313.