TP2 Arduino⚓
Introduction
Matériel
Breadboard: Cette carte d'expérimentation permet de relier les composants entre eux grâce à des trous qui sont interconnectés ou pas. Les trous connectés correspondent aux lignes noires (cuivre) de la représentation ci dessus à droite.

Un bouton poussoir :

Une carte Arduino UNO permetra de contrôler l'état de la LED en fonction de l'état du bouton poussoir.

LED Rouge

Deux résistances : 10kΩ et 560Ω
Simulation : TinkerCAD⚓
1 LED + 1 BP
Se créer un compte Tinker CAD et créer un nouveau Circuit :

A partir des programmes du TP précédent, reprendre le programme qui allume la LED lorsque le bouton poussoir est actif.
Flécher sur le schéma structurel de l'introduction les tension VIO2 et VIO3 qui correspondent aux tensions aux bornes des broche IO2 et IO3 de la carte Arduino.
Modifier le programme le programme pour qu'il fasse clignoter la LED lorsque le bouton poussoir est actif.
Réaliser le schéma suivant pour mesurer les tensions :
Lorsque le BP est activé, que vaut VIO2 ?
Lorsque le BP est inactif, que vaut VIO2 ?
Compter le nombre d'appuis⚓
Terminal série
Lors de l'exécution du programme il est possible d'envoyer et de recevoir des informations au PC grâce à la liaison série.
Dans le programme, un objet nommé Serial doit être initialisé Serial.begin(9600) à une vitesse comprise entre 9600 et 115200 bauds (Nombre de symboles transmis par secondes). Puis une méthode println("Bonjour") permet d'envoyer les informations.
Tester le programme suivant puis réaliser un programme permettant de compter le nombre d'appuis sur le bouton poussoir.
Solution⚓
Tester la solution suivante :
int compteur = 0; // Initialiser le compteur
void setup() // Executer une fois
{
pinMode(2, OUTPUT); // LED en sortie sur la broche 2
pinMode(3, INPUT); // BP en entree sur la broche 3
Serial.begin(9600); // Terminal Serie a 9600 bauds
}
void loop() // Boucle infini
{
if (digitalRead(2) == 1) // Si Appui sur BP
{
compteur = compteur + 1; // incrementer compteur
Serial.println(compteur); // afficher compteur
}
}
Le comportement du programme répond-il aux attentes.
Amélioration avec une boucle while permettant d'attendre le relâchement du bouton poussoir pour incrémenter le compteur :
int compteur = 0; // Initialiser le compteur
void setup() // Executer une fois
{
pinMode(2, OUTPUT); // LED en sortie sur la broche 2
pinMode(3, INPUT); // BP en entree sur la broche 3
Serial.begin(9600); // Terminal Serie a 9600 bauds
}
void loop() // Boucle infini
{
if (digitalRead(3) == 1) // Si Appui sur BP
{
while (digitalRead(3) == 1) { // Tant que BP est appuye
delay(100); // Delais anti-rebond
}
compteur = compteur + 1; // incrementer compteur
Serial.println(compteur); // afficher compteur
}
}