DOMOTIQUE 4EMES - PROGRAMMATION ARDUINO
3° PARTIE - LES ENTREES
Problématique :
DÉTECTER LA VARIATION DE LA VALEUR D'UN ACTIONNEUR RELIÉ SUR UNE ENTREE DE LA PLATINE ARDUINO. LES TESTS : IF <--> ELSE
Noms des élèves du groupe Classe ou groupe Choisissez 41 412 42 423 43 434 44 445 45 456 46 467 47 478 48 489 49
1 - Brochage de la platine "Affichage 8 dels"
Sur cette platine, les entrées sont reliées sur les broches (pattes) 10 - 11 - 12 - 13 de la platine Arduino
Sur cette platine, les sorties sont reliées sur les broches 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 de la platine Arduino
2 - Initialisation du programme (setup)
Le programme commencera obligatoirement les lignes ci-dessous
PinMode (XX,INPUT) permet d'initialiser la broche XX en ENTREE
PinMode (XX,OUTPUT) permet d'initialiser la broche XX en SORTIE
digitalWrite (XX,LOW) permet de mettre la broche XX à 0V (La Del sera éteinte) digitalWrite (XX,HIGH) permet de mettre la broche XX à 0V (La Del sera allumée)
3 - Lecture de la valeur d'une entrée.
Pour lire la valeur d'une entrée nous allons utiliser la fonction digitalRead(BrocheXX)
Exemple d'un programme simple : On veut que la DEL n°0 s'allume lorsque l'on appuie sur le bouton poussoir relié à la broche 10. Lorsque l'on relâche le bouton poussoir, la diode s'éteint.
if (digitalRead( 10)) { --> Lecture de la broche 10 pour savoir si le bouton est appuyé - (note : if = si)
digitalWrite( 0 , HIGH ); --> si le bouton poussoir 10 est appuyé, allumage diode 0 } --> on ferme le "if" else { --> else = si non c'est à dire dans notre cas si le bouton poussoir n'est pas ou n'est plus appuyé
digitalWrite( 0 , LOW ); --> on éteint la DEL n°0 } --> on ferme le "else" } --> on ferme la boucle et on revient au début du loop
4 - Test du programme
4-1 - Lancez le logiciel Arduino (Bouton Démarrer --> Tous les programmes --> Pédagogie --> Technologie --> Arduino)
4-2 - Copiez/Collez tout le programme ci-dessus dans la fenêtre d'édition du logiciel
(Attention copiez uniquement le texte, pas le cadre)
4-3 - Testez le programme. Si le résultat n'est pas satisfaisant, renouvelez l'opération...
void setup() { pinMode( 10 , INPUT); pinMode( 11 , INPUT); pinMode( 12 , INPUT); pinMode( 13 , INPUT); pinMode( 0 , OUTPUT); pinMode( 1 , OUTPUT); pinMode( 2 , OUTPUT); pinMode( 3 , OUTPUT); pinMode( 4 , OUTPUT); pinMode( 5 , OUTPUT); pinMode( 6 , OUTPUT); pinMode( 7 , OUTPUT); digitalWrite( 0 , LOW ); digitalWrite( 1 , LOW ); digitalWrite( 2 , LOW ); digitalWrite( 3 , LOW ); digitalWrite( 4 , LOW ); digitalWrite( 5 , LOW ); digitalWrite( 6 , LOW ); digitalWrite( 7 , LOW ); } void loop() { if (digitalRead( 10)) { digitalWrite( 0 , HIGH ); } else { digitalWrite( 0 , LOW ); } }
Explique par un petit texte le résultat obtenu.
5 - Modification du programme A partir du programme étudié que vous retrouvez ci-dessous, apportez les modification nécessaires afin que le programme réponde au cahier des charges suivant : On veut que les DELs n°0-1-2-3-4-5-6-7 s'allument lorsque l'on appuie sur le bouton poussoir relié à la broche 11. Lorsque l'on relâche le bouton poussoir, toutes les diodes s'éteignent. void setup() { pinMode( 10 , INPUT); pinMode( 11 , INPUT); pinMode( 12 , INPUT); pinMode( 13 , INPUT); pinMode( 0 , OUTPUT); pinMode( 1 , OUTPUT); pinMode( 2 , OUTPUT); pinMode( 3 , OUTPUT); pinMode( 4 , OUTPUT); pinMode( 5 , OUTPUT); pinMode( 6 , OUTPUT); pinMode( 7 , OUTPUT); digitalWrite( 0 , LOW ); digitalWrite( 1 , LOW ); digitalWrite( 2 , LOW ); digitalWrite( 3 , LOW ); digitalWrite( 4 , LOW ); digitalWrite( 5 , LOW ); digitalWrite( 6 , LOW ); digitalWrite( 7 , LOW ); } void loop() { if (digitalRead( 10)) { digitalWrite( 0 , HIGH ); } else { digitalWrite( 0 , LOW ); } } 6 - Le téléversement du programme dans le module Arduino 6-1 - Lancez le logiciel Arduino (Bouton Démarrer --> Tous les programmes --> Pédagogie --> Technologie --> Arduino) 6-2 - Copiez/Collez tout le programme ci-dessus dans la fenêtre d'édition du logiciel (Attention copiez uniquement le texte, pas le cadre) 6-3 - Testez le programme. Si le résultat n'est pas satisfaisant, modifiez votre programme... Le programme a-t'il fonctionné du premier coup ? Choisissez... OUI NON Si non, avez-vous réussi à le corriger ? Choisissez... OUI NON Et dans ce cas, d'où venait le problème ? Appelez le professeur pour lui montrer que vous avez réussi. Validez une seule fois et attendez pour enregistrer correctement votre travail.
5 - Modification du programme
A partir du programme étudié que vous retrouvez ci-dessous, apportez les modification nécessaires afin que le programme réponde au cahier des charges suivant :
On veut que les DELs n°0-1-2-3-4-5-6-7 s'allument lorsque l'on appuie sur le bouton poussoir relié à la broche 11. Lorsque l'on relâche le bouton poussoir, toutes les diodes s'éteignent.
6 - Le téléversement du programme dans le module Arduino
6-1 - Lancez le logiciel Arduino (Bouton Démarrer --> Tous les programmes --> Pédagogie --> Technologie --> Arduino)
6-2 - Copiez/Collez tout le programme ci-dessus dans la fenêtre d'édition du logiciel
6-3 - Testez le programme. Si le résultat n'est pas satisfaisant, modifiez votre programme...
Le programme a-t'il fonctionné du premier coup ? Choisissez... OUI NON
Si non, avez-vous réussi à le corriger ? Choisissez... OUI NON
Et dans ce cas, d'où venait le problème ?
Appelez le professeur pour lui montrer que vous avez réussi.
Validez une seule fois et attendez pour enregistrer correctement votre travail.