2.7 Utilisons les entrées avec des montages électronique

Lire les entrées numérique Tout ou Rien

Commençons par téléverser ce programme dans l’Arduino :

Une fois la carte programmée débranchons notre arduino de l’ordinateur et commençons le montage pour tester ce code.

Utilisons un interrupteurs 2 positions à 3 pins !

Pour commencer le plus simplement possible nous allons utilisé du matériel adapté!
Nous allons utiliser un interrupteurs 2 positions à 3 patte comme ces  interrupteurs miniatures .
Cet interrupteur est pratique car vous pourrez l’enficher directement dans votre breadboard pour faire des essais.

Nous allons pouvoir réaliser ce montage très simple :

Montage Interrupteur

Pour réaliser ce montage c’est très simple :

  1. Vous enfichez l’interrupteur dans la breadboard
  2. Vous reliez l’une des broche situé à l’extrémité de l’interrupteur au 5V
  3. Vous reliez l’autre broche situé à l’extrémité de l’interrupteur au GND
  4. Vous reliez la broche centrale de l’interrupteur sur la broche de l’arduino que vous voulez utiliser en entré, nous utiliserons le pin digital 8 dans notre programme mais vous pourrez modifier le programme et le câblage à votre guise pour la suite!  😉

Le principe de fonctionnement générale d’un interrupteur est simple, il ferme ou ouvre un circuit, permettant à l’électricité de pouvoir passer ou non, de la même façon qu’on connecte ou déconnecte un fil.

Dans notre schémas l’interrupteur 2 pin 3 pattes comme ces  interrupteurs miniatures permet simplement de relier l’entrée de notre arduino soit au GND soit au 5V !

Rassurez vous si vous n’avez  pas exactement le même modèle vous pourrez faire avec un autre interrupteur deux positions 3 pins tant que l’arduino est branché sur le commun de l’interrupteur.

Et si vous n’avez pas d’interrupteur pas vous pourrez faire même sans, il vous suffit de simplement prendre un fil, de le brancher d’un côté à l’entrée de votre Arduino et de l’autre de le brancher directement au GND ou au 5V . Attention néanmoins en manipulant et éviter de relier ensemble GND et 5V… car cela causerais un court circuit sur votre arduino et c’est pour cela que nous recommandons l’usage de l’interrupteur, plus pratique et plus sécurisé que le fait de constamment brancher ou débrancher un fil!

 

 

Les boutons-poussoir :

Nous allons voir ici comment brancher et programmer votre carte pour utiliser les boutons-poussoir :
boutton

Pour faire simple on va partir du programme pour faire clignoter la led et on va y faire quelques modifications :

// Pins E/S :
#define LED 13 //Associe 13 à LED
#define BOUTON 8

void setup() {

// Déclarations E/S :
pinMode(LED, OUTPUT); //Déclare LED comme une sortie
pinMode(BOUTON, INPUT); //Déclare BOUTON comme une entrée
}

void loop() {
if (digitalRead(BOUTON) == HIGH) //Si BOUTON est à l'état haut (5V) alors :
{
digitalWrite(LED,HIGH); //Place le pin digital 13 à l'état HAUT (5V) -> Led allumée
}
else { //Sinon :
digitalWrite(LED,LOW); //Place le pin digital 13 à l'état BAS (0V) -> Led éteinte
}
}

Le montage lui aussi va subir des modifications, l’ajout d’un bouton poussoir nécessite une résistance de 10k Ohm dite de pull-down (soit tirer vers le bas, elle est nécessaire car elle permet de bien avoir 0V lorsque le bouton n’est pas pressé. Car sans celle-ci la patte est dite « en l’air » et capte des « bruits » parasites (micro-ondes, téléphone, radio…) pouvant faire croire à l’Arduino que l’entrée n’est pas à l’état bas) Donc vous devrez câbler ce montage :
montageBoutton

montageBouttonPhoto

De nouvelles animations :

Et pourquoi pas créer différentes animations pour la led lorsque l’on appuie sur le bouton ?
Voici différents programmes permettant de réaliser différentes suites de niveaux HAUT et BAS en rapport avec le bouton essayez les et observez la construction des programmes afin de comprendre comment fonctionne chaque structure utilisée puis essayez de modifier les programmes.

Animation #1 :

// Pins E/S :
#define LED 13 //Associe 13 à LED
#define BOUTON 8

//Symboles :
#define PAUSE 500
void setup() {

// Déclarations E/S :
pinMode(LED, OUTPUT); //Déclare LED comme une sortie
pinMode(BOUTON, INPUT); //Déclare BOUTON comme une entrée
}

void loop() {
while(digitalRead(BOUTON) == HIGH) //Tant que BOUTON est à l'état haut (5V) faire :
{
digitalWrite(LED,HIGH); //Place le pin digital 13 à l'état HAUT (5V) -> Led allumée
delay(PAUSE);
digitalWrite(LED,LOW); //Place le pin digital 13 à l'état BAS (0V) -> Led éteinte
delay(PAUSE);
}

digitalWrite(LED,LOW); //Place le pin digital 13 à l'état BAS (0V) -> Led éteinte
}

Animation #2 :

// Pins E/S :
#define LED 13 //Associe 13 à LED
#define BOUTON 8

//Symboles :
#define PAUSE 500

//Variables
int i; //On définit la variable i comme un nombre entier
void setup() {

// Déclarations E/S :
pinMode(LED, OUTPUT); //Déclare LED comme une sortie
pinMode(BOUTON, INPUT); //Déclare BOUTON comme une entrée
}

void loop() {
if(digitalRead(BOUTON) == HIGH) //Si BOUTON est à l'état haut (5V) alors :
{
for(i = 0; i < 4; i++) { //Boucle "Pour" (intitialisation; condition; pas) digitalWrite(LED,HIGH); //Place le pin digital 13 à l'état HAUT (5V) -> Led allumée
delay(PAUSE);
digitalWrite(LED,LOW); //Place le pin digital 13 à l'état BAS (0V) -> Led éteinte
delay(PAUSE);
}
}
else
{
digitalWrite(LED,LOW); //Place le pin digital 13 à l'état BAS (0V) -> Led éteinte
}
}

Lire les entrées analogiques :

Les potentiomètres :

Les potentiomètres, aussi appelés résistances variables, sont des composants de bases, tripolaire, très simples à utiliser. On en trouve généralement deux types, ceux réglable sur un tour ou moins, et ceux pouvant effectuer plusieurs tours. Nous allons utiliser ces derniers car ils permettent d’être plus précis :
Potentiomètre multitour

On utilise ces potentiomètres à l’aide d’un tournevis plat et leur résistance peut varier entre 0 et 10k Ohm (à + ou – 5%). L’écartement de ses pattes lui permet d’être très facilement ajouté à votre breadboard et être connecté sur une entrée analogique cette fois :
Montage potentiomètre
Et voici un programme pour le tester :

//Pin E/S
#define POTENTIOMETRE A0

void setup() {
pinMode(POTENTIOMETRE, INPUT);
Serial.begin(9600);
}

void loop() {
Serial.println(analogRead(POTENTIOMETRE));
delay(100);
}
Il permettra d’afficher dans le moniteur Série une valeur entre 0 et 1023 en fonction de la résistance du potentiomètre.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *