fetch
DESCRIPTION
BTRANSCRIPT
-
ARDUINO
DOSSIER RESSOURCE
POUR LA CLASSE
-
Sommaire
1. Prsentation
2. Exemple dapprentissage
3. Lexique de termes anglais
4. Reconnatre les composants
5. Rendre Arduino autonome
6. Les signaux dentre et de sortie
7. Cblage des composants
-
Arduino, quest-ce ?
Une carte lectronique
Un environnement
de programmation
Une communaut
qui change
http://arduino.cc/
-
Arduino, une philosophie
Le matriel est open source :
On peut le copier, le fabriquer et le modifier librement.
Le logiciel est libre :
On peu lutiliser et le modifier librement.
Sur linternet, on trouve :
Une communaut dutilisateurs.
Des guides dutilisation.
Des exemples.
Des forums dentraide.
-
Arduino, la carte lectronique
Port USB :
Transport des
donnes et
alimentation
Entres/sorties
numriques
Entres Analogiques
LED de test de
la broche 13
LED de
transmission/
rception
Permet de
connecter une
alimentation
Broches
dalimentation
LED tmoin de
mise sous
tension
Bouton de
remise zro
Microcontrleur
-
Arduino, le logiciel de
programmation
Icne prsente
sur le bureau
Chemin daccs des programmes : D: /Espace lve/Ressources/Quatrime/Programmes Arduino
-
Arduino, structure dun programme
-
Arduino, le principe
de fonctionnement1. On conoit ou on ouvre un programme existant avec le logiciel Arduino.
2. On vrifie ce programme avec le logiciel Arduino (compilation).
3. Si des erreurs sont signales, on modifie le programme.
4. On charge le programme sur la carte.
5. On cble le montage lectronique.
6. Lexcution de programme est automatique aprs quelques secondes.
7. On alimente la carte soit par le port USB, soit par une source dalimentation
8. autonome (pile 9 volts par exemple).
9. On vrifie que notre montage fonctionne.
-
Plaque dessai
La plaque dessai sans soudure nous permet de raliser rapidement un montage
lectronique en insrant les pattes des composants et les fils dans les trous.
Les lettres reprent
les colonnes et les
nombres reprent
les lignes
Les trous de la
colonne + sont
relis et les trous
de la colonne -
sont relis.
Ces colonnes sont
ddies
lalimentation du
circuit.
Chaque ligne
numrote relie 5
trous
Les trous ne sont
pas relis en
colonne.
-
Exemple dapprentissage :
allumer une LED
Sens du courant lectrique
Rsistance
de 330 ohms(orange, orange, marron)
Mplat
Schma de cblage Schma normalis Montage dessai
Pour teindre la LED, il faut ouvrir le circuit laide dun interrupteur.
Une LED est polarise
Une rsistance na pas de sens impos
330
-
Exemple dapprentissage :
faire clignoter une LED
330 ohms
(orange, orange, marron)
-
Exemple dapprentissage :
faire clignoter une LED
Etape 1 : lancer le logiciel Arduino
Etape 2 : ouvrir le programme Clignoter LED
Etape 3 : compiler le programme
Etape 4 : si il ny a pas derreurs, brancher
la carte Arduino avec le cordon USB
Etape 5 : charger le programme dans la carte Arduino
-
Exemple dapprentissage :
faire clignoter une LED
Etape 1 : allumer une LED
-
Lexique de termes anglais
ANALOG : Analogique.
AREF : Abrviation pour Analog REFrence, rfrence analogique.
AVAILABLE : Disponible.
BEGIN : Dbut.
BIT : bit, unit d'information informatique pouvant prendre soit la valeur 0 soit la valeur 1.
BUFFER : Tampon, dans le sens de "zone tampon". Mmoire temporaire
BYTE : Octet, soit un groupe de 8 bits.
bps : Abrviation pour Bits Per Second, Bits Par Seconde. Attention, abrviation toujours en minuscules.
BREADBOARD: plaque dexprimentation
CAPACITOR: condensateur
CHAR : Pour CHARacter, caractre (typographique). Type de variable d'une taille d'un octet. C'est un synonyme
de "byte" utilis pour dclarer des variables stockant un caractre ou des chaines de caractres.
DEFINE : Dfinit.
DIGITAL : Numrique.
DO : Faire.
FALSE : Faux.
FOR : Pour. Jusqu' ce que.
GND : Abrviation pour GrouND, la terre. C'est la masse, 0 Volt.
HIGH : Haut.
ICSP : Abrviation pour In Cicuit Serial Programming, programmation srie sur circuit.
IF / THEN/ ELSE : Si / Alors / Sinon.
IN : Souvent l'abrviation pour INput, Entre. Est toujours en rapport avec le sens extrieur vers carte Arduino.
INCLUDE : Inclut.
INPUT : Entre.
-
Lexique de termes anglais
IS : Est (souvent dans le sens d'une question : Est ?).
INT : Abrviation pour INTeger, entier. Groupe de 16 bits, 2 octets groups,
considrs comme reprsentant un nombre entier ngatif ou positif.
LONG : Abrviation pour "entier long". Groupe de 32 bits, 4 octets groups,
considrs comme reprsentant un nombre entier ngatif ou positif.
LOOP : Boucle.
LOW : Bas.
OUT : Souvent l'abrviation pour OUTput, Sortie.
Est toujours en rapport avec le sens carte Arduino vers extrieur.
OUTPUT : Sortie.
PIN : Broche.
POWER : Puissance, alimentation.
PWM : Abrviation de (Pulse Width Modulation),
soit Modulation en Largeur d'Impulsion.
PWR : Abrviation pour PoWeR, puissance, alimentation.
-
Lexique de termes anglais
READ: Lire.
RESISTOR: rsistance.
RELAY: relais.
RX : Abrviation pour Receive, rception.
SERIAL : Srie.
SETUP : Initialisation.
SENSOR: capteur
SWITCH : basculer, interrupteur
TRUE : Vrai.
TX: Abrviation pour Transmit, transmission.
WIRE: cble, fil.
WHILE : Tant que.
WORD : mot, soit dans le sens de langage ;
soit dans le sens d'un groupe de 16 bits,
2 octets groups considrs comme reprsentant un nombre entier positif (>= 0).
WRITE: Ecrire.
-
Reconnatre les composants
-
Reconnatre les composants
-
Reconnatre les composants
-
Reconnatre les composants
-
Rendre Arduino autonome
Lorsque la carte Arduino est connecte au port USB de lordinateur, celui lui fournie lnergie lectrique
ncessaire son fonctionnement.
Une fois le programme charg, on peu dbrancher le cordon USB et connecter la carte soit une pile,
soit un transformateur.
Une pile 9 volst et un connecteur de 2,1 mm
Avec le + au centre.
Un transformateur qui convertie
la tension du secteur en une
tension continue(DC) 9 volts et un
connecteur de 2,1 mm
avec le + au centre.
-
Entre/Sortie numrique
La carte Arduino possde 14 entres / sorties numriques (digital en anglais) D0 D13.
Dans void setup , il faut dclarer une broche comme une entre ou comme une sortie par une des deux
instructions suivantes :
pinMode (nom_de_broche, INPUT) ; // broche en entre
pinMode (nom_de_broche, OUTPUT) ; // broche en sortie
En sortie, on envoie soit 5V sur la broche, soit 0V. Cela correspond un 1 ou un 0 ,
un niveau haut ou un niveau bas .
Dans le programme cela correspond aux instructions suivantes :
digitalWrite(nom_de_broche, HIGH) ; // envoie 5V sur la broche soit 1 .
digitalWrite(nom_de_broche, LOW) ; // envoie 0V sur la broche soit 0 .
En entre, la carte peut lire soit un niveau haut ( 1 ou HIGH),
soit un niveau bas ( 0 ou LOW).
Dans le programme cela correspond aux instructions suivantes :
digitalWrite(nom_de_broche, HIGH) ; // lit 5V sur la broche soit 1 .
digitalWrite(nom_de_broche, LOW) ; // lit 0V sur la broche soit 0 .
temps
Low ou 0 ou 0V
High ou 1 ou 5VLED
allume
LED
allume
LED
teinteLED
teinte
LED
teinte
Signal numrique : signal qui ne prend
que deux tats distinct comme 0V et 5V
soit 0 et 1 .
-
Les entres analogiques
Contrairement au signal numrique qui ne peut prendre que deux tats diffrents,
Un signal analogique peut prendre une infinit de valeurs. Comme une tension
que lon fait varier progressivement de 0V 5V.
La carte Arduino fonctionne en numrique, le microcontrleur ne comprend que
les 0 et les 1 . Les entres de A0 A5 sont dotes de convertisseurs
analogique/numrique qui convertit une tension en une suite de 0 et de 1
que la carte fait correspondre un nombre variant de 0 1023.
On peut ainsi rcuprer les informations dun capteur.
000 001 010 011 (valeur binaire)
0.06V
0.04V
0.02V
0V
0 1 2 3 (nombre correspondant)
Tension dentre :
0V 2.5V 5V
Nombre lu utiliser dans le programme :
0 512 1023
-
Cbler un interrupteur
Lorsque linterrupteur est ouvert, lentre de la carte lit
un niveau bas ou LOW.
Lorsque linterrupteur est ferm, lentre lit
un niveau haut ou HIGH.
Donc, si on appuie sur un bouton poussoir ainsi cbl,
la carte lira un 1 soit HIGH. Si on relche le bouton
poussoir, la carte lira un 0 soit LOW.
Exemple de programmationvoid set up()
{
pinMode(inter, INPUT);
}
loop ()
{
int valinter = 0; // on cre une variable valinter pour lire ltat de linterrupteur
valinter = digitalRead(inter); // on lit la valeur de linterrupteur (LOW ou HIGH)
if (valinter == LOW) // Si valinter gale LOW, faireW.
{instructions}
else // sinon, faireW.
{instructions}
}
entre
-
Cbler un potentiomtre
Lorsque lon tourne le potentiomtre, on fait varier
la tension mesure entre 0V et 5V.
Si on connecte le point de mesure sur un entre analogique,
la valeur enregistre variera entre 0 et 1023.
On peut enregistrer cette valeur et lutiliser pour piloter une led ou un moteur.
Il faut connecter la patte du milieu
une entre analogique (A0 A5)
-
Cbler une photorsistance
La mesure se fait sur entre analogique. La rsistance de la photorsistance
diminue lorsque la lumire augmente.
On peut utiliser le mme programme que celui du potentiomtre.
-
Cbler un buzzer
Le buzzer se cble sur une sortie numrique. On lui envoie alors un signal
priodique dont on fait varier la frquence en fonction de la note que lon dsire
jouer. Exemple : le LA est un signal dune frquence f de 440 Hertz soit un
signal qui varie 440 fois par seconde.(V)
5V
0V
(temps)Priode T
f = 1/T ; T=1/f ; f : frquence; T : priode.
-
Cbler un buzzer piezzo
en capteur de frappeLentre analogique 0 mesure la tension produite par le buzzer lorsquil vibre.
Le buzzer fonctionne alors comme un microphone. Plus il vibre, plus la tension
mesure est grande.
A utiliser avec le programme piezzo_capteur_de_frappe .
La diode zener est optionnelle.
-
Cbler un servomoteur
On cble le servomoteur sur une des sortie numrique PWM.
Les sorties numriques PWM sont : D11, D10, D9, D6, D5.
On envoie un signal que lon fait varier en fonction du sens
et de la position dsire.
Un sous programme appel servo.h doit tre inclus dans
le programme. Il est alors facile de le commander.
Le fil noir est connect au 0V ou Gnd.
Le fil rouge est connect au 5V.
Le fil jaune ou blanc est connect
une sortie numrique PWM.
-
Cbler un moteur courant continu
On utilise un transistor pour piloter le
moteur.
Comme pour le buzzer, on envoie un
signal dont la frquence varie en fonction
de la vitesse dsire.
La diode dite de roue libre permet
dvacuer le courant crer lorsque le
moteur ralentie alors quil
nest plus alimenter.
La tension dalimentation du moteur peut
tre diffrente, 9V par exemple.
-
Cbler un moteur courant continu
avec le circuit intgr L293D
circuit intgr (CI), aussi appel puce lectronique, est un composant lectronique reproduisant une ou plusieurs fonctions lectroniques plus ou moins complexes, intgrant souvent plusieurs types de composants lectroniques de base dans un volume rduit, rendant le circuit facile mettre en uvre. Il existe une trs grande varit de ces composants diviss en deux grandes
catgories : analogique et numrique."
Le circuit intgr L293D nous permet de piloter 2 moteurs courant continu.
La broche 1 ltat haut permet de dmarrer le moteur, ltat bas lteint.
Les entres input1 et input 2 permettent de choisir le sens de rotation
du moteur selon les niveaux logique envoys :
L293 L293 Sens
Input1 input2 du moteur
1 0 horaire
0 1 antihoraire
Arduino D9
Arduino D6
Moteur
Arduino Gnd
Arduino Gnd
Moteur
Arduino D7
Arduino 5V
Arduino 5V
-
Cbler une barrire infrarouge5V 5V
Pin A2
R = 120 ohmsmarron rouge marron
L 934 L 932
La L.E.D. infrarouge mettrice (L934) met une lumire visible
au travers dun appareil photo numrique.
La tension aux bornes de la L.E.D. rceptrice varie en fonction
de la distance par rapport la L.E.D. mettrice. Cette tension est
maximale lorsque un objet coupe le faisceau lumineux.
Lorsque le faisceau lumineux est coup, la broche analogique A2
enregistre le chiffre 1023, sinon elle enregistre un chiffre en fonction de
la distance qui spare les L.E.D.. d
d (cm) 0 1 2 3 4 5 6
Valeur en A2 319 450 727 885 950 980 990
Exemple de programme associ au montage
int led = 2; //la led rceptrice est sur la broche analogique 2
Int lecture = 0; // variable qui stocke la valeur lue sur A2
void setup()
{}
void loop () // se rpte en boucle
{
lecture=analogRead(led); //lecture de la valeur lue
If (lecture>=1000) // comparaison de la valeur lue au seuil de dtection
{
ACTION // si > ou = faire
}
else // sinon faire
{ ACTION }
}
Attention : les deux L.E.D. sont
identiques en apparence.
-
Cbler un capteur de temprature
La tension mesure sur lentre analogique varie en fonction de la temprature.
Le programme temperature_led permet de lutiliser.
-
Sources et ressources
http://www.pobot.org/
http://www.interface-z.com/
http://www.ladyada.net/learn/arduino/
http://www.arduino.cc/ Le site officiel