You are on page 1of 34

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 communaut
qui change
http://arduino.cc/

Une carte lectronique

Un environnement
de programmation

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


LED de test de
la broche 13

Entres/sorties
numriques

Port USB :

LED tmoin de
mise sous
tension

Transport des
donnes et
alimentation

Bouton de
remise zro

LED de
transmission/
rception

Microcontrleur
Permet de
connecter une
alimentation
Broches
dalimentation

Entres Analogiques

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 fonctionnement
1. 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
Une LED est polarise
Une rsistance na pas de sens impos

Sens du courant lectrique

Rsistance
de 330 ohms
(orange, orange, marron)

330

Mplat

Schma de cblage

Schma normalis

Montage dessai

Pour teindre la LED, il faut ouvrir le circuit laide dun interrupteur.

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 .
High ou 1 ou 5V
LED
LED
teinte allume

Low ou 0 ou 0V
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 .

LED
teinte

LED
allume

LED
teinte

temps
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.

0.06V

Tension dentre :
0V
2.5V

0.04V

5V

Nombre lu utiliser dans le programme :


0
512
1023

0.02V
0V
000 001
0
1

010 011 (valeur binaire)


2 3 (nombre correspondant)

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 programmation
void 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)

f = 1/T ; T=1/f ; f : frquence; T : priode.


5V

0V
Priode T

(temps)

Cbler un buzzer piezzo


en capteur de frappe
Lentre 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
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
Input1

L293
input2

Sens
du moteur

horaire

antihoraire

Arduino D9

Arduino 5V

Arduino D6
Moteur
Arduino Gnd
Arduino Gnd
Moteur
Arduino D7
Arduino 5V

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."

Cbler une barrire infrarouge


5V

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.

5V
R = 120 ohms
marron rouge marron

Pin A2
L 934

L 932

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 (cm)

Valeur en A2

319

450

2
727

885

950

980

990

Exemple de programme associ au montage


int led = 2;
Int lecture = 0;
void setup()
{}
void loop ()
{
lecture=analogRead(led);
If (lecture>=1000)
{
ACTION
}
else
{ ACTION }
}

//la led rceptrice est sur la broche analogique 2


// variable qui stocke la valeur lue sur A2

// se rpte en boucle
//lecture de la valeur lue
// comparaison de la valeur lue au seuil de dtection
// si > ou = faire
// sinon faire

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

You might also like