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 2 : Lire un potentiomètre
Introduction
Dans ce circuit, vous allez travailler avec un potentiomètre. Vous allez apprendre à en utiliser un pour contrôler l'intervalle de clignotement d'une LED en lisant un capteur et en stockant les informations du capteur sous forme de variable.
Composants nécessaires
Vous aurez besoin des composants suivants :
- 1 plaque Breadboard
- 1 carte Arduino 101 ou Genuino 101
- 1 LED
- 1 résistance 100 Ω
- 7 cavaliers
- 1 potentiomètre
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 cette expérience, nous vous recommandons de vous familiariser avec les concepts des tutoriels suivants :
Présentation du potentiomètre
Un potentiomètre est un capteur analogique basé sur une résistance qui change sa résistance interne en fonction de la rotation de son bouton. Il possède un diviseur de tension interne qui vous permet de lire le changement de tension sur la broche centrale avec un microcontrôleur (la carte 101). Pour brancher le potentiomètre, raccordez les deux broches externes à une tension d'alimentation (3,3 V dans ce circuit) et à la terre. Peu 'importe laquelle est branchée à quoi, tant que l'une est connectée à l'alimentation et l'autre à la terre. La broche centrale est ensuite connectée à une broche d'entrée analogique pour que la carte 101 puisse mesurer le changement de tension. Quand vous tournez le bouton, la valeur du capteur change.
**Remarque : Le potentiomètre inclus dans le kit comporte trois marques pour vous aider à déterminer sur quelles lignes de la plaque breadboard les broches sont branchées. **
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. Ces composants sont signalés par un triangle d'avertissement jaune. |
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 2 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_02
** Copiez et collez 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 02
POTENTIOMETER
Measure the position of a potentiometer and use it to
control the blink rate of an LED. Turn the knob to make
it blink faster or slower!
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 about Arduino.
*/
//Create global variables (variables that can be used anywhere in our sketch)
// Here we're creating a variable called "sensorPin" of type "int"
// and initializing it to have the value "0," which is the analog input pin the pot is //conected to.
int sensorPin = 0;
// Variable for storing the pin number that the LED is connected to
int ledPin = 13;
// this function runs once when the sketch starts up
void setup()
{
//set ledPin (13) as an OUTPUT
pinMode(ledPin, OUTPUT);
}
// this function runs repeatedly after setup() finishes
void loop()
{
//create a local variable (variable that can only be used inside of loop() to store //a sensor value called sensorValue
int sensorValue;
//use the analogRead() function to read sensorPin and store the value in sensorValue
sensorValue = analogRead(sensorPin);
// Turn the LED on
digitalWrite(ledPin, HIGH);
delay(sensorValue);
// Turn the LED off
digitalWrite(ledPin, LOW);
//delay for the value of sensorValue
delay(sensorValue);
//loop back to the top
}
À propos du code
int sensorValue;
Une « variable » est un emplacement réservé (placeholder) aux valeurs susceptibles de changer dans votre code. Vous devez introduire (ou « déclarer ») les variables avant de les utiliser. Ici, vous déclarez une variable appelée sensorValue, de type « int » (entier). N'oubliez pas que le nom des variables est sensible à la casse !
sensorValue = analogRead(sensorPin);
Utilisez la fonction analogRead()
pour lire la valeur sur une broche analogique. analogRead()
prend un paramètre, la broche analogique que vous voulez utiliser (sensorPin), et renvoie un nombre (sensorPin) entre 0 (0 volt) et 1023 (3,3 volts).
delay(sensorValue);
Les microcontrôleurs sont très rapides. Ils peuvent exécuter des milliers de lignes de code chaque seconde. Pour le ralentir afin de voir ce qu'il est en train de faire, nous insérons souvent des attentes dans le code : la valeur delay()
exprimée en millisecondes (il y a 1000 ms dans une seconde).
Ce que vous devez voir
La LED doit clignoter plus vite ou plus lentement en fonction de votre potentiomètre. Dans le cas contraire, vérifiez que vous avez monté correctement le circuit et téléchargé le code sur votre carte. SI le problème persiste, consultez la section Dépannage.
Dépannage
Fonctionne sporadiquement
Ce problème est probablement dû à une broche légèrement mal connectée sur le potentiomètre. Tenez le potentiomètre vers le bas ou placez le circuit du potentiomètre ailleurs sur la plaque breadboard.
Ne fonctionne pas
Vérifiez que vous n'avez pas accidentellement connecté la broche centrale, c'est-à-dire l'élément résistif du potentiomètre, à la broche numérique 0 au lieu de la broche analogique 0 (rangée de broches sous les broches d'alimentation).
La LED ne s'allume pas
Les LED ne fonctionnent que dans une seule direction. Vérifiez vos connexions.