Tags:
tag this topic
create new tag
view all tags
---+ Shift Register ---++ Introduction Le registre à décalage (shift register) est expliqué dans la page [[74HC595]]. ---++ Exercice 1 : Bien étudier la fiche technique du registre à décalage 74HC595. Designer un schéma de câblage de la barre à !LEDs, avec 2 registres à décalage 74HC595 et les pins GPIO du ESP32. Toutes les 10 !LEDs doivent être accessibles. Faire les connexions nécessaires sur la planche d’expérimentation. Cette partie est la plus difficile de l’exercice ! Vérifier que toutes les connexions sont correctes. Il y aura pas mal de câbles ! <img alt="sevenSeg1DigitPinout.png" height="683" src="%ATTACHURL%/sevenSeg1DigitPinout.png" title="sevenSeg1DigitPinout.png" width="1024" /> ---++ Exercice 2 : Écrire une classe <b>ShiftReg </b>qui contrôle la barre à !LEDs via le registre à décalage. La classe doit avoir les méthodes suivantes : * <p><b>__</b><b>init__(</b>self,serial_in = 18, serial_clk = 19, register_clk=5, clr = 23)<br /> les chiffres correspondent aux pins GPIO et dépendent du schéma ;</p> * <p><b>enable_output</b>(self,yesno) : contrôle le pin « output enable » G. Si _yesno_ est _True_ les signaux de sortie sont activés, sinon ils sont en haute impédance ;</p> * <p><b>pulse_ser_clock</b>(self) : Génère une impulsion sur le pin SCK et fait entrer le bit de donnée dans le registre à décalage. Les bits entrés précédemment sont décalés d’une position ;</p> * <p><b>transfer2reg</b>(self) : Transfère les données du registre à décalage vers le registre de sortie ;</p> * <p><b>shift</b>(self,data_bit): Entrer un bit dans le registre à décalage et décaler tous les bits entrés précédemment. Transférer la nouvelle valeur vers le registre de sortie pour être visible sur la barre à !LEDs ;</p> * <p><b>clear</b>(self) : Éteindre toutes les !LEDs ;</p> * <p><b>display_val</b>(self.val) : Afficher la valeur <i>val </i>en binaire sur les !LEDs.</p> ---++ Exercice 3 : Écrire un programme de test qui démontre le bon fonctionnement de toutes ces méthodes. ---++ Exercice 4: * Écrire un programme qui appelle <b>shift</b>(self,data_bit) 10 fois avec data_bit = 1. (Faire allumer les !LEDs une à une, à partir de la LED de droite). * Une fois que toutes les !LEDs sont allumées, faire la même chose avec data_bit = 0. Éteindre toutes les !LEDs une à une, à partir de la LED de droite. * Allumer toutes les !LEDs d’un seul coup, et les éteindre toutes, d’un seul coup. * Faire allumer chaque deuxième LED à partir de la première, ensuite, à partir de la deuxième LED. * Implémenter l’algorithme « 15.1_Flowing_Water_Light» de Freenove. -- %USERSIG{UliRaich - 2021-06-28}% ---++ Comments %COMMENT%
Attachments
Attachments
Topic attachments
I
Attachment
History
Action
Size
Date
Who
Comment
png
sevenSeg1DigitPinout.png
r1
manage
1013.3 K
2021-06-28 - 10:02
UliRaich
E
dit
|
A
ttach
|
Watch
|
P
rint version
|
H
istory
: r1
|
B
acklinks
|
V
iew topic
|
Ra
w
edit
|
M
ore topic actions
Topic revision: r1 - 2021-06-28
-
UliRaich
Home
Site map
AFNOG web
Embedded_Systems web
IoT_Course_English web
IoT_Course_French web
Main web
Sandbox web
TWiki web
IoT_Course_French Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
View
Raw View
Print version
Find backlinks
History
More topic actions
Edit
Raw edit
Attach file or image
Edit topic preference settings
Set new parent
More topic actions
Account
Log In
Register User
E
dit
A
ttach
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback