SlideShare une entreprise Scribd logo
1  sur  24
Formation Arduino
Animateur Mr HAMDI Hichem
Arduino, c’est quoi ?
Une carte électronique
programmable de petite taille,
peu coûteuse et facile à
utiliser.
elle agit comme un contrôleur
et un lien entre divers
composants électriques
+
Un logiciel de
programmation en langage
C++ qui permet de
programmer la carte en
fonction du comportement
désiré.
Avantages
 peu couteux
 simple et facile a mettre en œuvre
 large bibliothèque d'exemples
 forums pour des conseils , sur le net
www.arduino.cc
 les « shields »
inconvénients
 Peu adapté pour la gestion de
plusieurs périphériques en parallèle.
 Le courant qu'il peut fournir est
égale à 20mA.
Présentation de la carte
La carte Arduino est
construite autour d'un
microcontrôleur Atmel AVR
Utilisé pour alimenter la
carte Arduino et la
connecter à l'ordinateur
pour la programmation
Lorsqu'il est pressé,
l’Arduino ré-exécute le
programme
Présentation de la carte
Ports numériques 2 à 13 : ces ports
peuvent être utilisés en entrée pour lire
une tension, ou en sortie pour en créer
une. Ils n’acceptent que deux valeurs : 0
ou 5 volts.
Ports I/O
Digital Pins
Diode lumineuse de test : elle est pilotée
par le port numérique 13 configuré en
sortie et permet de tester rapidement la
carte
Les ports 0 et 1 sont utilisés pour la
communication série avec l’ordinateur via
le câble USB.
Présentation de la carte
Après avoir exécuté l’Arduino et y avoir
branché l’alimentation , vous pouvez
utiliser ce groupe pour fournir à votre
circuit électronique l’alimentation
appropriée.
Ports I/O
Power Pins
Vous pouvez étendre la puissance
Arduino en connectant une tension
appropriée 7-12V via VIN ou le jack
Analog Inputs
Numérotées A0-A5
Rque: On peut utiliser ces pins co
I/O
numériques
Nous utiliserons ici le logiciel Arduino qui peut se
télécharger sur le site de référence
www.arduino.cc .
 Des menus pour accéder aux différents
paramètres (Fichiers, Édition, …).
 Des icônes permettant des raccourcis.
L’icône « téléverser » est
particulièrement importante, car elle
envoie le programme à la carte Arduino.
 Une fenêtre de programmation : c’est ici
qu’il faut écrire le programme qui
pilotera la carte Arduino quand il sera
téléversé.
 Une fenêtre de messages : quand des
messages en orange apparaissent, c’est
qu’il y a un problème.
 indication de la carte Arduino et du
