Ces 4 projets en Arduino simples vous permettront de bien vous lancer en électronique et en informatique embarquée. Les 4 projets sont simples et vous donneront les idées autres que celle que nous avons abordées jusqu’ici, car c’est la pratique qui sera mis en avant plan. Cette formation sur Arduino devient donc plus pratique peu à peu.

Projets simples avec Arduino

Tout comme dans ma précédente formation sur l’électronique où j’ai fait un premier article sur la pratique , ceci est aussi un article similaire pour vous permettre de vous plonger en Arduino , cette fois pratiquement. Les projets qui seront données sont simples et vous permettront d’avoir des nouvelles connaissances, cette fois en pratique comme dit précédemment.

Projet 1 : Les feux de circulation

C’est simple et tout le monde peut facilement mettre en place de système qui se trouve en ville pour coordonner la circulation routiere. Cet exercice vous permettra de mettre en pratique l’utilisation des variables que nous avons abordé précedement.

Le but de ce projet est de créer deux feux de signalisation et de les faire fonctionner de maniere synchrone comme sur cette image :

projet arduino feux de signalisation
Projet arduino feux de signalisation

Enfin, nous utiliserons deux variables temps_1 et temps_2pour définir les temps d’allumages. Avant de regarder
le code ci-bas, essaie d’imaginer l’exercice seul.

Code : feux de circulation

//  On  définit  les   variables   pour  chaque   broche  
//FEU  1  
const  int   R1  =   4;       //La  broche   4   devient  le  feu   rouge  1  
const  int   J1  =   5 ;        //La  broche   3   devient  le  feu   jaune  1  
const  int   V1  =   6 ;        //La  broche   2   devient  le  feu   vert  1  
//FEU2  
const  int   R2  =   8;       //La  broche   8   devient  le  feu   rouge  2  
const  int   J2  =   9;       //La  broche   9   devient  le  feu   jaune  2  
const  int   V2  =   10;      //La  broche   10  devient  le  feu   vert  2  
//TEMPS 
int   temps_1   =   2000;     //Le  temps  est   fixé  à   2   secondes  
int   temps_2   =   6000;     //Le  temps  est   fixé  à   6   s econdes 
 
void  setup()  {  
 
//On  initialise  les   sorties 
pinMode(R1,   OUTPUT);  
pinMode(J1,   OUTPUT);  
pinMode(V1,   OUTPUT);  
 
pinMode(R2,   OUTPUT);  
pinMode(J2,   OUTPUT);  
pinMode(V2,   OUTPUT);  
}  
 
void  loop()   {  
 
//Phase  1:  R1  et  V2  sont  allumés,   R2,   J1  et  J2  sont  éteint s  
digitalWrite(R2,   LOW);     //R2  éteint  
digitalWrite(J1,   LOW);     //J1  éteint  
digitalWrite(J2,   LOW);     //J2  éteint  
digitalWrite(R1,   HIGH);     //R1  allumé  
digitalWrite(V2,   HIGH);     //V2  allumé  
delay(temps_2);              //durée:   6'000  millisecondes,  s oit   6   secondes  
 
//Phase  2:  R1,   J1,   J2  allumés  et  V2  éteint  
digitalWrite(V2,   LOW);     //V2  éteint  
digitalWrite(J1,   HIGH);     //J1  allumé  
digitalWrite(J2,   HIGH);     //J2  allumé  
delay(temps_1);               //durée:   2'000   millisecondes,  soit  2   secondes  
 
//Phase   3:  R1,   J1,   J2  éteints  et  V1  et  R2  allumés 
digitalWrite(R1,   LOW);     //R1  éteint  
digitalWrite(J1,   LOW);     //J1  éteint  
digitalWrite(J2,   LOW);     //J2  éteint  
digitalWrite(V1,   HIGH);     //V1  allumé  
digitalWrite(R2,   HIGH);     //R2  allumé  
delay(temps_2); 
 
//Phase  4:  V1  éteint   et  J1,   J2  et  R2  allumés 
digitalWrite(V1,   LOW);     //V1  éteint  
digitalWrite(J1,   HIGH);     //J1  allumé  
digitalWrite(J2,   HIGH);     //J2  allumé  
digitalWrite(R2,   HIGH);     //R2  allumé  
delay(temps_1); 
}

