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.

Pages
Contributors: D___Run___
Favorited Favorite 0

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 :

Trimpot 10K Ohm with Knob

Trimpot 10K Ohm with Knob

COM-09806
$1.05
6
Breadboard - Self-Adhesive (White)

Breadboard - Self-Adhesive (White)

PRT-12002
$5.50
48
Jumper Wires - Connected 6" (M/M, 20 pack)

Jumper Wires - Connected 6" (M/M, 20 pack)

PRT-12795
$2.10
2
LED - Basic Red 5mm

LED - Basic Red 5mm

COM-09590
$0.45

Resistor 100 Ohm 1/4th Watt PTH - 20 pack

COM-13761
Retired

Vous aurez également besoin d'une carte Arduino 101 ou Genuino 101.

Arduino 101

DEV-13787
9 Retired

Genuino 101

DEV-13984
Retired

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

alt text

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.

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

alt text

Pour agrandir le circuit, cliquez sur le schéma.

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.

alt text

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.