port COM utilisés
Programmer avec le logiciel arduino
Les programmes des cartes Arduino doivent toujours comporter deux procédures
particulières :
Module LED ou DEL
La LED ou DEL est un actionneur.
Lorsqu’elle est parcourue par un courant
électrique, elle émet de la lumière.
Nom à utiliser dans le
programme Connecté à la broche
led1 D13
Exemple : faire clignoter une LED connectée à D13
void loop()
{
allumer(led1);
pendant(1000);
eteindre(led1);
pendant(1000);
}
Bouton poussoir et interrupteur
Le bouton poussoir est un interrupteur
qui ferme le circuit lorsqu’on appuie
dessus et l’ouvre lorsqu’on relâche.
Nom à utiliser dans le
programme
Connecté à la broche
bp D2
led D13
Exemple : fait allumer une led si on appuie sur le
bouton poussoir connecté à D2
void loop()
{
lire(bp);
if (etatbp==HIGH)
{ led=1; }
else
{ led=0; }
}
Bouton poussoir
Opérateurs logiques
Opérateur logique
Dans le
programme
Exemple
ET logique
Vraie si les deux
conditions sont
remplies
&& if(condition 1 && conditions 2)
OU logique
Vrai si l’une ou l’autre des
conditions est remplie
!! if(condition 1 !! conditions 2)
NON logique
Vrai si la condition est
fausse
! if( ! condition)
Les conditions
Condition Dans le programme
Egale à ==
Supérieur >
Inférieur <
Supérieur ou égal >=
Inférieur ou égal <=
Non égal !=
Les tests dans le programme
Test Dans le programme
Si … if(condition)
{instructions}
Si … Sinon if(condition)
{instructions}
else
{instructions}
Si … Sinon Si … if(condition)
{instructions}
elseif(condition)
{instructions}
Faire … Tant que… do
{instructions}
while(condition) ;
Tan que … while(condition)
{instructions}
Compteur for(variable ; condition ; comptage)
{instructions}
Exemples : exécute les instructions 5 fois.
for(variable=0 ; variable == 4 ; variable+=1)
{instruction}
for(int i=0 ; i==4)
{i++
instructions}
Afficheur LCD
Le capteur de température permet à la
carte de calculer la température à
proximité de ce dernier.
Fonctions
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
lcd.begin(16, 2);
lcd.print(« message");
lcd.setCursor(colonne, ligne);
Servomoteur
Un servomoteur est un moteur dont on
peut commander la position angulaire, de
0° à 180° avec précision.
Le fil jaune ou blanc se connecte à D9.
Fils Connecté à la broche
Fil noir Gnd
Fil rouge 5V
Fil jaune ou blanc D9
Fonctions Commentaires
Servo myservo;
myservo.attach(pin);
myservo.write(pos);
angle est compris entre
0 et 180. Il correspond
à l’angle auquel le
servomoteur se
déplacera.
Exemple : faire tourner le servomoteur de 0° à 45° par
pas de 5°
void loop()
{
angleservo(0);
for(int i=0; i<=45; i+=5)
{
angleservo(i);
pendant(15ms) ;
} }
D9
La détection des obstacles par capteur ultrason.
Le principe de son fonctionnement est
basé sur l’émission de courtes
impulsions sonores à haute fréquence
(40khz) pendant des intervalles réguliers.
Ces impulsions se propagent dans l’air à
la vitesse du son (340,29ms) .
Lorsqu’elles rencontrent un objet, elles
se réfléchissent et revient sous forme
d’écho au capteur.
Exemple : Mesure de la distance des obstacles par
capteur ultrason
void loop()
{
Trigpin=0;
Temps=10us;
Trigpin=1;
Temps=10us
Trigpin=0;
Mesure(durée);
Mesure(distance);
}
Broches de sr04 Connecté à la broche
trigPin D13
echoPin D12
LEDS D11, D10
Capteur de température
Le capteur de température permet à la
carte de calculer la température à
proximité de ce dernier.
Fonctions Commentaires
liretemp(); Permet de lire une valeur de
luminosité.
if(temperature>=seuil)
{
ACTION DESIREE
}
else
{
ATION DESIREE
}
Déclenche une action si la
température est supérieure
ou inférieure au seuil. Sinon,
déclenche une autre action
désirée.
seuil :
nombre entre 0 et 50 en
degré Celius.
Comparaisons possibles :
> ou < ou >= ou <=
Exemple : allume la LED si la quantité de lumière
captée est inférieure au seuil.
void loop()
{
liretemp() ;
if(temperature<=28)
{sens1() ;}
else
{arret() ;}
}
Broches de LM35 Connecté à la broche
1 5V
2 OUT - A0
3 GND
Moteur à courant continu
Le module de commande de moteurs à
courant continue est une interface de
puissance qui permet de piloter deux
moteurs. On peut les faire tourner dans
les deux sens et les arrêter.
Exemple : si le bouton poussoir est appuyé, les
moteurs
void loop()
{
lire(bp1);
if (etatbp1==HIGH)
{
reculer(); pendant(2000); arret();
}
else
{
avancer(); pendant(2000); arret();
}}
Fonctions Commentaires
avancer();
Fait tourner les moteurs
dans un sens
reculer();
Fait tourner les moteurs
dans l’autre sens
arret(); Arrête les moteurs
pendant(durée);
durée est une valeur en
millisecondes. 1s = 1000 ms
Buzzer
Le buzzer vibre en émettant un son à la
fréquence du signal électrique qui le
parcours.
Fils Connecté à la broche
Fil noir Gnd
Fil rouge D3
Fil jaune ou blanc D9
Fonctions Commentaires
melodie(); Joue une mélodie
préprogrammée.
Exemple : jouer une mélodie préprogrammée et
attendre 5 secondes.
void loop()
{
melodie();
pendant(5000);
}
D3 D3
Photorésistance (LDR)
La photorésistance est une résistance
qui varie en fonction de la luminosité.
La carte renvoie un nombre compris
entre 0 (absence de lumière) et 1023
(luminosité maximum).
Nom à utiliser dans le
programme
Connecté à la broche
ldr A0
lumiere -
Fonctions Commentaires
lirecapteur(ldr); Permet de lire une valeur de
luminosité.
If(lumiere>=seuil)
{
ACTION DESIREE
}
else
{
ATION DESIREE
}
Déclenche une action si la
luminosité est supérieure ou
inférieure au seuil. Sinon,
déclenche une autre action
désirée.
seuil :
nombre entre 0 (luminosité
min.) et 1023 (luminosité max.)
Comparaisons possibles :
> ou < ou >= ou <=
Exemple : allume la LED si la quantité de lumière
captée est inférieure au seuil.
void loop()
{
lirecapteur(ldr) ;
if(lumiere<=500)
{allumer(led1)}
else
{eteindre(led1)}
}
Barrière infrarouge
Le module barrière infrarouge connecté à l’entrée analogique A3 permet
de détecter le passage d’un objet entre la LED infrarouge émettrice et le
phototransistor infrarouge récepteur.
Le nombre récupéré par l’interface arduino est compris entre 0 et 1023.
1023 est le nombre renvoyé si le faisceau infrarouge est coupé.
Nom à utiliser dans le
programme
Connecté à la broche
ir A3
barriere -
Fonctions Commentaires
lirecapteur(irr); Permet de lire une valeur de
luminosité.
If(barriere>=seuil)
{
ACTION DESIREE
}
else
{
ATION DESIREE
}
Déclenche une action si la si
le faisceau lumineux est
coupé. Sinon, déclenche une
autre action désirée.
seuil :
nombre entre 0 (luminosité
min.) et 1023 (luminosité max.)
Comparaisons possibles :
> ou < ou >= ou <=
Exemple : allume la LED si la quantité de lumière
captée est inférieure au seuil.
void loop()
{
lirecapteur(ir) ;
if(barriere<=900)
{allumer(led1)}
else
{eteindre(led1)}
}
Suiveur de ligne
Le suiveur de ligne fonctionne sur le principe
de la barrière infrarouge. La lumière renvoyée
par le blanc est supérieure à celle renvoyée par
le noir.
0 -> noir
1 -> blanc
Nom à utiliser dans le
programme
Connecté à la broche
ligne1 A1
ligne2 A5
couleur1 Stocke le chiffre de la couleur1
couleur2 Stocke le chiffre de la couleur2
Fonctions Commentaires
lirecapteur(nom); Permet de lire une valeur de
quantité de lumière réfléchie.
If(couleur1==0)
{
ACTION DESIREE
}
else
{
ATION DESIREE
}
Déclenche une action si la en
fonction des couleurs
détectées.
Couleur blanche : 0
Couleur noire : 1
Exemple : allume la LED si la quantité de lumière
captée est inférieure au seuil.
void loop()
{
lirecapteur(ligne1) ;
lirecapteur(ligne2) ;
if(couleur1==0 && couleur2==0)
{avancer();pendant(1000)}
elseif(couleur1==1 && couleur2==0)
{gauche();pendant(1000);}
elseif(couleur1==0 && couleur2==1)
{droite(); pendant(1000);}
elseif(couleur1==1 && couleur2==1)
{arret();}
}
A1 A2Gnd5V
couleur1 couleur2
Capteur de frappe
Le module capteur de frappe connecté à l’entrée
analogique A4 permet de détecter une frappe
sur le buzzer ou sur son support.
Le nombre récupéré par l’interface arduino est
compris entre 0 et 1023.
Un seuil de détection de 100 suffit à détecter
une petite frappe.
Nom à utiliser dans le
programme
Connecté à la broche
frappe A4
intensite -
Fonctions Commentaires
lirecapteur(frappe); Permet de lire une valeur de
luminosité.
If(intensite>=seuil)
{
ACTION DESIREE
}
else
{
ATION DESIREE
}
Déclenche une action si la
frappe est supérieure ou
inférieure au seuil. Sinon,
déclenche une autre action
désirée.
seuil :
nombre entre 0 (rien) et
1023 (frappe max.)
Comparaisons possibles :
> ou < ou >= ou <=
Exemple : allume la LED si la frappe captée est
supérieure au seuil.
void loop()
{
lirecapteur(frappe) ;
if(intensite>=100)
{allumer(led1)}
else
{eteindre(led1)}
}
Exemple de câblage
Arduino France : http://arduino.cc/fr/
Fournisseurs :
http://shop.snootlab.com
www.lextronic.fr
Blog sur arduino de M. Russeil :
http://blog.crdp-versailles.fr/technogalois/index.php/

Contenu connexe

Tendances

Base des systèmes à microprocesseur
Base des systèmes à microprocesseurBase des systèmes à microprocesseur
Base des systèmes à microprocesseurPeronnin Eric
 
2743557 dossier-ppe-robot-suiveur-de-ligne
2743557 dossier-ppe-robot-suiveur-de-ligne2743557 dossier-ppe-robot-suiveur-de-ligne
2743557 dossier-ppe-robot-suiveur-de-ligneAziz ShadowStokes
 
Programmation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communicationProgrammation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communicationECAM Brussels Engineering School
 
ROBOT à base d'Android - Présentation PFE
ROBOT à base d'Android - Présentation PFEROBOT à base d'Android - Présentation PFE
ROBOT à base d'Android - Présentation PFEHoussem Eddine LASSOUED
 
Exercices vhdl
Exercices vhdlExercices vhdl
Exercices vhdlyassinesmz
 
Systeme embarque td1
Systeme embarque td1Systeme embarque td1
Systeme embarque td1SinGuy
 
Conception d'un objet électronique - Présentation adulte
Conception d'un objet électronique - Présentation adulteConception d'un objet électronique - Présentation adulte
Conception d'un objet électronique - Présentation adultePeronnin Eric
 
Microcontrôleur PIC Microchip part1/2
Microcontrôleur PIC Microchip part1/2Microcontrôleur PIC Microchip part1/2
Microcontrôleur PIC Microchip part1/2Mohammed Lamghari
 
Slides capteurs partie 1
Slides capteurs partie 1Slides capteurs partie 1
Slides capteurs partie 1zinoha
 
Chapitre 4: Architecture simplifiée d’un ordinateur
Chapitre 4: Architecture simplifiée d’un ordinateur Chapitre 4: Architecture simplifiée d’un ordinateur
Chapitre 4: Architecture simplifiée d’un ordinateur Mohamed Lahby
 
ch1_introduction_aux_systemes_embarques.pdf
ch1_introduction_aux_systemes_embarques.pdfch1_introduction_aux_systemes_embarques.pdf
ch1_introduction_aux_systemes_embarques.pdfHoudaBezziane
 
Notes de cours sur le microcontrôleur PIC16F84 BADR DIDOUH FSTF.pdf
Notes de cours sur le microcontrôleur PIC16F84 BADR DIDOUH FSTF.pdfNotes de cours sur le microcontrôleur PIC16F84 BADR DIDOUH FSTF.pdf
Notes de cours sur le microcontrôleur PIC16F84 BADR DIDOUH FSTF.pdfIMADABOUDRAR1
 
Tp n6 les compteurs
Tp n6 les compteursTp n6 les compteurs
Tp n6 les compteursHatem Jebali
 
Détecter et réparer les pannes d
Détecter et réparer les pannes dDétecter et réparer les pannes d
Détecter et réparer les pannes dPaul Kamga
 
Chapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsChapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsSana Aroussi
 

Tendances (20)

Base des systèmes à microprocesseur
Base des systèmes à microprocesseurBase des systèmes à microprocesseur
Base des systèmes à microprocesseur
 
Chap2 dsp
Chap2 dspChap2 dsp
Chap2 dsp
 
2743557 dossier-ppe-robot-suiveur-de-ligne
2743557 dossier-ppe-robot-suiveur-de-ligne2743557 dossier-ppe-robot-suiveur-de-ligne
2743557 dossier-ppe-robot-suiveur-de-ligne
 
Programmation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communicationProgrammation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communication
 
ROBOT à base d'Android - Présentation PFE
ROBOT à base d'Android - Présentation PFEROBOT à base d'Android - Présentation PFE
ROBOT à base d'Android - Présentation PFE
 
Exercices vhdl
Exercices vhdlExercices vhdl
Exercices vhdl
 
Formation stm32
Formation stm32Formation stm32
Formation stm32
 
Systeme embarque td1
Systeme embarque td1Systeme embarque td1
Systeme embarque td1
 
Langage vhdl
Langage vhdlLangage vhdl
Langage vhdl
 
Conception d'un objet électronique - Présentation adulte
Conception d'un objet électronique - Présentation adulteConception d'un objet électronique - Présentation adulte
Conception d'un objet électronique - Présentation adulte
 
Processeur FPGA
Processeur FPGAProcesseur FPGA
Processeur FPGA
 
Microcontrôleur PIC Microchip part1/2
Microcontrôleur PIC Microchip part1/2Microcontrôleur PIC Microchip part1/2
Microcontrôleur PIC Microchip part1/2
 
présentation STM32
présentation STM32présentation STM32
présentation STM32
 
Slides capteurs partie 1
Slides capteurs partie 1Slides capteurs partie 1
Slides capteurs partie 1
 
Chapitre 4: Architecture simplifiée d’un ordinateur
Chapitre 4: Architecture simplifiée d’un ordinateur Chapitre 4: Architecture simplifiée d’un ordinateur
Chapitre 4: Architecture simplifiée d’un ordinateur
 
ch1_introduction_aux_systemes_embarques.pdf
ch1_introduction_aux_systemes_embarques.pdfch1_introduction_aux_systemes_embarques.pdf
ch1_introduction_aux_systemes_embarques.pdf
 
Notes de cours sur le microcontrôleur PIC16F84 BADR DIDOUH FSTF.pdf
Notes de cours sur le microcontrôleur PIC16F84 BADR DIDOUH FSTF.pdfNotes de cours sur le microcontrôleur PIC16F84 BADR DIDOUH FSTF.pdf
Notes de cours sur le microcontrôleur PIC16F84 BADR DIDOUH FSTF.pdf
 
Tp n6 les compteurs
Tp n6 les compteursTp n6 les compteurs
Tp n6 les compteurs
 
Détecter et réparer les pannes d
Détecter et réparer les pannes dDétecter et réparer les pannes d
Détecter et réparer les pannes d
 
Chapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsChapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récents
 

Similaire à Formation arduino 2018

Decouverte arduino
Decouverte arduinoDecouverte arduino
Decouverte arduinog-p-l
 
PPT01_Initiation à l’Arduino.ppt
PPT01_Initiation à l’Arduino.pptPPT01_Initiation à l’Arduino.ppt
PPT01_Initiation à l’Arduino.pptChokri Boussetta
 
Presntation about Arduino pins and for what
Presntation about Arduino pins and for whatPresntation about Arduino pins and for what
Presntation about Arduino pins and for whatMohamedSalimBelkorch
 
Cours2 initiation language arduino
Cours2   initiation language arduinoCours2   initiation language arduino
Cours2 initiation language arduinolabsud
 
121115 Présentation Arduino Cocoaheads
121115 Présentation Arduino Cocoaheads121115 Présentation Arduino Cocoaheads
121115 Présentation Arduino Cocoaheadscgodefroy
 
Arduino cottenceau1112
Arduino cottenceau1112Arduino cottenceau1112
Arduino cottenceau1112Hafid Moujane
 
Généralités sur les microcontrôleurs et PicBasic
Généralités sur les microcontrôleurs et PicBasicGénéralités sur les microcontrôleurs et PicBasic
Généralités sur les microcontrôleurs et PicBasicmorin moli
 
Gestion de la batterie d'un micro-drone projet fin d'année NIDBELKACEM Mouhci...
Gestion de la batterie d'un micro-drone projet fin d'année NIDBELKACEM Mouhci...Gestion de la batterie d'un micro-drone projet fin d'année NIDBELKACEM Mouhci...
Gestion de la batterie d'un micro-drone projet fin d'année NIDBELKACEM Mouhci...Mouhcine Nid Belkacem
 
Utilisation ardublock-v2 (1)
Utilisation ardublock-v2 (1)Utilisation ardublock-v2 (1)
Utilisation ardublock-v2 (1)Gerard Labernia
 
Programmation des cartes Arduino - Se familiariser avec la programmation Simple
Programmation des cartes Arduino - Se familiariser avec la programmation SimpleProgrammation des cartes Arduino - Se familiariser avec la programmation Simple
Programmation des cartes Arduino - Se familiariser avec la programmation SimpleAyoub Rouzi
 
STM32 F4 (PWM,SPI And ADC Test Examples)
STM32 F4 (PWM,SPI And ADC Test Examples)STM32 F4 (PWM,SPI And ADC Test Examples)
STM32 F4 (PWM,SPI And ADC Test Examples)Aymen Lachkhem
 
Electronique et-loisirs-n011
Electronique et-loisirs-n011Electronique et-loisirs-n011
Electronique et-loisirs-n011Cecilia Bevilaqua
 
Formation Langage c.pptx
Formation Langage c.pptxFormation Langage c.pptx
Formation Langage c.pptxValdy Ngouabira
 

Similaire à Formation arduino 2018 (20)

Arduino_en_technologie.ppt
Arduino_en_technologie.pptArduino_en_technologie.ppt
Arduino_en_technologie.ppt
 
Decouverte arduino
Decouverte arduinoDecouverte arduino
Decouverte arduino
 
PPT01_Initiation à l’Arduino.ppt
PPT01_Initiation à l’Arduino.pptPPT01_Initiation à l’Arduino.ppt
PPT01_Initiation à l’Arduino.ppt
 
Mini projet 3t2i se
Mini projet 3t2i seMini projet 3t2i se
Mini projet 3t2i se
 
Presntation about Arduino pins and for what
Presntation about Arduino pins and for whatPresntation about Arduino pins and for what
Presntation about Arduino pins and for what
 
Cours2 initiation language arduino
Cours2   initiation language arduinoCours2   initiation language arduino
Cours2 initiation language arduino
 
121115 Présentation Arduino Cocoaheads
121115 Présentation Arduino Cocoaheads121115 Présentation Arduino Cocoaheads
121115 Présentation Arduino Cocoaheads
 
Feu tricolore tuto
Feu tricolore tutoFeu tricolore tuto
Feu tricolore tuto
 
Arduino cottenceau1112
Arduino cottenceau1112Arduino cottenceau1112
Arduino cottenceau1112
 
Généralités sur les microcontrôleurs et PicBasic
Généralités sur les microcontrôleurs et PicBasicGénéralités sur les microcontrôleurs et PicBasic
Généralités sur les microcontrôleurs et PicBasic
 
Gestion de la batterie d'un micro-drone projet fin d'année NIDBELKACEM Mouhci...
Gestion de la batterie d'un micro-drone projet fin d'année NIDBELKACEM Mouhci...Gestion de la batterie d'un micro-drone projet fin d'année NIDBELKACEM Mouhci...
Gestion de la batterie d'un micro-drone projet fin d'année NIDBELKACEM Mouhci...
 
Utilisation ardublock-v2 (1)
Utilisation ardublock-v2 (1)Utilisation ardublock-v2 (1)
Utilisation ardublock-v2 (1)
 
T ps dsp
T ps dspT ps dsp
T ps dsp
 
Exam IIA5 INSAT 2018
Exam IIA5 INSAT  2018Exam IIA5 INSAT  2018
Exam IIA5 INSAT 2018
 
Programmation des cartes Arduino - Se familiariser avec la programmation Simple
Programmation des cartes Arduino - Se familiariser avec la programmation SimpleProgrammation des cartes Arduino - Se familiariser avec la programmation Simple
Programmation des cartes Arduino - Se familiariser avec la programmation Simple
 
STM32 F4 (PWM,SPI And ADC Test Examples)
STM32 F4 (PWM,SPI And ADC Test Examples)STM32 F4 (PWM,SPI And ADC Test Examples)
STM32 F4 (PWM,SPI And ADC Test Examples)
 
Electronique et-loisirs-n011
Electronique et-loisirs-n011Electronique et-loisirs-n011
Electronique et-loisirs-n011
 
Formation Langage c.pptx
Formation Langage c.pptxFormation Langage c.pptx
Formation Langage c.pptx
 
Rapport de sujet BTS 1.0
Rapport de sujet BTS 1.0Rapport de sujet BTS 1.0
Rapport de sujet BTS 1.0
 
Yapsc Manuel
Yapsc ManuelYapsc Manuel
Yapsc Manuel
 

Formation arduino 2018

  • 2. Arduino, c’est quoi ? Une carte électronique programmable de petite taille, peu coûteuse et facile à utiliser. elle agit comme un contrôleur et un lien entre divers composants électriques + Un logiciel de programmation en langage C++ qui permet de programmer la carte en fonction du comportement désiré. Avantages  peu couteux  simple et facile a mettre en œuvre  large bibliothèque d'exemples  forums pour des conseils , sur le net www.arduino.cc  les « shields » inconvénients  Peu adapté pour la gestion de plusieurs périphériques en parallèle.  Le courant qu'il peut fournir est égale à 20mA.
  • 3. Présentation de la carte La carte Arduino est construite autour d'un microcontrôleur Atmel AVR Utilisé pour alimenter la carte Arduino et la connecter à l'ordinateur pour la programmation Lorsqu'il est pressé, l’Arduino ré-exécute le programme
  • 4. Présentation de la carte Ports numériques 2 à 13 : ces ports peuvent être utilisés en entrée pour lire une tension, ou en sortie pour en créer une. Ils n’acceptent que deux valeurs : 0 ou 5 volts. Ports I/O Digital Pins Diode lumineuse de test : elle est pilotée par le port numérique 13 configuré en sortie et permet de tester rapidement la carte Les ports 0 et 1 sont utilisés pour la communication série avec l’ordinateur via le câble USB.
  • 5. Présentation de la carte Après avoir exécuté l’Arduino et y avoir branché l’alimentation , vous pouvez utiliser ce groupe pour fournir à votre circuit électronique l’alimentation appropriée. Ports I/O Power Pins Vous pouvez étendre la puissance Arduino en connectant une tension appropriée 7-12V via VIN ou le jack Analog Inputs Numérotées A0-A5 Rque: On peut utiliser ces pins co I/O numériques
  • 6. Nous utiliserons ici le logiciel Arduino qui peut se télécharger sur le site de référence www.arduino.cc .  Des menus pour accéder aux différents paramètres (Fichiers, Édition, …).  Des icônes permettant des raccourcis. L’icône « téléverser » est particulièrement importante, car elle envoie le programme à la carte Arduino.  Une fenêtre de programmation : c’est ici qu’il faut écrire le programme qui pilotera la carte Arduino quand il sera téléversé.  Une fenêtre de messages : quand des messages en orange apparaissent, c’est qu’il y a un problème.  indication de la carte Arduino et du port COM utilisés
  • 7. Programmer avec le logiciel arduino Les programmes des cartes Arduino doivent toujours comporter deux procédures particulières :
  • 8. Module LED ou DEL La LED ou DEL est un actionneur. Lorsqu’elle est parcourue par un courant électrique, elle émet de la lumière. Nom à utiliser dans le programme Connecté à la broche led1 D13 Exemple : faire clignoter une LED connectée à D13 void loop() { allumer(led1); pendant(1000); eteindre(led1); pendant(1000); }
  • 9. Bouton poussoir et interrupteur Le bouton poussoir est un interrupteur qui ferme le circuit lorsqu’on appuie dessus et l’ouvre lorsqu’on relâche. Nom à utiliser dans le programme Connecté à la broche bp D2 led D13 Exemple : fait allumer une led si on appuie sur le bouton poussoir connecté à D2 void loop() { lire(bp); if (etatbp==HIGH) { led=1; } else { led=0; } } Bouton poussoir
  • 10. Opérateurs logiques Opérateur logique Dans le programme Exemple ET logique Vraie si les deux conditions sont remplies && if(condition 1 && conditions 2) OU logique Vrai si l’une ou l’autre des conditions est remplie !! if(condition 1 !! conditions 2) NON logique Vrai si la condition est fausse ! if( ! condition)
  • 11. Les conditions Condition Dans le programme Egale à == Supérieur > Inférieur < Supérieur ou égal >= Inférieur ou égal <= Non égal !=
  • 12. Les tests dans le programme Test Dans le programme Si … if(condition) {instructions} Si … Sinon if(condition) {instructions} else {instructions} Si … Sinon Si … if(condition) {instructions} elseif(condition) {instructions} Faire … Tant que… do {instructions} while(condition) ; Tan que … while(condition) {instructions} Compteur for(variable ; condition ; comptage) {instructions} Exemples : exécute les instructions 5 fois. for(variable=0 ; variable == 4 ; variable+=1) {instruction} for(int i=0 ; i==4) {i++ instructions}
  • 13. Afficheur LCD Le capteur de température permet à la carte de calculer la température à proximité de ce dernier. Fonctions LiquidCrystal lcd(rs, en, d4, d5, d6, d7); lcd.begin(16, 2); lcd.print(« message"); lcd.setCursor(colonne, ligne);
  • 14. Servomoteur Un servomoteur est un moteur dont on peut commander la position angulaire, de 0° à 180° avec précision. Le fil jaune ou blanc se connecte à D9. Fils Connecté à la broche Fil noir Gnd Fil rouge 5V Fil jaune ou blanc D9 Fonctions Commentaires Servo myservo; myservo.attach(pin); myservo.write(pos); angle est compris entre 0 et 180. Il correspond à l’angle auquel le servomoteur se déplacera. Exemple : faire tourner le servomoteur de 0° à 45° par pas de 5° void loop() { angleservo(0); for(int i=0; i<=45; i+=5) { angleservo(i); pendant(15ms) ; } } D9
  • 15. La détection des obstacles par capteur ultrason. Le principe de son fonctionnement est basé sur l’émission de courtes impulsions sonores à haute fréquence (40khz) pendant des intervalles réguliers. Ces impulsions se propagent dans l’air à la vitesse du son (340,29ms) . Lorsqu’elles rencontrent un objet, elles se réfléchissent et revient sous forme d’écho au capteur. Exemple : Mesure de la distance des obstacles par capteur ultrason void loop() { Trigpin=0; Temps=10us; Trigpin=1; Temps=10us Trigpin=0; Mesure(durée); Mesure(distance); } Broches de sr04 Connecté à la broche trigPin D13 echoPin D12 LEDS D11, D10
  • 16. Capteur de température Le capteur de température permet à la carte de calculer la température à proximité de ce dernier. Fonctions Commentaires liretemp(); Permet de lire une valeur de luminosité. if(temperature>=seuil) { ACTION DESIREE } else { ATION DESIREE } Déclenche une action si la température est supérieure ou inférieure au seuil. Sinon, déclenche une autre action désirée. seuil : nombre entre 0 et 50 en degré Celius. Comparaisons possibles : > ou < ou >= ou <= Exemple : allume la LED si la quantité de lumière captée est inférieure au seuil. void loop() { liretemp() ; if(temperature<=28) {sens1() ;} else {arret() ;} } Broches de LM35 Connecté à la broche 1 5V 2 OUT - A0 3 GND
  • 17. Moteur à courant continu Le module de commande de moteurs à courant continue est une interface de puissance qui permet de piloter deux moteurs. On peut les faire tourner dans les deux sens et les arrêter. Exemple : si le bouton poussoir est appuyé, les moteurs void loop() { lire(bp1); if (etatbp1==HIGH) { reculer(); pendant(2000); arret(); } else { avancer(); pendant(2000); arret(); }} Fonctions Commentaires avancer(); Fait tourner les moteurs dans un sens reculer(); Fait tourner les moteurs dans l’autre sens arret(); Arrête les moteurs pendant(durée); durée est une valeur en millisecondes. 1s = 1000 ms
  • 18. Buzzer Le buzzer vibre en émettant un son à la fréquence du signal électrique qui le parcours. Fils Connecté à la broche Fil noir Gnd Fil rouge D3 Fil jaune ou blanc D9 Fonctions Commentaires melodie(); Joue une mélodie préprogrammée. Exemple : jouer une mélodie préprogrammée et attendre 5 secondes. void loop() { melodie(); pendant(5000); } D3 D3
  • 19. Photorésistance (LDR) La photorésistance est une résistance qui varie en fonction de la luminosité. La carte renvoie un nombre compris entre 0 (absence de lumière) et 1023 (luminosité maximum). Nom à utiliser dans le programme Connecté à la broche ldr A0 lumiere - Fonctions Commentaires lirecapteur(ldr); Permet de lire une valeur de luminosité. If(lumiere>=seuil) { ACTION DESIREE } else { ATION DESIREE } Déclenche une action si la luminosité est supérieure ou inférieure au seuil. Sinon, déclenche une autre action désirée. seuil : nombre entre 0 (luminosité min.) et 1023 (luminosité max.) Comparaisons possibles : > ou < ou >= ou <= Exemple : allume la LED si la quantité de lumière captée est inférieure au seuil. void loop() { lirecapteur(ldr) ; if(lumiere<=500) {allumer(led1)} else {eteindre(led1)} }
  • 20. Barrière infrarouge Le module barrière infrarouge connecté à l’entrée analogique A3 permet de détecter le passage d’un objet entre la LED infrarouge émettrice et le phototransistor infrarouge récepteur. Le nombre récupéré par l’interface arduino est compris entre 0 et 1023. 1023 est le nombre renvoyé si le faisceau infrarouge est coupé. Nom à utiliser dans le programme Connecté à la broche ir A3 barriere - Fonctions Commentaires lirecapteur(irr); Permet de lire une valeur de luminosité. If(barriere>=seuil) { ACTION DESIREE } else { ATION DESIREE } Déclenche une action si la si le faisceau lumineux est coupé. Sinon, déclenche une autre action désirée. seuil : nombre entre 0 (luminosité min.) et 1023 (luminosité max.) Comparaisons possibles : > ou < ou >= ou <= Exemple : allume la LED si la quantité de lumière captée est inférieure au seuil. void loop() { lirecapteur(ir) ; if(barriere<=900) {allumer(led1)} else {eteindre(led1)} }
  • 21. Suiveur de ligne Le suiveur de ligne fonctionne sur le principe de la barrière infrarouge. La lumière renvoyée par le blanc est supérieure à celle renvoyée par le noir. 0 -> noir 1 -> blanc Nom à utiliser dans le programme Connecté à la broche ligne1 A1 ligne2 A5 couleur1 Stocke le chiffre de la couleur1 couleur2 Stocke le chiffre de la couleur2 Fonctions Commentaires lirecapteur(nom); Permet de lire une valeur de quantité de lumière réfléchie. If(couleur1==0) { ACTION DESIREE } else { ATION DESIREE } Déclenche une action si la en fonction des couleurs détectées. Couleur blanche : 0 Couleur noire : 1 Exemple : allume la LED si la quantité de lumière captée est inférieure au seuil. void loop() { lirecapteur(ligne1) ; lirecapteur(ligne2) ; if(couleur1==0 && couleur2==0) {avancer();pendant(1000)} elseif(couleur1==1 && couleur2==0) {gauche();pendant(1000);} elseif(couleur1==0 && couleur2==1) {droite(); pendant(1000);} elseif(couleur1==1 && couleur2==1) {arret();} } A1 A2Gnd5V couleur1 couleur2
  • 22. Capteur de frappe Le module capteur de frappe connecté à l’entrée analogique A4 permet de détecter une frappe sur le buzzer ou sur son support. Le nombre récupéré par l’interface arduino est compris entre 0 et 1023. Un seuil de détection de 100 suffit à détecter une petite frappe. Nom à utiliser dans le programme Connecté à la broche frappe A4 intensite - Fonctions Commentaires lirecapteur(frappe); Permet de lire une valeur de luminosité. If(intensite>=seuil) { ACTION DESIREE } else { ATION DESIREE } Déclenche une action si la frappe est supérieure ou inférieure au seuil. Sinon, déclenche une autre action désirée. seuil : nombre entre 0 (rien) et 1023 (frappe max.) Comparaisons possibles : > ou < ou >= ou <= Exemple : allume la LED si la frappe captée est supérieure au seuil. void loop() { lirecapteur(frappe) ; if(intensite>=100) {allumer(led1)} else {eteindre(led1)} }
  • 24. Arduino France : http://arduino.cc/fr/ Fournisseurs : http://shop.snootlab.com www.lextronic.fr Blog sur arduino de M. Russeil : http://blog.crdp-versailles.fr/technogalois/index.php/