Documente Academic
Documente Profesional
Documente Cultură
FR
Quelques mots
A PROPOS DE CE KIT
Lobjectif gnral de ce kit est de s'amuser. Derrire cela, le but est de
vous faire dcouvrir une large gamme de composants lectroniques
travers un certain nombre de petits montages simples raliser. Le
principe est donc de raliser des circuits fonctionnels pour ensuite tre
mme de comprendre leur fonctionnement. Si vous rencontrez des
problmes, avez envie de poser des questions ou avez envie dobtenir plus
dinformations, vous pouvez nous envoyer un mail : help@oomlout.com
A PROPOS DE SPARKFUN
Sparkfun est une jeune et dynamique compagnie qui cherche rendre llectronique
amusante et accessible tous des enfants des coles primaires aux doctorants.
http://www.sparkfun.com/
EN CAS DE PROBLME
Nous essayons de proposer la plus grande qualit possible pour tout ce que nous produisons. Cependant, si
vous rencontrez des consignes ambiges, sil vous manque des pices ou si vous voulez poser des
questions, nous ferons de notre mieux pour vous aider.
help@oomlout.com
(nous aimons avoir des retours sur dventuels problmes, cela nous aide amliorer les futures versions)
.: LA SOURCE DE TOUT :.
TBMT
table des matires
Avant de Commencer
{ASEM}
02
{INST}
Installer le Programme
03
{PROG}
04
{ELEC}
06
{CIRC01}
08
{CIRC02}
10
{CIRC03}
{CIRC04}
{CIRC05}
{CIRC06}
18
{CIRC07}
20
{CIRC08}
Rotation - (Potentiomtres)
22
{CIRC09}
Lumire - (Photorsistance)
24
{CIRC10}
26
{CIRC11}
28
{CIRC12}
30
{CIRC13}
32
{CIRC14}
34
Les Circuits
14
01
01 ASEM
assembler les
pices
Support d'Arduino
x1
02
.: L'Assemblage :.
Plaque d'essai
x1
Arduino
x1
02 INST
installation
Windows XP
Mac OSX
Dcompressez
arduino-00rr-win.zip (rr = numro de Version)
Chemin recommand
Ouvrez (montez)
arduino-00rr-mac.dmg (rr = numro de Version)
c:\Program Files\
Etape 3 : Raccourcis
Ouvrez
Click Droit
Arduino.exe(Envoyez vers => Bureau (crer un raccourcis))
Dplacez
L'application "Arduino" dans
le dossier "Applications
Choisissez lemplacement
Arduino Duemilanove
Allez dans
le dossier "Arduino
Double cliquez et installez
FTDI Drivers for Intel Macs (r_r_rr).pkg
(FTDI Drivers for PPC Macs (r_r_rr).pkg
Redmarrez
Arduino Uno
c:\Program Files\arduino-00rr\drivers\
Cest Fini
Vista, Seven
Etape 5 : Ajouter un nouveau matriel
Lancez le gestionnaire de priphriques
cest Fini
Slectionnez Arduino
Autres priphriques > Arduino Uno (Uno)
Slectionnez le Pilote
.: NOTE : :.
.: Vous rencontrez des problmes ? :.
.: Vous voulez plus dinformations ? Vous utilisez Linux ? :.
.:http://ardx.org/LINU :.
Cest Fini
03
03 PROG
Bases
de Programmation
STRUCTURE
Chaque programme Arduino
(que lon nomme aussi
sketch) requiert 2 fonctions
(aussi appeles procdures).
void setup(){
void loop(){
SYNTAXE
Lun des lments qui peut
paraitre frustrant en C est
son formatage ncessaire
(cela le rend aussi trs
puissant). Si vous vous
souvenez de ce qui suit
vous devriez vous en sortir.
{ } (accolades)
On les utilise pour dfinir o
commence et o se termine un bloc
de code (utilis dans les fonctions
aussi bien que dans les boucles).
; (point-virgule)
Chaque ligne doit se terminer
par un point-virgule (loubli
dun point-virgule est souvent
la raison dun refus du
programme de compiler).
VARIABLES
Un programme nest rien de plus
que des instructions qui
manipulent des nombres de
faon intelligente. Les variables
sont utilises pour stocker les
valeurs.
int (entier)
Le type le plus utilis, il contient
un nombre sur deux octets (16
bits). il na pas de virgule et
stocke des valeurs comprises
entre -32 768 et 32 767.
boolean (boolen)
float (flottant)
04
long (long)
Variables utilises lorsquun entier
nest pas assez grand. Ils prennent 4
octets (32 bits) de RAM et prennent
des valeurs comprises entre -2 147
483 648 et 2 147 483 647.
char (caractre)
Stocke un caractre en utilisant
la table ASCII (exemple A
=65). Utilise un octet (8 bits)
de RAM. Arduino stocke les
chaines en tant que tableau de
char.
03 PROG
Bases
de Programmation
OPERATEURS MATHMATIQUES
Oprateurs utiliss pour
effectuer des oprations
mathmatiques (ils
fonctionnent simplement
comme en mathmatiques)
COMPARATEURS
Ces oprateurs sont
utiliss pour les
comparaisons logiques
==
!=
<
>
STRUCTURE DE CONTRLE
Les programmes sont charges
de grer lenchainement des
instructions. Voici les lments
de contrle basiques (vous en
dcouvrirez beaucoup plus sur
Internet).
if(condition){ }
else if( condition ){ }
else { }
Le code entre accolades sera excut
si la condition if (si) est vrai sinon la
condition else if (sinon si) sera teste
et si le rsultat est encore faux le code
else (sinon) sera excut.
for(int i = 0; i <
#rptitions; i++){
NUMRIQUE
pinMode(patte, mode);
digitalWrite(patte, value);
int digitalRead(patte);
ANALOG
LArduino est une carte
numrique mais elle peut
aussi agir dans le domaine
analogique. Voici comment
utiliser des composants qui
ne sont pas numriques.
int analogWrite(patte,
value);
Certaines pattes de lArduino supportent
les PWM (3, 5, 6, 9, 10, 11). Cela
permet de changer ltat de la patte trs
rapidement et ainsi agir comme une
sortie analogique. La valeur peut aller
de 0 (0% de rapport cyclique ~0V) et
255 (100% de rapport cyclique ~5V).
int analogRead(patte);
Quand une patte analogique est
mise en INPUT vous pouvez obtenir
sa tension. Une valeur
comprise entre 0
(pour 0V) et 1023
(pour 5V) est
retourne.
05
04 ELEC
Bases
d'Electronique
L'ELECTRONIQUE EN BREF
Aucune exprience en lectronique nest requise pour samuser avec ce kit. Vous trouverez ici
quelques informations propos de chaque composant, afin de les identifier et peut-tre de
comprendre un peu mieux leur fonctionnement. Si vous vous posez des questions sur le
fonctionnement dun composant ou pourquoi il ne fonctionne pas, Internet est une mine
dinformations et de conseils. Vous pouvez aussi nous contacter via : help@oomlout.com
Ce qu'il Fait:
Emet de la lumire lorsqu'elle est
traverse par un faible courant (seulement
dans un seul sens)
Identification:
Ressemble une petite ampoule
Diode
Rsistance
Transistor
Ce qu'il Fait:
Lquivalent lectronique une valve sens
unique. Elle autorise le courant passer
dans un sens mais pas dans lautre.
Identification:
Ce qu'il Fait:
Rduit le courant qui peut passer dans le
circuit.
Identification:
Nombre de Pattes:
2
Les Choses Savoir:
- Trs facile de prendre la mauvaise valeur
Plus de Dtails:
http://ardx.org/RESI
Ce qu'il Fait:
Utilise un petit courant pour commuter ou
amplifier un courant plus important.
Identification:
Nombre de Pattes:
3 (Base, Collecteur, Emetteur)
Les Choses Savoir:
- Le brancher dans le bon sens (une rsistance
Ce qu'il Fait:
Prend une pulsation et la convertit en une
position angulaire sur son axe de rotation.
Identification:
Une boite en plastique avec 3 fils qui
sortent dun ct et un axe avec des bras
en plastique sur le dessus.
06
Nombre de Pattes:
2
Les Choses Savoir:
- Fonctionne dans un seul sens (le courant passe
Moteur CC
Plus de Dtails:
http://ardx.org/LED
Plus de Dtails:
http://ardx.org/DIOD
Servo Hobby
Nombre de Pattes:
2 (une plus longue connecte au positif)
Les Choses Savoir:
- Ne fonctionne que dans un seul sens.
Ce qu'il Fait:
Tourne lorsqu'un courant le traverse.
Identification:
C'est simple, a ressemble un moteur.
Gnralement c'est un cylindre avec un
axe d'un ct.
Plus de Dtails:
http://ardx.org/TRAN
Nombre de Pattes:
3
Les Choses Savoir:
- Le connecteur nest pas dtromp donc faire
attention le brancher dans le bon sens.
Plus de Dtails:
http://ardx.org/SERV
Nombre de Pattes:
2
Les Choses Savoir:
- S'utilise avec un transistor ou un relay
dimensionn pour le type de moteur utilis.
Plus de Dtails:
http://ardx.org/MOTO
04 ELEC
Bases
d'Electronique
Identification:
Dans ce kit il ressemble un petit fut de
plastique mais parfois il sagit juste dun disque
dor.
Nombre de Pattes:
2
Les Choses Savoir:
- Difficile de mal lutiliser
Plus de Dtails:
http://ardx.org/PIEZ
IC (Circuit Intgr)
Ce qu'il Fait:
Contient toute sorte dlectronique
complique dans un boitier facile utiliser.
Identification:
La rfrence est crite sur le boitier. (Il est
parfois ncessaire davoir beaucoup de
lumire ou une loupe pour la lire).
Nombre de Pattes:
2 XXX (dans ce kit il y en a un avec 3(TMP36) et
un avec 16 (74HC595)).
Plus de Dtails:
http://ardx.org/ICIC
Nombre de Pattes:
4
Les Choses Savoir:
- Ils sont presque carr donc ils peuvent
tre tourns 90 degrs.
Plus de Dtails:
http://ardx.org/BUTT
Potentiomtre
Ce qu'il Fait:
Rsistance variable dpendante de la
position angulaire de son axe.
Identification:
ils peuvent se prsenter sous diffrentes
formes, cherchez le bouton rotatif pour
les identifier.
Photo Resistance
Ce qu'il Fait:
Rsistance variable dpendante de la
lumire ambiante.
Identification:
Gnralement un disque avec une ligne
courbe sur le dessus.
0
1
2
3
4
Noir
Marron
Rouge
Orange
Jaune
5
6
7
8
9
Vert
Bleu
Violet
Gris
Blanc
premier digit
second digit
# de zeros
tolrance
20%- rien
10%- argent
5%- or
Nombre de Pattes:
3
Les Choses Savoir:
- En acheter un a chelle logarithmique
par accident.
Plus de Dtails:
http://ardx.org/POTE
Nombre de Pattes:
2
Les Choses Savoir:
- Souvenez-vous quil faut linclure dans un
pont diviseur pour lutiliser..
Plus de Dtails:
http://ardx.org/PHOT
07
CIRC-01
.:Dbuter:.
.:(Faire clignoter des LEDs):.
LE CIRCUIT:
Composants :
CIRC-01
Feuille de Connexions
x1
Rsistance 330 Ohms
Orange-Orange-Marron
x1
Schma
Arduino
patte 13
patte longue
+
LED
(diode lectroluminescente)
Rsistance (330ohms)
(Orange-Orange-Marron)
gnd
(masse) (-)
Internet
.:Tlcharger:.
Feuille de Connexions
http://ardx.org/BBLS01S
.:Voir:.
Vido de Montage
http://ardx.org/VIDE01
08
Connecteur 2 pattes
x4
Fil
CODE
CIRC-01
(3 choses essayer)
Le programme ne se
Cela fonctionne
charge pas
toujours pas ?
souvent cause de la
tools>serial port>
help@oomlout.com
de dommage).
AMLIORER LE MONTAGE
Changer les branchements :
La LED est connecte la patte 13 mais nous pouvons utiliser
Contrler la luminosit :
Comme avec les E/S numriques, lArduino peut contrler certaines
http://ardx.org/CIRC01
09
CIRC-02
LE CIRCUIT:
Composants :
CIRC-02
Connecteur 2 pattes
Feuille de Connexions
x4
x1
Rsistance 330 Ohms
Orange-Orange-Marron
x8
Schma
patte 2 patte 3 patte 4 patte 5
LED
rsistance
330ohms
gnd
patte 6 patte 7 patte 8 patte 9
LED
rsistance
330ohm
gnd
Internet
.:Tlcharger:.
Feuille de Connexions
http://ardx.org/BBLS02S
.:Voir:.
Vido de Montage
http://ardx.org/VIDE02
10
Fil
CODE
CIRC-02
/*
* oneAfterAnotherNoLoop()
allume une LED puis
*attend pour delayTime et ensuite allume la LED
suivante
* ensuite teint chacune des LED
void oneAfterAnotherNoLoop(){
int delayTime = 100;
//le temps de pause (en millisecondes)
...
...
digitalWrite(ledPins[7], HIGH); //Allume la LED 7
//(connecte la patte
9)
delay(delayTime);
//attend delayTime
millisecondes
//Eteint chaque LED
digitalWrite(ledPins[7], LOW); //Eteint la LED 7)
delay(delayTime);
//attend delayTime
millisecondes
...
-----Plus de code dans la version tlchargeable------
(3 choses essayer)
Certaines LEDs ne
s'allument pas
Il est trs facile de brancher
une LED l'envers. Vrifiez que
les LEDs qui ne fonctionnent
pas sont dans le bon sens.
Recommencer
Il est facile de se tromper dans
le placement des fils. Enlevez
tous les composants et
recommencer est souvent aussi
simple que de chercher le
problme.
AMLIORER LE MONTAGE
Changer pour des boucles :
Dans la function loop() il y a 4 lignes. Les 3
dernires commencent par //. Cela signifie
quelles sont considres comme des
commentaires (elles ne sont pas excutes).
Pour que le programme utilise des boucles
changez le code de la fonction loop en :
//oneAfterAnotherNoLoop();
oneAfterAnotherLoop();
//oneOnAtATime();
//inAndOut();
les boucles).
Plus danimation :
Lass de cette animation ? Essayez les autres
exemples danimations. Dcommettez les lignes
correspondantes et envoyez le programme sur votre
carte et dcouvrez les nouvelles animations. (supprimez
les // devant la ligne 3 puis 4)
http://ardx.org/CIRC02
11
CIRC-03
LE CIRCUIT:
Composants :
CIRC-03
Feuille de Connexions
x1
Connecteur 2 pattes
x4
Transistor
P2N2222AG (TO92)
x1
Moteur de jouet
x1
Diode
(1N4001)
x1
Schma
Arduino
patte 9
Fil
rsistance
(10kohms)
Base
Collecteur
Transistor
P2N2222AG
metteur
Diode
Moteur
gnd
(masse) (-)
+5 volts
Internet
.:Tlcharger:.
Feuille de Connexions
http://ardx.org/BBLS03S
.:Voir:.
Vido de Montage
http://ardx.org/VIDE03
12
CODE
CIRC-03
millisecondes
}
void motorAcceleration(){
int delayTime = 50; //Temps entre chaque changement
de vitesse
for(int i = 0; i < 256; i++){
//balaye chaque vitesse de 0 255
analogWrite(motorPin, i);
//slectionne la
nouvelle vitesse
delay(delayTime);// Attend pendant delayTime
millisecondes
}
for(int i = 255; i >= 0; i--){
//balaye chaque vitesse de 255 0
analogWrite(motorPin, i);
// slectionne la
nouvelle vitesse
delay(delayTime);// Attend pendant delayTime
millisecondes
}
}
void loop()
//Sexcute linfini
{
motorOnThenOff();
//motorOnThenOffWithSpeed();
//motorAcceleration();
}
/*
* motorOnThenOff() teint le moteur
* (Remarquez que ce code est identique celui
que nous avons utilis pour
*le clignotement dune LED)
*/
void motorOnThenOff(){
int onTime = 2500; //Temps ON
int offTime = 1000; //Temps OFF
digitalWrite(motorPin, HIGH);
//Allume le moteur
delay(onTime); //Attend pendant onTime
millisecondes
analogWrite(motorPin, offSpeed);
//Eteint le moteur
delay(offTime);
// Attend pendant offTime
(3 choses essayer)
Toujours pas de
chance ?
Cela fonctionne
tojours pas ?
dconnecte de lordinateur.
Essayez de la dbrancher puis
courant
de la rebrancher.
AMLIORER LE MONTAGE
Contrler la vitesse :
Nous avons jou avec la possibilit offerte par Arduino
de contrler la luminosit dune LED un peu plus tt.
Nous allons utiliser la mme technique pour contrler la
vitesse de notre moteur. LArduino utilise quelque chose
que lon appelle PWM (Pulse Widht Modulation). Cela
permet aux pattes de lArduino de changer dtat trs
rapidement. Plutt que de contrler directement la
tension des pattes, lArduino allume et teint la patte
trs rapidement. A lchelle dun ordinateur il sagit
dune alternance de 0 et 5 V de nombreuses fois par
seconde mais lchelle humaine nous le voyons
comme une tension. Par exemple si la PWM est mise
50% nous voyons la luminosit rduite de 50% parce
que notre il nest pas assez rapide pour voir le
clignotement. Cela fonctionne aussi avec les transistors.
Vous ne me croyez pas ? essayez le.
http://ardx.org/CIRC03
13
CIRC-04
LE CIRCUIT:
Composants :
CIRC-04
Feuille de Connexions
x1
Mini Servo
x1
Schma
Arduino
patte 9
Mini Servo
signal
(blanc)
+5v
(rouge)
gnd
(noir)
gnd
(masse) (-)
+5 volts
(5V)
Internet
.:Tlcharger:.
Feuille de Connexions
http://ardx.org/BBLS04S
.:Voir:.
Vido de Montage
http://ardx.org/VIDE04
14
Connecteur 2 pattes
x4
Connecteur 3 pattes
x1
Fil
CODE
CIRC-04
// Sweep
// par BARRAGAN <http://barraganstudio.com>
#include <Servo.h>
Servo myservo; //cre un objet servo pour contrler un servo
int pos = 0;
//variable pour stocker la position
void setup() {
myservo.attach(9);
}
void loop() {
for(pos = 0; pos < 180; pos += 1) //va de 0 degrs a 180 degrs
{
// avec un pas de 1 degr
myservo.write(pos);
//dit au servo daller la position contenue par
//la variable pos
delay(15);
//attend 15 ms pour que le servo atteigne la position
}
for(pos = 180; pos>=1; pos-=1)
//va de 180 degrs a 0 degrs
{
myservo.write(pos);
// dit au servo daller la position contenue par la
variable pos
delay(15);
//attend 15 ms pour que le servo atteigne la position
}
}
(3 choses essayer)
Cela fonctionne
toujours pas ?
Une erreur que nous avons
fait une ou deux fois t
doublier de brancher
lalimentation (fils rouge et
marron) au 5V et la masse.
AMLIORER LE MONTAGE
Contrle par potentiomtre :
Nous navons pas encore expriment lutilisation dentres
mais si vous voulez en savoir plus, il existe un programme
dexemple : File > Servo > Knob. Il utilise un
potentiomtre (CIRC08) pour contrler le servo. Vous pouvez
trouver les instructions sur ce lien : http://ardx.org/KNOB
Controle manuel :
Il est facile de contrler les servo avec la bibliothque Arduino
void loop() {
int pulseTime = 2100; //(Le nombre de microsecondes
// attendre(1500 90 degres
// 900 0 degrs 2100 180 degrs)
digitalWrite(servoPin, HIGH);
delayMicroseconds(pulseTime);
digitalWrite(servoPin, LOW);
delay(25);
}
Grande ides :
Les servos peuvent tre utiliss pour faire toutes sortes de choses
amusantes, voici quelques-unes de nos prfres.
Compteur de Noel
http://ardx.org/XMAS
Arduino)
http://ardx.org/RARM
faire cela). ).
int servoPin = 9;
void setup(){
pinMode(servoPin,OUTPUT);
}
http://ardx.org/CIRC04
15
CIRC-05
LE CIRCUIT:
Composants :
CIRC-05
Connecteur 2 pattes
Feuille de Connexions
x1
x4
LED Rouge
x8
Registre Dcalage
74HC595
x1
Fil
+5 volts
2
74HC595
+5V 0
1
2
donne 3
horloge
4
verrou
5
6
gnd 7
Internet
.:Tlcharger:.
Feuille de Connexions
http://ardx.org/BBLS05S
.:Voir:.
Vido de Montage
http://ardx.org/VIDE05
16
(masse) (-)
gnd
LED
rsistance
(330ohms)
Schma
Il y a une encoche en
demi-lune, elle va en haut
CODE
CIRC-05
digitalWrite(latch, LOW);
//met le verrou (latch) au niveau bas
shiftOut(data, clock, MSBFIRST, value);
//envoie 8 bits au registre dcalage< br>
digitalWrite(latch, HIGH);
//met le verrou(latch) au niveau haut pour
dmarrer laffichage des donnees< br>}
----------Plus de Code en Ligne ----------
void loop()
//sexcute linfini< br>{
int delayTime = 100;
//attente de la mise jour des LED<
br> for(int i = 0; i < 256; i++){
updateLEDs(i);
delay(delayTime);
}
}
/*
* updateLEDs() envoie les donnes des
LEDs< br> *en sequence au 74HC595< br> */
void updateLEDs(int value){
(3 choses essayer)
Cela fonctionne
toujours pas ?
Dsol pour la rptition mais
c'est surement d de
mauvaises connexions
AMLIORER LE MONTAGE
Frustr?
Envoyez-nous un mail, ce
circuit est la fois simple et
complexe en mme temps.
Nous voulons avoir des
informations sur vos problmes
pour en tenir compte dans les
prochaines versions.
La manire forte :
Une Arduino permet de simplifier quelque peu les actions complexes. Le
est stock dans un octet (une valeur 8 bit) pour plus de dtails sur
code du (8 LED Fun) vous verrez que lon change les LEDs en utilisant
digitalWrite(led, state), elle est compose des mmes lments que la fonction
changeLED(led, state) que nous avions crit. Vous pouvez utiliser lanimation que
complte doprateurs pour nous aider. Plus de details sur les operations
devrez galement changer quelques autres choses mais en suivant les erreurs du
Notre implmentation.
Remplacez le code loop() avec
http://ardx.org/CIRC05
17
CIRC-06
.:Musique:.
.:Buzzer Piezo:.
LE CIRCUIT:
Composants :
CIRC-06
Feuille de Connexions
x1
Schma
Arduino
patte 9
lment
Piezo
gnd
(masse) (-)
Internet
.:Tlcharger:.
Feuille de Connexions
http://ardx.org/BBLS06S
.:Voir:.
Vido de Montage
http://ardx.org/VIDE06
18
Connecteur 2 pattes
x4
lment Piezo
x1
Fil
CODE
CIRC-06
digitalWrite(speakerPin, LOW);
delayMicroseconds(tone);
}
}
void playNote(char note, int duration) {
char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' };
int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956
};
//joue le ton correspondant au nom de la note< br> for (int
i = 0; i < 8; i++) {
if (names[i] == note) {
playTone(tones[i], duration);
}
}
}
void setup() {
pinMode(speakerPin, OUTPUT);
}
void loop() {
for (int i = 0; i < length; I++) {
if (notes[i] == ' ') {
delay(beats[i] * tempo); //silence< br>
} else {
playNote(notes[i], beats[i] * tempo);
}
//pause entre les notes< br>
delay(tempo / 2);
}
(3 choses essayer)
AMLIORER LE MONTAGE
Jouer avec la vitesse:
la temps de chaque note est calcul partir de variables, nous
pouvons donc modifier la dure de chaque note ou son timing.
Pour changer la vitesse de la mlodie vous navez besoin de
changer quune ligne.
int tempo = 300; ---> int tempo = (Nouveau N)
Changez le pour un nombre plus grand pour ralentir la mlodie
ou pour un nombre plus petit pour lacclrer.
Modifier les notes :
Si vous pensez que les notes ne sont pas aux bons tons, cela
peut aussi tre corrig. Les notes ont t calcules sur la base
de la formule commente dans le bloc au dbut du programme.
Pour modifier les notes individuellement ajustez les valeurs
dans tones[] jusqu ce quelles soient bonnes. (chaque note
correspond son nom dans names[] (ex : c = 1915)
http://ardx.org/CIRC06
19
CIRC-07
LE CIRCUIT:
Composants :
CIRC-07
Feuille de Connexions
x1
Rsistance 10k Ohms
Marron-Noir-Orange
x2
Schma
Arduino
patte 2
Arduino
patte 13
LED
rsistance
(330 ohms)
gnd
(masse) (-)
Internet
.:Tlcharger:.
Feuille de Connexions
http://ardx.org/BBLS07S
.:Voir:.
Vido de Montage
http://ardx.org/VIDE07
20
patte 3
+5 volts
Rsistance
(pull-up)
(10k ohms)
boutton
poussoir
Connecteur 2 pattes
Boutton poussoir
x4
x2
Rsistance 330 Ohms
Orange-Orange-Marron
x1
Fil
Rouge LED
x1
CODE
CIRC-07
(exemple du site arduino.cc, allez y faire un tour pour trouver d'autres ides)
/* Bouton
* par DojoDave <http://www.0j0.org>
*
*Allume et teint une Diode Electroluminescente (DEL/LED) connecte la patte
*numrique 13, lorsque le bouton poussoir connect la patte 7 est enfonc.
* http://www.arduino.cc/en/Tutorial/Button
*/
int ledPin = 13; //Slectionne la patte pour la LED< br>int inputPin = 2;
//Dtermine la patte dentre (pour un bouton poussoir)
int val = 0;
//variable pour lire ltat de la patte< br>
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop(){
val = digitalRead(inputPin);
if (val == HIGH) {
digitalWrite(ledPin, LOW);
} else {
digitalWrite(ledPin, HIGH);
}
}
(3 choses essayer)
La lumire ne
Le fondu de lumire
s'allume pas
ne fonctionne pas
Pas impressionn ?
Pas d'inquitudes, ces circuits
Tournez le de 90 degrs et
regardez si a marche.
patte 13 la 9.
AMLIORER LE MONTAGE
Bouton On bouton OFF :
Lexemple de base peut tre un peu dcevant (on na pas
Fondus :
Contrlons un signal analogique avec les boutons. Pour cela
void setup() {
pinMode(ledPin, OUTPUT);
//plaCela LED en sortie
pinMode(inputPin1, INPUT); //place le bouton 1 en entre
pinMode(inputPin2, INPUT); //place le bouton 2 en entre
}
void loop(){
if (digitalRead(inputPin1) == LOW) {
digitalWrite(ledPin, LOW); //teint la LED
} else if (digitalRead(inputPin2) == LOW) {
digitalWrite(ledPin, HIGH); //allume la LED
}
}
int value = 0;
void loop(){
if (digitalRead(inputPin1) == LOW) { value--; }
else if (digitalRead(inputPin2) == LOW) { value++; }
value = constrain(value, 0, 255);
analogWrite(ledPin, value);
delay(10);
}
http://ardx.org/CIRC07
21
.:Rotation:.
CIRC-08
.:Potentiomtres:.
LE CIRCUIT:
Composants :
CIRC-08
Feuille de Connexions
x1
x4
LED Jaune
x1
Schma
Arduino
+5 volts
patte 13
Arduino
Potentiomtre
LED
Rsistance
(330ohms)
(Orange-Orange-Marron)
gnd
(masse) (-)
Internet
.:Tlcharger:.
Feuille de Connexions
http://ardx.org/BBLS08S
.:Voir:.
Vido de Montage
http://ardx.org/VIDE08
22
Connecteur 2 pattes
analogique
patte 0
Potentiomtre
10k ohms
x1
Fil
CODE
CIRC-08
/* Entre analogique
* Explication de l'entre analogique en lisant un capteur analogique
sur
* le pin analogique 0 et en allumant une LED connecte au pin digital 13.
* Le temps pendant lequel la LED sera allume ou teinte dpend de la valeu obtenue par
* analogRead().
* Cr David Cuartielles
* Modifi le 16 Juin 2009
* Par Tom Igoe
* http://arduino.cc/en/Tutorial/AnalogInput
*/
int sensorPin = 0;
int ledPin = 13;
int sensorValue = 0;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
sensorValue = analogRead(sensorPin);//
digitalWrite(ledPin, HIGH);
//
delay(sensorValue);
//
digitalWrite(ledPin, LOW);
//
delay(sensorValue);
//
}
(3 choses essayer)
Fonctionne par
Ne fonctionne pas
intermitence
On dirait un mauvais
branchement du potentiomtre.
plus.
pins d'alimentation)
Toujours l'envers
Vous pouvez essayer de faire
fonctionner le circuit l'envers.
Parfois a fonctionne.
AMLIORER LE MONTAGE
Commutation selon un seuil:
Parfois vous voulez changer la valeur d'une sortie quand
une valeur excde un certain seuil. Pour faire cela avec un
potentiomtre, changez le code de la fonction loop() par.
void loop() {
int threshold = 512;
if(analogRead(sensorPin) > threshold){
digitalWrite(ledPin, HIGH);}
else{ digitalWrite(ledPin, LOW);}
}
http://ardx.org/CIRC08
23
CIRC-09
.:Lumire:.
.:Photorsistance:.
LE CIRCUIT:
Composants :
CIRC-09
Feuille de Connexions
x1
Rsistance 10k Ohms
Marron-Noir-Orange
x1
Schma
Arduino
patte 13
LED
+5 volts
photo
rsistance
Arduino
analogique
patte 0
rsistance
(330ohms)
rsistance
(10k ohms)
gnd
(masse) (-)
Internet
.:Tlcharger:.
Feuille de Connexions
http://ardx.org/BBLS09S
.:Voir:.
Vido de Montage
http://ardx.org/VIDE09
24
Connecteur 2 pattes
x4
Photo-Rsistance
x1
Fil
LED Jaune
x1
CODE
CIRC-09
(3 choses essayer)
changements de luminosit
a ne fonctionne
toujours pas ?
Vous devez tre dans une pice o il y
fait trop sombre ou trop lumineux.
Essayez dallumer ou dteindre la
avec.
AMLIORER LE MONTAGE
Inverser la rponse :
Peut tre voulez-vous un fonctionnement inverse. Ne vous
Lampe de Nuit :
Plutt que de faire varier la puissance de la LED en fonction de
CIRC-04) Ensuite ouvrez lexemple KNOB (le mme que pour le CIRC-
http://ardx.org/CIRC09
25
CIRC-10
.:Temprature:.
.:Capteur de temprature de prcision TMP36:.
LE CIRCUIT:
Composants :
CIRC-10
Feuille de Connexions
x1
Connecteur 2 pattes
x4
TMP36
Capteur de Temprature
x1
Fil
Schma
Arduino
analogique
patte 0
+5 volts
+5v
signal
gnd
TMP36
(capteur de
prcision de
temprature)
gnd
(masse) (-)
Internet
.:Tlcharger:.
Feuille de Connexions
http://ardx.org/BBLS10S
.:Voir:.
Vido de Montage
http://ardx.org/VIDE10
26
CODE
CIRC-10
{
float temperature =
getVoltage(temperaturePin);
//obtiens la tension de sortie du
//capteur de temperature
//sexcute linfini
(3 choses essayer)
Ce qui sort est
La valeur de
incomprhensible
temprature ne
de signe de fonctionnement.
change pas
logiciel.
(voir les instructions sur la page prcdente)
baud
refroidir
AMLIORER LE MONTAGE
Afficher la tension :
Cest une faon simple de modifier juste une ligne de code.
Notre capteur donne 10mV par degr donc pour avoir la
tension, nous affichons juste le rsultat de getVoltage().
Serial.println(temperature);
---->
Serial.print(temperature);
Serial.println(" degrs celsius");
le changement sur la premire ligne permet de rafficher sur la
mme ligne. Ensuite nous ajoutons le texte informatif et une nouvelle
ligne.
Changer la vitesse du port srie :
Si jamais vous souhaitez envoyer les donnes plus rapidement, voici
comment faire. Actuellement nous envoyons les donnes 9600 baud
mais des vitesses plus importantes sont possibles. Pour changer la
vitesse modifiez la ligne :
Serial.begin(9600); ----> Serial.begin(115200);
Envoyez le projet la carte et ouvrez la console, ensuite changez la
vitesse de 9600 baud 115200 baud dans le menu droulant. Vous
transmettez maintenant les donnes 12 fois plus vite.
http://ardx.org/CIRC10
27
CIRC-11
.:Relais:.
LE CIRCUIT:
Composants :
CIRC-11
Feuille de Connexions
x1
Diode
(1N4001)
x1
Transistor
P2N2222AG (TO92)
x1
LED Jaune
x1
Relai
(SPDT)
x1
LED Rouge
x1
Connecteur 2 pattes
x4
Schma
Arduino
patte 2
Rsistance
(10kohm)
Transistor
Base P2N2222AG
Collecteur
metteur
coil
com
Diode
NC
NO
(roue libre)
+5 volts
gnd
(masse) (-)
Internet
.:Tlcharger:.
Feuille de Connexions
http://ardx.org/BBLS11S
.:Voir:.
Vido de Montage
http://ardx.org/VIDE11
28
CODE
CIRC-11
/*
* Clignotement
*
* Lexemple Arduino basique. Allumer une LED pendant une seconde,
* ensuitre lteindre pendant une seconde, etc... On utilise la patte 13 car,
* selon votre modle dArduino, il y a dj une LED
* ou une rsistance soude qui permet de navoir besoin que dune LED.
*
* http://www.arduino.cc/en/Tutorial/Blink
*/
int ledPin = 2;
// ***********
void setup()
{
pinMode(ledPin, OUTPUT);
}
void loop()
{
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
}
// sxcute continuellement
//
//
//
//
allume
attend
teint
attend
la LED
pendant une seconde
la LED
pendant une seconde
(3 choses essayer)
a ne fonctionne
Il ne se passe rien
toujours pas
Le transistor ou la partie
ncessaire de le maintenir
la modification.
AMLIORER LE MONTAGE
Observer le pic de retours EMF
Remplacez la diode par une LED. Vous constaterez quelle sallume chaque fois quelle contre la tension quand le relais
steint.
Contrler un moteur
Dans CIRC-03 nous avons contrl un moteur en utilisant un transistor. Cependant si vous voulez contrler un moteur plus
gros, utiliser un relais peut-tre une bonne alternative. Pour ce faire, retirez simplement la LED rouge et connectez le moteur
la place (noubliez pas de retirer la rsistance de 330 Ohms).
http://ardx.org/CIRC11
29
.:Lumire Colore:.
CIRC-12
.:LEDs RGB:.
LE CIRCUIT:
Composants :
CIRC-12
Feuille de Connexions
x1
Rsistance 330 Ohms
Orange-Orange-Marron
x3
Rsistance
(330ohms)
rouge
vert
bleu
patte
longue
ct
plat
gnd
Internet
.:Tlcharger:.
Feuille de Connexions
http://ardx.org/BBLS12
30
bleu
vert
commun (gnd)
rouge
Schma
Arduino
Connecteur 2 pattes
x4
Fil
CODE
CIRC-12
analogWrite(GREEN_LED_PIN, greenIntensity);
analogWrite(RED_LED_PIN, redIntensity);
delay(DISPLAY_TIME);
}
// Cycle allant de vert bleu
for (blueIntensity = 0;
blueIntensity <= 255;
blueIntensity+=5) {
greenIntensity = 255-blueIntensity;
analogWrite(BLUE_LED_PIN, blueIntensity);
analogWrite(GREEN_LED_PIN, greenIntensity);
delay(DISPLAY_TIME);
}
void setup() {
// Pas de setup ncessaire.
}
void loop() {
// Cycle allant de rouge vert
for (greenIntensity = 0;
greenIntensity <= 255;
greenIntensity+=5) {
}
---------- Plus de code en ligne ----------
redIntensity = 255-greenIntensity;
(3 choses essayer)
AMLIORER LE MONTAGE
Utiliser les code couleur HTML
Si vous tes familis avec la cration de pages web,
Tlchargez le code:
http://ardx.org/RGBMB
http://sparkfun.com/RGB
31
.:Mesures de Courbes:.
CIRC-13
.:Capteur de Torsion:.
LE CIRCUIT:
Composants :
CIRC-13
Connecteur 2 pattes
Feuille de Connexions
x4
x1
Connecteur 3 pattes
Mini Servo
x1
x1
Schma
+5 volts
patte 9
Mini Servo
signal
(blanc)
+5v
gnd
(rouge)
(noir)
capteur
de torsion
analogique
patte 0
rsistance
(10k ohms)
gnd
(masse) (-)
Internet
.:Tlcharger:.
Feuille de Connexions
http://ardx.org/BBLS13S
32
Capteur de torsion
x1
Rsistanc 10k Ohms
Marron-Noir-Orange
x1
Fil
CODE
CIRC-13
int potpin = 0;
pour
int val;
{
val = analogRead(potpin);//lit la valeur
//du potentiomtres
//(valeurs entre 0 et 1023)
Serial.println(val);
val = map(val, 50, 300, 0, 179);
//converti la valeur pour pouvoir lutiliser
avec le servo
// (valeurs entre 0 et 180)
myservo.write(val); //positionne le servo
//en fonction de
//la valeur convertie
//connecter le
//potentiomtre
//variable pour lire la
//valeur de la patte analogique
pin
void setup()
{
Serial.begin(9600);
myservo.attach(9);//attache le servo
// la patte 9 object
}
void loop()
(3 choses essayer)
Le servo ne bouge
pas comme prvu
Le capteur est conu pour
fonctionner dans un seul sens.
Essayez de le tordre dans lautre
Le servo ne se dplace
qu'une seule fois
Vous pouvez avoir besoin de
modifier la plage de valeur dans
Amliorer le montage)
convexe).
AMLIORER LE MONTAGE
Calibrer la Plage de Valeurs
applications prfres.
Le Gant Pierre-Feuille-Ciseaux
Un gant qui vous permet de jouer Pierre-FeuilleCiseaux contre vous-mme.
http://ardx.org/RPS
Tuteur lectronique pour plante
Contrle si votre plante se courbe en direction de la
lumire et le corrige.
http://ardg.org/BRACE
http://sparkfun.com/
33
.:Capture fantaisie:.
CIRC-14
.:Potentiomtre tactile:.
LE CIRCUIT:
Composants :
CIRC-14
Connecteur 2 pattes
Feuille de Connexions
x4
x1
Potentiomtre tactile
x1
Schma
Arduino
patte 11
patte 10 patte 9
+5 volts
Arduino
Rsistance
soft-pot
(330ohms)
rouge
vert
bleu
V+
wiper
gnd
patte
longue
gnd
Internet
.:Tlcharger:.
Feuille de Connexions
http://ardx.org/BBLS14S
34
analogique
patte 0
Fil
CODE
CIRC-14
(3 choses essayer)
Rsultats bizarres
La cause la plus courante est
le fait que vous appuyez sur le
potentiomtre en plusieurs
points. Cest normal et cela
peut aussi tre utilis pour
obtenir de meilleurs rsultats.
AMLIORER LE MONTAGE
Couleur HSB (Teinte, Saturation & Luminosit)
Notre LED RGB affiche des couleurs en utilisant les codes
couleur RGB. Cependant, ce nest pas toujours la manire la
Faux Boutons
cause de la manire dont le potentiomtre souple fonctionne, il est
visitez :
http://ardx.org/CODE14MB
bas sur le code original www.kasperkamperman.com :
http://ardx.org/KASP
Maintenant, quand vous utilisez le potentiomtre souple, vous
remarquerez un fondu plus propre et plus complet du rouge au
violet.
http://sparkfun.com/
35
NOTE
notes
36
.:Notes:.
.:Espace pour quelques notes:.
.:Notes:.
.:Espace pour quelques notes:.
NOTE
notes
37
Ce travail est licenci sous Creative Commons Attribution-Share Alike 3.0 Unported License
Pour avoir plus d'informations sur cette licence, visitez
http://creativecommons.org/licenses/by-sa/3.0/
Ou par courrier :
Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA.