Travail Arduino Erwan Courel et Yassine Squalli Houssaini
Voici un rapport d'ensemble du travail réalisé en duo ( Yassine et Erwan ) sur Arduino.
1- LED qui clignote
Dans ce premier travail, il fallait avec Arduino faire clignoter une LED. Cela était utile pour comprendre le fonctionnement de ce système.
Voici le code utilisé pour que la LED clignote:
void setup() {
pinMode(2,OUTPUT); //Pin 2 en mode sortie
}
void loop() {
digitalWrite(2,HIGH); //On allume la LED
delay(1000); //Délais de 1sec
digitalWrite(2,LOW); // On éteint la LED
delay(1000); //délai de 1sec
}
Dans setup(), on indique que la broche 2 est une sortie (OUTPUT) : Arduino pourra y envoyer du courant.courant pour allumer la led.
La fonction loop() permet une boucle infinie
delay(1000) permet d'attendre 1 seconde - 1 click correspond à 1 milliseconde
La LED va s'allumeallumer pendant une seconde et s'éteintteindre une seconde
seconde.
Voici le montage associé:
Vidéo présentant le résultat:
2- Trois LED qui clignotent à des fréquences différentes
Après avoir compris le principe de programmation du système Arduino, il faalaitfallait maintenant faire clignoter trois LED à des fréquences différentes.
Voici le programme utilisé:
//Définition des pins des LEDS
int led_bleu = 2;
int led_jaune = 4;
int led_verte = 7;
//Définition des variables de temps précendents pour chaque LED
unsigned long preced_bleu = 0;
unsigned long preced_jaune = 0;
unsigned long preced_verte = 0;
// Intervalles en millisecondes
const long dureeAllumage = 1000; // Les led restent allumées 1s
const long periode_bleu = 3000; // S'allume toutes les 3s
const long periode_jaune = 5000; // S'allume toutes les 5s
const long periode_verte = 7000; // S'allume toutes les 7s
//Variable pour le temps actuelle
unsigned long actu;
void setup() {
pinMode(2,OUTPUT);
pinMode(4,OUTPUT);
pinMode(7,OUTPUT);
}
void loop() {
actu = millis();
//Gestion LED bleu
if (actu - preced_bleu >= periode_bleu) {
preced_bleu = actu;
}
if (actu - preced_bleu < dureeAllumage) {
digitalWrite(led_bleu, HIGH);
} else {
digitalWrite(led_bleu, LOW);
}
//Gestion LED jaune
if (actu - preced_jaune >= periode_jaune) {
preced_jaune = actu;
}
if (actu - preced_jaune < dureeAllumage) {
digitalWrite(led_jaune, HIGH);
} else {
digitalWrite(led_jaune, LOW);
}
//Gestion LED verte
if (actu - preced_verte >= periode_verte) {
preced_verte = actu;
}
if (actu - preced_verte < dureeAllumage) {
digitalWrite(led_verte, HIGH);
} else {
digitalWrite(led_verte, LOW);
}
}
Avec ce programme on peut faire clignoter les LED de façon indépendante.
Les LED (bleue, jaune, verte) sot sont branchées sur unedes brochebroches différente.rentes. Chaque LED s'allume 1 sec à des fréquences différentes
bleueBleue : toutes les 3 secondes
jauneJaune : toutes les 5 secondes
verteVerte : toutes les 7 secondes
millis() donne le temps écoulé depuis le démarrage de l’Arduino en millisecondes.
Les trois LED peuvent clignoter de manière indépendante.
Voici le montage associé:
Voici une vidéo présentant le travail:
3- LED avec capteur
L'objectif était à partir d'un capteur de distance deinfrarouge d'éteindre une LED lorsque le capteur détecte un signal,obstacle, le reste du temps la LED est allumée.
Voici le programme utilisé:
void setup() {
Serial.begin(9600); //Inialisaiton de la console pour lire
pinMode(12,INPUT); //Entrée du capteur
pinMode(13,OUTPUT); //Sortie qui allumera la LED
}
void loop() {
delay(1000); //Pause chaque seconde pour la détection
if(digitalRead(12)==LOW) { //Quand c'est 0 c'est qu'on détecte
Serial.println("Objet in range");
digitalWrite(13,LOW); // On allume la LED
}
else {
Serial.println("Objet out of range"); //Détection d'un objet sinon
digitalWrite(13,HIGH); //On allume
}
}
Dans setup(), on initialise (Serial.begin(9600)) pourcar c'est ce qui permet d'afficher des messages sur l’ordinateur,le logiciel d'Arduino, on définit la broche 12 en entrée (donnés du capteur) et la broche 13 en sortie (LED).
Dans loop(), le programme attend 1 seconde (delay(1000)), puis lit l’état du capteur avec (digitalRead(12).
Si la valeur est LOW, cela signifie qu’un objet est détecté : le message "Objet in range" est affiché et la LED s’allume.
Sinon, aucun objet n’est détecté : le message "Objet out of range" s’affiche et la LED s’éteint.
Voici une photo du montage:
Voici une vidéo du résultat:


