Académique Documents
Professionnel Documents
Culture Documents
Carte arduino
❑Présentation de la carte arduino
•Un robot mobile capable d'éviter les obstacles ou de suivre une ligne au sol ;
•Une interface entre votre téléphone mobile et les éclairages de votre maison ;
•Des afficheurs d'informations à base de textes défilants sur des panneaux à LEDs ;
•Une station météorologique consultable sur le Web ;
•Un pilote de caméra de surveillance.
De plus en plus utilisé dans le monde de l'éducation,
Apprécié dans le cadre des technologies embarquées,
❑ Le langage arduino
❑ loop()
▪ écrire le contenu du programme.
▪ cette fonction est appelée en permanence, c’est-à-dire
qu’elle est exécutée une fois, puis lorsque son
exécution est terminée, on la ré-exécute et encore et
encore.
Fonction Rôle
pinMode(1,OUTPUT) Broche 1 en sortie
pinMode(2,INPUT) Broche 2 en entrée
digitalRead(pin) mesure une donnée numérique sur une
des broches
digitalWrite(pin, value) écrit une donnée numérique sur une
des broches
analogRead(pin) mesure une donnée analogique sur une
des broches
analogWrite(pin, value) écrit une donnée
❑ Exemple 1:
void setup()
{
pinMode(pinLed, OUTPUT); // Broche 13 en sortie
}
void loop()
{
delay(500); // Attente d'une demi seconde
digitalWrite(pinLed, HIGH); // Allumage de la LED
delay(500);
digitalWrite(pinLed, LOW); // Eteignage de la LED
}
Instruction conditionnelle
❖ Instructions conditionnelles
• Instruction if
if (condition) { //statement(s) }
• Instruction else
if (condition1)
{ // do Thing A }
else if (condition2)
{ // do Thing B }
else
{ // do Thing C }
❑ Exemple 2 :
Le but est d’allumer une LED, si un bouton est enfoncé. Pour le câblage du bouton, il est
nécessaire d’y mettre en série une résistance relié à la masse. Cela à pour but d’éviter les
court circuits lorsque le bouton est enfoncé.
▪ description du programme
❖ Instructions conditionnelles
• Instruction if
if (condition) { //statement(s) }
• Instruction else
if (condition1)
{ // do Thing A }
else if (condition2)
{ // do Thing B }
else
{ // do Thing C }
Instruction conditionnelle
#include <Servo.h>
Servo Servo1;
Partie setup
// assignement de pin
Servo1.attach(numéro de pin choisie);
// Création d’un objet
Partie loop
//variation l’angle de rotation
Servo1.write(valeur de l’angle de rotation);
//lecture de la valeur de pin
PotVal=analogRead(PotPin);
//conversion de valeur de pot
angle=map(PotVal,0,1023,0,179);
// commander le cerveau moteur
myServo.write(angle);
▪ Mesure de la distance
▪ Un son est une vibration mécanique d'un fluide (tel que l'air) et qui se propage sous
forme d'onde. Seules une partie des fréquences sont perceptibles par l'oreille
humaine, le spectre sonore. Les sons à fréquence très basse sont appelés « infrasons »
alors que les sons à très haute fréquence sont appelés « ultrasons ».
▪ Les capteurs à ultrasons sont conçus pour détecter la proximité des objets en utilisant
la réflexion des ultrasons, tout comme les radars. Le principe consiste à calculer la
distance de l'obstacle à partir du temps mis par l'onde sonore pour faire le trajet aller
puis le retour jusqu'au capteur après réflexion de l'onde sur l'obstacle. Les ultrasons
sont principalement utilisés, car ils sont inaudibles à l'oreille humaine et sont
relativement précis sur de courtes distances.
▪ Branchement :
• une broche (Gnd), utilisée pour mettre le module à la masse (0 V) ;
• une broche de sortie (Echo), utilisée pour informer de la fin de l'émission du train d'ultrasons
et de son retour après réflexion sur l'obstacle ;
• une broche d'entrée (Trig pour Trigger), utilisée pour déclencher l'émission du train
d'ultrasons ;
• une broche (Vcc), utilisée pour alimenter le capteur en 5 V.
❑ Principe de fonctionnement
1.On envoie une impulsion HIGH de 10µs sur la broche TRIGGER du capteur.
2.Le capteur envoie alors une série d’impulsions ultrasoniques à 40KHz (inaudible pour
l'être humain).
3.Les ultrasons se propagent dans l'air jusqu'à toucher un obstacle et retourne dans l'autre
sens vers le capteur.
4.Le capteur détecte l'écho et clôture la prise de mesure.
Le signal sur la broche ECHO du capteur reste à HIGH durant les étapes 3 et 4, ce qui permet
de mesurer la durée de l'aller-retour des ultrasons et donc de déterminer la distance
/* Constantes pour le timeout */
const unsigned long timemax= 25000UL; // 25ms = ~8m
à 340m/s
/* Vitesse du son dans l'air en mm/us */
const float SOUND_SPEED = 340.0 / 1000; Fonction Rôle
/* Initialise le port série */
pinMode(1,OUTPUT) Broche 1 en sortie
Serial.begin(9600);
/*Calcule de duré de l’implusion */ pinMode(2,INPUT) Broche 2 en entrée
pulseIn(PIN, etat, MEASURE_TIMEOUT); digitalRead(pin) mesure une donnée
/*afficher une chaine */ numérique sur une des
Serial.print(F()) broches
/*afficher une valeur*/
digitalWrite(pin, value) écrit une donnée numérique
Serial.print(val)
sur une des broches
analogRead(pin) mesure une donnée
analogique sur une des
broches
analogWrite(pin, value) écrit une donnée