~~NOTOC~~ ======Maquette serrure codée 2eme version====== {{ :digicode.jpg?200|}}{{ :maquette_keypad_attiny1616.jpg?200|}} Il s'agit toujours de commander une gâche électrique (servomoteur)à partir d'un clavier numérique 16 touches. Cette fois, le clavier n'est pas matriciel mais série. Il n'utilise donc que 2 fils (RX et TX) pour transmettre les données (codes 225 à 236). \\ Les codes saisies sont stockés par le clavier jusqu'à leur lecture. s'il n'y a aucun code à lire, la valeur -1 est retournée. =====Composition===== ===Matériel=== * [[Uno|Carte Arduino Uno]] * Shield Arduino * [[keypad_attiny1616|Clavier sensitif Keypad ATtiny1616]] * Led rouge et Led verte Ø5 mm * [[sg90|Servomoteur DGservo 9g]] * Câbles * Platine support ===Logiciel=== {{ :connexions.jpg?200|Cliquer pour agrandir}} Programme réalisé avec [[mblock|mBlock]] pour la carte Arduino Uno nécessite les extensions : * uBrick.Serial (de u238) * STRINGS (de Santiagoluria) ===Branchements=== ^ ARDUINO ^ Keypad ^ Servo ^ LED ^ | 3 | | Orange | | | 4 | TX | | | | 5 | RX | | | | 5 | | | Rouge | | 6 | | | Verte | | GND | GND | Noir | Cathode | | 5V | VCC | Rouge | | =====Activités===== Analyser le programme suivant et le compléter pour déverrouiller la serrure si le code est bon. {{ :programme_initial.jpg?800 |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. ++++