SIK Experiment Guide for the Arduino 101/Genuino 101 Board (French)
This Tutorial is Retired!
This tutorial covers concepts or technologies that are no longer current. It's still here for you to read and enjoy, but may not be as useful as our newest tutorials.
Expérience 6 : Lire un interrupteur unipolaire bidirectionnel
Introduction
Dans l'expérience précédente, nous avons utilisé un bouton comme entrée numérique. Dans celle-ci, nous allons explorer une autre entrée numérique : l'interrupteur unipolaire bidirectionnel. Il nous servira à sélectionner laquelle des deux LED clignotera.
Composants nécessaires
Vous aurez besoin des composants suivants :
- 1 plaque Breadboard
- 1 carte Arduino 101 ou Genuino 101
- 2 LED (1 rouge, 1 jaune)
- 2 résistances 100 Ω
- 8 cavaliers
- 1 interrupteur unipolaire bidirectionnel
Vous n'avez pas le SIK ?
Pour réaliser cette expérience sans le SIK, nous vous suggérons d'utiliser les composants suivants :
Vous aurez également besoin d'une carte Arduino 101 ou Genuino 101.
Lectures suggérées
Avant de poursuivre ce guide, nous vous recommandons de vous familiariser avec les concepts des tutoriels suivants :
Présentation de l'interrupteur unipolaire bidirectionnel
L'interrupteur unipolaire bidirectionnel possède une broche commune au centre et deux autres qui, selon leur emplacement sur l'interrupteur, sont ou non connectées à cette broche commune (centrale). Pour lire l'interrupteur de la même façon qu'un bouton, vous avez connecté la broche commune à une broche GPIO (General Purpose Input/Output, entrée/sortie à usage général) numérique sur votre carte 101 et les autres broches au 3,3 V et à la terre. Peu importe quelle broche vous utilisez. Quand vous déplacez l'interrupteur, la broche commune est HIGH (connectée au 3,3 V) ou LOW (connectée à la terre).
Branchement du matériel
Vous êtes prêt à tout raccorder ? Consultez le schéma de câblage et les photos ci-dessous pour savoir comment faire.
Composants polarisés | Faites particulièrement attention aux marquages indiquant comment placer les composants sur la plaque breadboard, car les composants polarisés ne peuvent être connectés à un circuit que dans une direction. |
Schéma de câblage de l'expérience
Ouverture du sketch
Ouvrez l'EDI Arduino sur votre ordinateur. Le codage en langage Arduino contrôlera votre circuit. Ouvrez le code du Circuit 6 en accédant au « Code du guide SIK 100 » que vous avez précédemment téléchargé et placé dans votre dossier « Examples ».
Pour ouvrir le code, cliquez sur : File > Examples > 101 SIK Guide Code > Circuit_06
Vous pouvez également copier et coller le code suivant dans l'EDI Arduino. Cliquez sur Télécharger et observez ce qu'il se passe.
language:cpp
/*
SparkFun Inventor's Kit
Example sketch 06
SPDT Switch
Use a Single Pole - Double Throw Switch (SPDT) to select an LED to blink
This sketch was written by SparkFun Electronics,
with lots of help from the Arduino community.
This code is completely free for any use.
Visit http://learn.sparkfun.com/products/2 for SIK information.
Visit http://www.arduino.cc to learn more about Arduino.
*/
// Create constants for the pins we will be using
const int switchPin = 3;
const int led1Pin = 12;
const int led2Pin = 13;
void setup()
{
// Set up the switch pins to be an input:
pinMode(switchPin, INPUT);
// Set up the LED pins to be an output:
pinMode(led1Pin,OUTPUT);
pinMode(led2Pin,OUTPUT);
}
void loop()
{
// variables to hold the switch state
int switchVal;
// Since a switch has only two states, either HIGH (3.3V)
// or LOW (GND) there is no way for you to have a floating point situation so there //is no need for a pulldown resistor.
//store the switch value to the switchVal variable
switchVal = digitalRead(switchPin);
//if switchVal is HIGH blink led1Pin
if(switchVal == HIGH)
{
digitalWrite(led1Pin,HIGH);
delay(500);
digitalWrite(led1Pin,LOW);
delay(500);
}
//else blink led2Pin
else
{
digitalWrite(led2Pin,HIGH);
delay(500);
digitalWrite(led2Pin,LOW);
delay(500);
}
}
À propos du code
pinMode(switchPin, INPUT);
Les broches numériques peuvent servir d'entrées et de sorties. Avant toute chose, vous devez indiquer à la carte Arduino 101 dans quelle direction vous allez.
switchVal = digitalRead(switchPin);
Pour lire une entrée numérique, utilisez la fonction digitalRead()
. Elle renvoie HIGH si 3,3 V sont présents au niveau de la broche ou LOW pour 0 V.
if (switchVal == LOW)
Comme nous avons connecté le bouton à la terre, elle lit LOW quand vous appuyez sur le bouton. Ici, nous utilisons l'opérateur « d'équivalence » ("==") pour savoir si quelqu'un appuie sur le bouton.
Ce que vous devez voir
Selon l'état de l'interrupteur, une LED différente clignote. Si vous déplacez l'interrupteur pour connecter la broche de signal au 3,3 V (HIGH), la LED 1 clignote. Si vous déplacez à nouveau l'interrupteur et connectez la broche de signal à la terre, la LED 2 commence à clignoter et la LED 1 s'éteint.
Dépannage
La LED ne s'allume pas
Les fils de l'interrupteur sont placés l'un à côté de l'autre. Vérifiez que le signal est au centre, tandis que la tension et la terre se trouvent sur les broches extérieures. Si vous connectez la tension et la terre, la carte va court-circuiter et s'éteindre.
Assurez-vous que la LED d'alimentation est allumée. Si elle est éteinte, retirez le fil de signal de la broche 3 et observez ce qu'il se passe. Si vous court-circuitez votre carte 101, elle s'éteint pour protéger les circuits. Vous devrez peut-être redémarrer votre ordinateur pour accéder à nouveau au port série.
Déçu ?
Ne vous inquiétez pas. Ces circuits sont tous extrêmement simples pour faciliter la manipulation des composants mais en les réunissant, vous pourrez créer ce que vous voulez.