Arduino : Girophare (D.U USETIC)

Page 1

LE LED GIROPHARE

Projet ARDUINO DU USETIC

Elaboré par : Myriam BEC & Sylvain BRUNERIE


Présentation du projet :

Objectif du projet pédagogique. -

utiliser le langage de programmation « C » commander avec du code de programmation, l’alimentation de LEDs et de boutonspoussoir utiliser une breadboard et un ARDUINO câbler

Pré-requis : Niveau débutant (Initiation) à la programmation sous ARDUINO Schéma de présentation du montage


Matériel utilisé : Un ARDUINO

 

Un PC

Bouton poussoir A Bouton poussoir B

Une Breadboard

4 LEDs vertes et 1 LED rouge 2 résistances de 10 kΩ 5 résistances de 220Ω 7 câbles de prototypage

2 câbles de prototypage

2 autres câbles de prototypage de petite taille


Objectif visé : Recréer avec des LEDs des effets gyrophares.

Procédé utilisé : Suivant l’utilisation des boutons-poussoirs 3 effets de LEDs sont générés : -

1er effet : en appuyant sur le bouton A, la LED rouge s’éteint puis un point lumineux passe d’une LED verte à l’autre, dans le sens des aiguilles d’une montre.

-

2ème effet : en appuyant sur le bouton B, la LED rouge s’éteint puis un point lumineux passe d’une LED verte à l’autre, dans le sens inverse des aiguilles d’une montre.

-

3ème effet : en appuyant simultanément sur les boutons A & B, la LED rouge s’éteint puis les quatre LEDs vertes s’allument simultanément.

Le code : Chaque programme ARDUINO à deux fonctions principales : setup () et loop () . Le setup() est exécuté une seule fois au moment où l’ARDUINO s’allume. Le loop() (boucle) se répète continuellement après que le setup() se soit exécuté.

void setup () { } void loop () { }

{accolades} : Le code écrit entre les accolades sera exécuté lors de l‘appel de la fonction. Déclarer les variables « switchStateA » et « switchStateB » avec la valeur numérique 0 La déclaration de la variable, comme chaque commande, se termine avec un point-virgule (;) Le type de données int contiendra n’importe quel nombre entier.

int switchStateA = 0; int switchStateB = 0;


Configuration des broches numériques pour être soit des entrées, soit des sorties en utilisant la fonction appelée : pinMode Les broches connectées aux LEDs seront des sorties (OUTPUT) et l’interrupteur sera une entrée (INPUT).

void setup(){ pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT); pinMode(2, INPUT); pinMode(10, INPUT); }

La loop () est l’endroit où vous void loop(){ regarderez ce qu’il se passe sur switchStateA = digitalRead(2); les entrées, et où vous mettrez les switchStateB = digitalRead(10); sorties à l’état haut ou bas. Pour vérifier le niveau de tension des broches nous utiliserons la fonction digitalRead(2), (le chiffre entre parenthèse correspond à la sortie utilisée pour le câblage au niveau de la broche de l’ARDUINO). Cette valeur sera stockée dans la variable switchStateA. L’instruction if () permet de vérifier l’état des deux interrupteurs. Lorsque l’on compare deux choses en programmation, ont utilise deux signes ==. Si vous n’en mettez qu’un seul vous attribueriez une valeur à une variable au lieu de la comparer. L’opérateur && signifie « ET » digitaWrite() est la commande qui vous permet d’envoyer 5V ou 0V à une sortie numérique. Deux arguments peuvent être utilisée : - LOW : envoyer 5V HIGH : envoyer 0V Pour insérer un commentaire il faut le précéder de deux slaches //.

// boutons A & B appuyes if (switchStateA == LOW && switchStateB== LOW) { digitalWrite(3, HIGH); //led rouge digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, LOW); }


L’instruction if () peut être complétée par un else (sinon) qui // bouton A appuye permet qu’autre chose se passe si else if (switchStateA== HIGH && switchStateB == la première condition n’est pas LOW){ remplie. digitalWrite(3, LOW); //lampe rouge eteinte digitalWrite(4, HIGH); //4 allumee L’instruction delay () digitalWrite(5, LOW); //5 eteinte digitalWrite(6, LOW); //5 eteinte digitalWrite(7, LOW); //5 eteinte delay(250); digitalWrite(4, LOW); //4 allumee digitalWrite(5, HIGH); //5 eteinte digitalWrite(6, LOW); //5 eteinte digitalWrite(7, LOW); //5 eteinte delay(250); digitalWrite(4, LOW); //4 allumee digitalWrite(5, LOW); //5 eteinte digitalWrite(6, HIGH); //5 eteinte digitalWrite(7, LOW); //5 eteinte delay(250); digitalWrite(4, LOW); //4 allumee digitalWrite(5, LOW); //5 eteinte digitalWrite(6, LOW); //5 eteinte digitalWrite(7, HIGH); //5 eteinte delay(250); } // bouton B appuye else if (switchStateA== LOW && switchStateB == HIGH) { digitalWrite(3, LOW); //lampe rouge eteinte digitalWrite(4, LOW); //4 allumee digitalWrite(5, LOW); //5 eteinte digitalWrite(6, LOW); //5 eteinte digitalWrite(7, HIGH); //5 eteinte delay(250); digitalWrite(4, LOW); //4 allumee digitalWrite(5, LOW); //5 eteinte digitalWrite(6, HIGH); //5 eteinte digitalWrite(7, LOW); //5 eteinte delay(250); digitalWrite(4, LOW); //4 allumee digitalWrite(5, HIGH); //5 eteinte digitalWrite(6, LOW); //5 eteinte digitalWrite(7, LOW); //5 eteinte delay(250);


digitalWrite(4, HIGH); //4 allumee digitalWrite(5, LOW); //5 eteinte digitalWrite(6, LOW); //5 eteinte digitalWrite(7, LOW); //5 eteinte delay(250); } // boutons A & B appuyes else if (switchStateA== HIGH && switchStateB == HIGH){ digitalWrite(4, HIGH); //4 allumee digitalWrite(5, HIGH); //5 eteinte digitalWrite(6, HIGH); //5 eteinte digitalWrite(7, HIGH); //5 eteinte delay(250); } }



Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.