gestion d’un feu tricolorekastlernumerique.fr/wp-content/uploads/2018/01/arduino.docx · web...
TRANSCRIPT
Formation ARDUINO –ISN Mise en Œuvre et programmation
Initiation micro-controleur Arduino
1. MISE EN ŒUVRE DE PROGRAMMES SIMPLES SUR ARDUINO1.1. Montage
1.2. Commande d’une ledOn se propose d’allumer la led LED5 connectée à la broche 5 de la carte ARDUINO
Algorithme : Début
Nommer la broche 5 « led »Configurer la broche 5 en sortieRépéter
Allumer ledJusqu’à l’infini
Fin
Lancer le logiciel ARDUINO Enregistrer votre programme sous le nom led.ino Saisir le programme
Attention, un programme sous Arduino doit toujours comporter : une partie void setup ( ) : initialisation de l’arduino exécutée qu’une seule fois une partie void loop() : programme principale exécuté en boucle
Page 1 sur 7
Formation ARDUINO –ISN Mise en Œuvre et programmation
Compiler le programme
Si toutefois des erreurs existent, elles sont indiquées en bas de la fenêtre.Il faudra dans ces conditions les corriger puis recompiler votre programme.
Connecter la carte ARDUINO au PC via un câble USB Choisir le bon type de carte
Choisir le bon port de communication
Transférer le programme dans la carte ARDUINO
Vérifier le fonctionnement de votre programme en observant la led D5
Page 2 sur 7
Formation ARDUINO –ISN Mise en Œuvre et programmation
1.3. Clignotement d’une led à une fréquence de 1 Hz Algorithme : Début
Nommer la broche 5 « led » Configurer la broche 5 en sortie Répéter
Allumer led Attendre 500 ms Eteindre led Attendre 500 ms
Jusqu’à l’infini Fin
Modifier votre programme précédent et vérifier son bon fonctionnement. La fonction delay(ms) permet d’effectuer des temporisations. Le paramètre doit être exprimé en millisecondes.
1.4. Commander la led suivant l’appui sur un bouton poussoirAlgorithme :
DébutNommer la broche 5 « led »Nommer la broche 10 « bp »Configurer la broche 5 en sortieConfigurer la broche 10 en entréeRépéter
Si (bp est appuyé) alors faire clignoter led sinon éteindre led
Jusqu’à l’infiniFin
Saisir le programme suivant Compiler, télé verser et vérifier
le bon fonctionnement de votre programme
Page 3 sur 7
Formation ARDUINO –ISN Mise en Œuvre et programmation
1.5. Lire une valeur analogique et transmettre sa conversion numérique au moniteur série ARDUINO
Dans le programme précédent : insérer dans le void setup ( ) et le void loop ( ) les lignes de programme suivantes void setup() { Serial.begin(57600) ; }
Void loop () { Serial.println(digitalRead(bp)) ; }
Compiler, télé verser votre programme
Ouvrir le moniteur série
Régler la vitesse de communication à 57600 bauds
Repérer les valeurs possibles 1 et 0 lues sur la broche 10.
2. MISE EN ŒUVRE DU PROGRAMME - Feu tricolore
Algorithme feu tricolore :
Page 4 sur 7
Formation ARDUINO –ISN Mise en Œuvre et programmation Début
Nommer les brochesConfigurer les brochesRépéter
Si (bp est appuyé) Allumer 3 s le feu vert Allumer 1s le feu orange en le faisant clignoter Allumer 3 s le feu rouge
Jusqu’à l’infiniFin
Algorithme feu tricolore + barrière passage à niveau: Ajouter un servo moteur qui simulera la fermeture d’une barrière au feu orange:
#include<Servo.h>Servo monservo;
void setup() { monservo.attach(8); // sortie 8 par exemple }
void loop() { monservo.write(0) ; // valeur de l’angle de 0 à 180° }
Algorithme feu tricolore + barrière passage à niveau + signal sonore: #define buzzer 9 // Nom donné à la broche 9
void loop() { tone(buzzer,650); // son de fréquence 650 Hz delay(100); // durée 100 ms noTone(buzzer); // silence
}
Page 5 sur 7
Formation ARDUINO –ISN Mise en Œuvre et programmation
Exemples de projets : le chenillard Ce programme allume les leds les unes après les autres.
Remarque : pour simplifier vos lignes de codes, vous pouvez utiliser des tableaux.
Page 6 sur 7
Formation ARDUINO –ISN Mise en Œuvre et programmation
3. Capter une information d’un capteur et afficher à l’écran sa valeur3.1. Acquérir une donnée
Les entrées analogiques de l'Arduino sont notées A0, A1, A2, A3, A4, et A5. Arduino transformera la tension analogique reçue en signal numérique compris entre 0 et 1023.
Connexion d'un potentiomètre au pin A0 de l'Arduino:
3.2 Application : Le chenillard clignotant à vitesse variable
Vous avez dans le montage précédent, fait clignoter des leds. Concevoir un programme qui permet de contrôler la vitesse de clignotement des leds.
Remarque : Le mappage de valeurs peut vous être utile présente sous cette forme :
int valchangee = map(valeurPot,0,1023,0,5); // adapte la valeur 0 – 1023 en 0 – 5
Page 7 sur 7