Une led allumée par pression maintenue d'un bouton
Méthode : Montage

Code Arduino
1
//Constantes : 2
const int PinLed = 4;
3
const int PinBouton = 6;
4
// variables : 5
int EtatBouton = 0;
6
7
// Configuration de départ--------------------------------8
void setup()
9
{10
pinMode(PinBouton, INPUT);
11
pinMode(PinLed, OUTPUT);
12
}
13
14
//Exécution de la boucle----------------------------------15
void loop()
16
{ 17
EtatBouton = digitalRead(PinBouton);
18
if (EtatBouton == HIGH)
19
{20
digitalWrite(PinLed, HIGH);
21
}
22
else 23
{24
digitalWrite(PinLed, LOW);
25
}
26
}
Code Python
1
# Péparation utilisation Python2
from pyfirmata import *
3
from time import *
4
carte = Arduino('COM3') #Port de Communication à chercher (voir Introduction)
5
# itérateur permet de ne pas engorger la communication série6
it = util.Iterator(carte)
7
it.start()
8
9
# Contantes10
PinLed = 4
11
PinBouton = 6
12
# Variables13
EtatBouton = 0
14
15
# setup16
Bouton = carte.digital[PinBouton]
17
Bouton.mode = pyfirmata.INPUT
18
Led = carte.digital[PinLed]
19
20
# boucle21
while True:
22
EtatBouton = Bouton.read()
23
24
if EtatBouton == 1:
25
Led.write(1)
26
else:27
Led.write(0)
Complément : Code Arduino commenté
1
//Objectif = Bouton pour allumer une Led (tant qu'il est appuyé)2
//PIN = Personal Identification Number, adresse utilisée pour identifier un module3
//LED = Light-Emitting Diode (Diode ElectroLuminescente = DEL)4
5
//Constantes : la valeur ne changera pas pendant l'exécution du programme 6
const int PinLed = 4; // J'utilise l'adresse numérique n°4, reliée à une LED, pour associer le nom PinLed
7
const int PinBouton = 6; // J'utilise l'adresse numérique n°6, reliée au bouton, pour associer le nom PinBouton
8
// variables : la valeur peut changer pendant l'exécution du programme:9
int EtatBouton = 0; // Je crée une variable, appelée EtatBouton, pour donner un état (appuyé ou non) au bouton
10
11
// Configuration de départ--------------------------------12
void setup()
13
{14
// Initilisation du module d'adresse numérique n° 6 (PinBouton) comme une ENTREE 15
// = le programme peut recevoir des informations du bouton16
pinMode(PinBouton, INPUT);
17
18
// Initilisation du module d'adresse numérique n° 4 (PinLed) comme une SORTIE 19
// = le programme peut envoyer des informations vers la LED20
pinMode(PinLed, OUTPUT);
21
}
22
23
//Exécution de la boucle----------------------------------24
void loop()
25
{ //Début de boucle26
27
// Lire l'entrée numérique n°6 (PinBouton) et mettre la valeur (HIGH ou LOW) dasn EtatBouton28
EtatBouton = digitalRead(PinBouton);
29
30
// Vérification de la pression sur le bouton : un signal est-il reçu depuis l'entrée n°6 (PinBouton) ? 31
if (EtatBouton == 1) // = EtatBouton est-il en mode HIGH ?
32
33
// Si oui, alors 34
{35
// allumer la LED : envoyer un signal à la sortie n°4 (PinLed) pour se mettre en mode HIGH36
digitalWrite(PinLed, 1);
37
}
38
39
else // Sinon
40
{41
// éteindre la LED : envoyer un signal à la sortie n°4 (PinLed) pour se mettre en mode LOW42
digitalWrite(PinLed, 0);
43
}
44
45
} //Fin de boucle, retour au début de boucle