Vous êtes sur la page 1sur 10

ISET-Sousse 2020/2021

Exemples de montages et programmes Arduino

I. LED

But : Allumer ou éteindre une LED selon le schéma électrique suivant :

Pour réaliser ce montage, nous aurons besoin de :

• Un Arduino
• Une plaque d’essai
• Une résistance de 170Ω
• Une LED de votre couleur préférée connecté à la pin D13 de l’Arduino
• Quelques fils de prototypage

La LED est connectée à D13

1
ISET-Sousse 2020/2021

Code source

int pinLed=13; //variable pour le numéro du pin utilisé

void setup()

pinMode(pinLed,OUTPUT); //le pin 13 en mode sortie de courant

void loop()

digitalWrite(pinLed,HIGH); // on passe le pin à +5V

delay (1000); // attendre 1 seconde

digitalWrite(pinLed,LOW); // on passe le pin à 0V

delay(1000);

II. Feu de carrefour

Pour allumer trois LEDs, on utilise les résistances suivantes :

LedR >>R = ( 5 - 1,6 ) / 0,02 = 170 Ohms


LedG >>R = ( 5 –2,1 ) / 0,02 = 145 Ohms
LedO >>R = ( 5 –2,1 ) / 0,02 = 145 Ohms

2
ISET-Sousse 2020/2021

Code source
int ledR = 3;
int ledG = 4;
int ledO = 5;

void setup()
{
// initialize the digital pin as an output.
pinMode(ledR, OUTPUT);
pinMode(ledG, OUTPUT);
pinMode(ledO, OUTPUT);
}
void loop()
{
digitalWrite(ledR, HIGH); // allumer la led rouge
delay(1000); // attendre 1 seconde
digitalWrite(ledR, LOW); // eteindre la led rouge
delay(1000); // attendre 1 seconde

digitalWrite(ledG, HIGH); // allumer la led verte


delay(1000); // attendre 1 seconde
digitalWrite(ledG, LOW); // eteindre la led verte
delay(1000); // attendre 1 seconde

digitalWrite(ledO, HIGH); // allumer la led orange


delay(1000); // attendre 1 seconde
digitalWrite(ledO, LOW); // eteindre la led orange
delay(1000); // attendre 1 seconde
}

III. Lecture d’une entrée numérique via un bouton poussoir

But : Allumer ou éteindre deux LEDs selon l’appui d’un bouton poussoir.

3
ISET-Sousse 2020/2021

Le bouton poussoir est connecté à la pin 2 suivant ce circuit :

Code source

/*
le bouton poussoir est connecté au pin 2 avec une résistance pull-down de 10KΩ
les LED sont connectées au pins 4 et 6 avec des résistances de 220Ω
*/
//déclaration des variables
int pinBouton;
int pinLed1, pinLed2;

void setup()
{
//initialisation des variables
pinBouton = 2;
pinLed1 = 4;
pinLed2 = 6;
//définition des modes

4
ISET-Sousse 2020/2021

pinMode(pinBouton, INPUT); //mode lecture pour le bouton


pinMode(pinLed1, OUTPUT); //mode écriture pour led1
pinMode(pinLed2, OUTPUT); //mode écriture pour led2
}

void loop()
{
//lecture de l'état du bouton et stockage dans etatBouton
boolean etatBouton = digitalRead(pinBouton);
//test des conditions
if (etatBouton==HIGH)//test si bouton appuyé
{
digitalWrite(pinLed1,LOW); //led1 éteinte
digitalWrite(pinLed2,HIGH); //led2 allumée
}
if (etatBouton==LOW)//test si bouton levé
{
digitalWrite(pinLed1,HIGH); //Led1 allumée
digitalWrite(pinLed2,LOW); //led2 éteinte
}
delay(100); //petite attente
}

IV. Lecture d’une entrée analogique avec un potentiomètre

But : Lecture de la valeur d’un potentiomètre.

Le potentiomètre est connecté à la pin A0 suivant ce circuit :

On pourra récupérer la valeur du potentiomètre et s’en servir comme temps d'attente pour
l'allumage et l'extinction d’une Led

5
ISET-Sousse 2020/2021

Code source

int pinPot=0; //variable pour le CAN utilisé

int valPot=0; //variable qui va stocker la tension lue. On l'initialise à 0.

int pinLED=8; // pin de connexion de la LED

void setup()

pinMode(pinLED,OUTPUT); //Mode OUTPUT pour le pin de LED

digitalWrite(pinLED,HIGH);//On allume la LED

void loop()

6
ISET-Sousse 2020/2021

valPot=analogRead(A0); //lit la valeur de tension, la transforme et la stocke dans la variable

int attente=valPot; //le délai d'attente est la valeur du potentiomètre

digitalWrite(pinLED,HIGH); //on allume la LED

delay(attente); //on attend en fonction de la variable attente

digitalWrite(pinLED,LOW); //on éteint la LED

delay(attente); //on attend


}

V. Photorésistance

But: On va maintenant utiliser la carte Arduino pour afficher la valeur d’une LDR en
pourcentage.
La photorésistance est une résistance qui varie en fonction de la luminosité. La carte renvoie
un nombre compris entre 0 (absence de lumière) et 1023 (luminosité maximum). Le principe
est assez simple : plus il y a de lumière, plus la résistance est basse. L'obscurité provoque
une résistance importante.

7
ISET-Sousse 2020/2021

Schéma électrique du montage :

8
ISET-Sousse 2020/2021

Code source

int pinPR=A0; //pin de connexion pour la photorésistance


int valMin=1024; // on initialise la valeur minimale au plus haut
int valMax=0; // et la valeur maximale au plus bas

void setup()
{
Serial.begin(9600);
}

void loop()
{
int valeur=analogRead(pinPR); // on lit la valeur transmise par la photorésistance
if (valeur>valMax) //on compare avec valMax
valMax=valeur; // on modifie valMax
if (valeur<valMin) // on compare avec valMin
valMin=valeur; // on modifie valMin
int pourcentage=map(valeur,valMin,valMax,0,100); //pourcentage entre les bornes

9
ISET-Sousse 2020/2021

//Séquence d'affichage
Serial.print("Valeur : ");
Serial.print(valMin);
Serial.print(" < ");
Serial.print(valeur);
Serial.print(" < ");
Serial.print(valMax);
Serial.print(" soit : ");
Serial.print(pourcentage);
Serial.println(" %");
}

10

Vous aimerez peut-être aussi