Connections et Listes de composants

pour les composants de ce feu de signalisation, il faut :

A lire également :  Tout ce qu'il faut savoir sur la Carte Arduino.

2 LEDs rouges
2 LEDs jaunes ou oranges
2 LEDs vertes
6 résistances de 220 à 470 Ω

  • Feu 1:

LED rouge connectée sur la broche 4 et renommée R1
LED jaune connectée sur la broche 5 et renommée J1
LED verte connectée sur la broche 6 et renommée V1

  • Feu 2:

LED rouge connectée sur la broche 8 et renommée R2
LED jaune connectée sur la broche 9 et renommée J2
LED verte connectée sur la broche 10 et renommée V2

Projet 2 : Faire cligonter 10 fois une LED

L’exercice est simple et vous permettra de découvrir une notion importante sur les fonctions Arduino.

Le titre est clair, nous allons voir comment faire clignoter une LED 10 fois avec Arduino.

Code : Faire clignoter 10 fois une LED

déclaration des variables , broches,...
byte  compteur;      //On  d éfinit   la  variable   "compteur" avec type byte
const  int   led1=  13;      //On  renomme  la  broche   10  en  "led1"  
     

//  La  fonction   setup()  est   exécutée   en  premier  et  une   seule  fois
// au  démarrag e   du  programme 
 
void  setup()   
 
{                   
  pinMode( led1,   OUTPUT);     //  Initialise  la  broche   13  comme  sortie de l'Arduino     
   
  Serial.begin(9600);      //  Ouvre  le  port  série   à   9600  bauds 
   
//  Exécute  le  programme  entre  accolades  en  partant  de  zéro  et  en  incrémentant  à   chaque   fois  la 
valeur   de  +1:   0+1/2+1/3+1...  jusqu’à  ce  que   la  variable   “ compteur “   soit  égale  à   9   (plus  petit 
que   10).   
 
for(compteur=0  ;   compteur<10   ;   compteur++)    
 
  {           //  début  du  programme  exécuté  10  fois 
    digitalWrite(led1,   HIGH);   //  a llume  la  LED  
    delay(500);                //  attend   500ms 
    digitalWrite(led1,   LOW);  //  éteint   la  LED  
    delay(500);                //  attend   500ms 
  }  
}        //  fin   du  programme  exécuté  10  fois 
 
void  loop()   {          
}        //  vide,  car   program me  déjà  exécuté  dans  setup 

Dans le code ci-haut, j’ai utilisé aussi les boucles pour facilité mon exercice. Sur ce , je vous invite à lire le précédent article sur le langage Arduino si vous avez des difficultés là dessus.

A lire également :  Apprendre l'Arduino : Mettre en place l’environnement Arduino

La ligne suivante signifie :

byte compteur; 
/*
permet de créer une variable appelée compteur. 
Byte indique le type de la variable, c'est- à- dire le type de données que l'on 
pourra stocker dans cette variable. Comme nous l’avons déjà vu, le type byte 
permet de stocker des valeurs comprises entre 0 et 255.


*/

La ligne de déclaration de la borne

const int led 1= 13;

/*
permet de créer une constante (une variable) 
nommée led1 dans laquelle on stocke la valeur 13



*/

La ligne de la boucle for

for(compteur=0 ; compteur<10 ; compteur++)
/*
sert à faire varier la variable compteur de 0 à 9 
(en l'augmentant à chaque fois de 1: c'est ce que fait 
l'instruction compteur++) Regardons cette ligne d’un peu 
plus pr ès: f or(compteur=0 ; compteur<10 ; compteur++)

*/

La déclaration for est habituellement utilisée pour répéter un bloc d’instructions entourées de parenthèses. On l’utilise souvent avec un compteur incrémentiel, qui permet de terminer une boucle après un certain nombre de fois. La suite, à savoir compteur=0 ; compteur<10 ; compteur++ doit être compris comme suit: «la valeur de la variable compteur est comprise entre 0 et 9 (<10 signifie ” plus petit que 10″ ) et ajoute un à la valeur de compteur (c ’est le compteur++) ».

