(Page créée avec « {{avertissement}} {{vidéo|numérovidéo = <videoflash type="mediaspip" num = 1>entrer ici l'URL de la vidéo en flash sur http://mediaspip.ptitdeb.infini.fr|400|300</videofl… ») |
|||
Ligne 58 : | Ligne 58 : | ||
</pre> | </pre> | ||
- | Certains capteurs renvoie 1 quand on appuie dessus, d'autre 0. Le code a été fait avec un qui | + | Certains capteurs renvoie 1 quand on appuie dessus, d'autre 0. Le code a été fait avec un qui renvoyait 0, d'où le "LOW". Dans le cas où un capteur renverrait 1, il faudrait remplacer LOW par HIGH. |
Pour le vérifier, téléversez ce code : | Pour le vérifier, téléversez ce code : | ||
Ligne 97 : | Ligne 97 : | ||
== '''Applications : liens avec le quotidien''' == | == '''Applications : liens avec le quotidien''' == | ||
- | On a ici l'explication du fonctionnement d'un | + | On a ici l'explication du fonctionnement d'un certain nombre d'interrupteur. |
== '''Lieux propices à sa réalisation''' == | == '''Lieux propices à sa réalisation''' == |
Sommaire |
On cherche ici à allumer ou éteindre une LED à l'aide d'un bouton poussoir, de façon à simuler un interrupteur comme on en trouve un peu partout.
On relie :
A noter : la plupart des boutons ont 4 pattes : elles sont reliées 2 à 2.
On colle ensuite un servomoteur d'un côté du support et le second de l'autre côté (par exemple avec du double face ou avec de la colle).
int button = 2; //broche où on liera la valeur renvoyée par le capteur int led = 12; //broche où est reliée la cathode de la LED int etat; //variable où on stockera l'état du bouton int compteur = 0; //variable permettant de savoir si on éteint ou allume la LED void setup() { pinMode(button, INPUT); //on créé une entrée : on reçoit l'état du bouton pinMode(led, OUTPUT); //on créé une sortie : on donne l'état de la LED } void loop() { etat = digitalRead(button); //On lit l'état du bouton if(etat==LOW) { //voir plus bas pour cette ligne compteur++; //on ajoute 1 à "compteur" } if(compteur&1) { //si compteur est impaire, on allume digitalWrite(led,HIGH); } else { //sinon, on éteint digitalWrite(led,LOW); } delay(100); //on attend pour ne pas surcharger la carte }
Certains capteurs renvoie 1 quand on appuie dessus, d'autre 0. Le code a été fait avec un qui renvoyait 0, d'où le "LOW". Dans le cas où un capteur renverrait 1, il faudrait remplacer LOW par HIGH.
Pour le vérifier, téléversez ce code :
int button = 2; //broche où on liera la valeur renvoyée par le capteur void setup() { pinMode(button, INPUT); //on créé une entrée : on reçoit l'état du bouton Serial.begin(9600); } void loop() { etat = digitalRead(button); //On lit l'état du bouton Serial.println(etat); delay(100); //on attend pour ne pas surcharger la carte }
Puis ouvrez le moniteur série (bouton en haut à droite) et réglez le débit par rapport à celui du code (en bas à droite), ici 9600 bits/secondes. Ensuite appuyez pour voir la différence de résultat.
Au niveau du montage, vous pouvez garder le même que celui tout en haut.
On voit que si on appuie, la LED s'allume (elle est par défaut éteinte) et que si on rappuie une seconde, elle s'éteint.
Le bouton va couper l'arrivée du courant ou au contraire la permettre. De ce fait, on peut vérifier son état (si le courant passe ou non) et ainsi savoir si on envoie du courant ou non dans la LED.
On a ici l'explication du fonctionnement d'un certain nombre d'interrupteur.
Plutôt dans un atelier avec des ordinateurs disposant du logiciel arduino.
© Graphisme : Les Petits Débrouillards Grand Ouest (Patrice Guinche - Jessica Romero) | Développement web : Libre Informatique