Maquette serrure codée (Digicode)

Matériel

Carte Arduino Uno

Shield Arduino

Clavier sensitif Keypad ATtiny1616

Led rouge et Led verte Ø5 mm

Servomoteur DGservo 9g

Câbles

Platine support

Logiciel

Programme réalisé avec mBlock pour la carte Arduino Uno nécessite les extensions :

uBrick.Serial (de u238)

STRINGS (de Santiagoluria)

Pins utilisées :

4 et 5 - Clavier ATtiny1616 (TX, RX)

6 - Led rouge

7 - Led verte

3 - Servomoteur d'ouverture porte

Activités

Analyser le programme suivant et le compléter pour déverrouiller la serrure si le code est bon. Cliquer pour agrandir

1 - Transcodage du code des touches

Modifier la boucle principale pour

allumer la led verte et éteindre la led rouge si le code saisie est le bon

allumer la led rouge et éteindre la led verte si le code saisie est mauvais

Modifier le sous-programme “Lecture touche” pour modifier le code lu en code ASCCI de la touche.

Coup de pousse

Si la valeur lu est -1 c'est qu'aucune touche n'a été activé. Retourner le code ASCII 32 (espace) ou 0 (NULL)

Le code ASCCI des touches 1 à 9 se trouve en faisant une soustraction

Pour *, 0, #, il faudra 3 tests (Si) pour indiquer le bon code ASCII

Tester le programme et le montrer au professeur lorsqu'il fonctionne.

2 - Déverrouillage serrure

Lorsque le programme fonctionne la led rouge seule doit être allumée et le serrure verrouillé (servo à 0°)

Si le bon code est fourni, la led verte s'allume et la serrure se déverrouille (servo à 90°) pendant 3 secondes.

Sinon la serrure reste verrouillé et la led rouge flashe (s'éteint 1.2s)

Coup de pousse

Penser à l'initialisation des LEDs et du servo (état au démarrage).

Penser que rien ne change d'état sans recevoir un ordre.