Projet 3 : Réaliser un chenillard 5 LED

Chenillard  ZesterDuSavoir projets simples arduino

Le chenillard est une application simple et intéréssante à faire pour bien assimiller les notions de base en langage Arduino. Cet exercice consistera à allumer une LED durant un temps T2, l’éteindra après un temps T2, allumer une suivante LED durant un temps T3, l’éteindre durant un autre temps T4, …ainsi de suite jusqu’à la nième LED ( tout depend de vous).

A lire également :  Apprendre l’Arduino : introduction en Arduino et en électronique pratique

Cette manière de faire , ou d’intépréter le fonctionnement ou exécution d’un programme, s’appelle organigramme. Puis loin, pour mieux comprendre cela, on passe par les représentations.

CodeSources chenillard 5 LED Arduino

Voici le programme que vous pouvez mettre en place pour obtenir ce fonctionnement , cité en haut :

// je declare les variables pour mes Leds
const int Led_1 = 2;
const int Led_2 = 3; 
const int Led_3 = 4;
const int Led_4 = 5;
const int Led_5 = 6;

 
void setup()
{
// Je definis les broches en sorties 
    pinMode(Led_1, OUTPUT); 
    pinMode(Led_2, OUTPUT); 
    pinMode(Led_3, OUTPUT); 
    pinMode(Led_4, OUTPUT);
    pinMode(Led_5, OUTPUT);
  
}
 

 
void loop()
{
// le coeur du programme c'est ici
    digitalWrite(Led_1, LOW);   //allumer Led_1
    delay(2500);             //attendre 2,5 secondes
    digitalWrite(Led_1, HIGH);  //on éteint L1
    digitalWrite(Led_2, LOW);   //on allume Led_2 en même temps que l'on éteint Led_1
    delay(1500);             //on attend 1,5 seconde
    digitalWrite(Led_2, HIGH);  //on éteint Led_2 et
    digitalWrite(Led_3, LOW);   //on allume immédiatement Led_3
    delay(4000);             // ...
    digitalWrite(Led_3, HIGH);
    digitalWrite(Led_4, LOW);
    delay(2000);
    digitalWrite(Led_4, HIGH);
    digitalWrite(Led_5, LOW);
    delay(6000);
   
}

Ce code est vraiment trop verbeux ( trop long) pour un type de fonctionnement. Bon, de base , c’est pour débuter. Mais en tout cas cil existe de simples codes pouvant faire la même chose en quelques lignes.

Projet 4 : Commande par Bouton poussoir

Cet exercice est simple : il vous permet de récuperer l’appui d’un bouton poussoir.

Un bouton poussoir est un petit composant électronique qui se comporte de base comme un fil conducteur, dans un cas comme fil sans coupure, dans un autre comme un fil conducteur coupé. C’est donc un élément d’entrée pour obtenir son état ( soit fermé ou ouvert). Pour ceci, on utilise d’une manière un peu plus autre que les leds que nous connections jusqu’ici aux sorties OUTPUT de l’Arduino.

projets simples arduino

CodeSource : Bouton poussoir avec Arduino

// Declaration des bornes de l'arduino
long portPushButton = 2;
long portLED = 13;
long etatPushButton = 13;


void setup() {
  Serial.begin(9600);
  // Initialisation
  pinMode(portPushButton, INPUT_PULLUP);
  pinMode(portLED, OUTPUT);
  

}

void loop() {
  // Corps du programme
  etatPushButton = digitalRead(portPushButton);

  Serial.println(etatPushButton)

/*
je passe par une condition if 
( si on a appuyer on allume la LED, dans l'autre cas elle reste éteinte
*/
  if (etatPushButton == HIGH){
    digitalWrite(portLED, HIGH);
  } else { digitalWrite(portLED, LOW);
    
  }
 
}

C’est fait ! Vous avez des questions ? ou des suggestions quant à ces projets Arduino simples, laissez moi un message en commentaire, je vous donnerai plus d’informations dans la mesure du possible !

Merci, A la prochaine !

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici