Vous êtes sur la page 1sur 47

Ministre de l'education

CREFOC Sousse 2019


Introduction
Arduino fait partie de la famille des
platines de développement. Il reste par contre
l'un des plus abordables et des plus répandus.
Une platine de développement est en général
un circuit imprimé équipé d'un
microprocesseur ou d'un microcontrôleur.
Comme Arduino est open source, il existe un
grand nombre de clones et de platines
compatibles, tout comme il existe de
nombreux modèles d'Arduino officiels, avec
Schéma d'une platine Arduino Uno
Bouton Reset Terre/Masse 14 Broches d’entrées/sorties numériques

Port USB
C'est le cerveau de notre carte. Il va
recevoir
Alimentation
5v
le programme que nous allons créer
et va le stocker dans sa mémoire avant de
l'exécuter. Grâce à ce programme, il va savoir
faire des choses, qui peuvent être : faire
Alimentation
clignoter
Externe
7-12V
une LED, afficher des caractères
Microcontrôleur
sur
sur
un écran, envoyer des données un ordinateur,à un
ordinateur, mettre en route ou arrêter un
eur...
moteur...
Alimentation Entrées Analogiques
3.3/5V Terre/Masse
Spécifications techniques de la carte
Microcontrôleur ATmega328P
Tension de service 5V
Tension d'entrée
7-12V
(recommandée)
Tension d'entrée (limites) 6-20V
14 (6 sorties commutables en
Entrées/sorties numériques
MLI)
Entrées analogiques 6
Courant maxi par broche d'E/S 20 mA
Courant maxi par broche 3.3V 50 mA
Mémoire Flash 32 KB
SRAM 2 KB
EEPROM 1 KB
Chargeur d'amorçage
0.5 KB
(bootloader)
Fréquence d'horloge 16 MHz
Interface USB
Dimensions 68.6 mm* 53.4 mm
Poid 25 g
Structure générale d’un sketch Arduino
Début du
sketch Les fonction
La fonction
variables loop()
setup fait exactement
permet
sont la plupart du
généralement ce
que son
temps
déclarées de au nom suggère
configurer
début (boucle
les programme
d'un différentesen
français),deelle
broches
immédiatement boucleOn
la carte. dedéfinit
après façon
ainsi
les
Déclaration + consécutive
quelles broches
commentaires Commentaires
et sans
doivent fin, et
servir
d'introduction. Variables
permettant
d'entrées
Toutes les
initialisation
à votre
et programme
de sorties.
variables que vous On place de typiquement
utilisez changer
dans votre et
Configuration du programme
de répondre.
dans
code le corps être
doivent de cette fonction
listées tout les
ici, avant ce
Setup () {
S'exécuter une
 
qui touche setup()
fonctions à l'initialisation du matériel
et loop(). Cette
Programme principale
seule fois
Chacune
(entrées,
déclaration des
sorties,deuxde
permet fonctions
capteurs, forment
définir leetc.)
type deLa
Une ou plusieurs instructions
}
ensemble
fonction
donnée de laavec
setup son s'exécute
() ne
variable. nom unqu'une bloc
 d'exécution
seule fois, identifié
après chaquepar desmise accolades
sous
Loop () { S'exécuter
Une ou plusieurs instructions {}. de
en boucle tension
Lors Celles-ci
ou servent
réinitialisation
l 'initialisation d'éléments
de la carte
en revanche, la
}
délimiteurs
Arduino.
variable reçoitpourunesavoir
valeur.où la définition
 de la fonction commence et où elle
installation du programme de Sketch
Installation
Télécharger
Excuter Arduino
du
Arduino
programme
IDE « arduino-1.X.X-windows »
IDE : Arduino IDE : :
installation du programme de Sketch
de la
Selection du carte
Port : cible :
installation du programme de Sketch
Installation de l’ArduBlock sur Arduino IDE:
Manipulations sur les
diodes
électroluminescentes
Manipulations sur les diodes électroluminescentes
Rappel du
materiel
Diode Shéma

Manipulations sur les


Lumineuse
Diode LED
Electrique

électroluminescentes
diodes
Manipulations sur les diodes électroluminescentes
Schéma de
montage

R = 330 Ω
Manipulations sur les diodes électroluminescentes
Programmez la carte Arduino afin d'allumer
la diode LED reliée à la broche 13.

int
  BrocheLed = 13; //Déclaration et initialisation de la broche digitale 13
void
  setup() {
pinMode(BrocheLed, OUTPUT); // Programmation de la broche 13 comme sortie
}
void loop() {
 digitalWrite(BrocheLed, HIGH); // Mettre la broche 13 sur le niveau haut (5V)
 }
Manipulations sur les diodes électroluminescentes

Reprogrammez la carte Arduino afin


d'allumer la même diode LED reliée à une
autre broche.
N.B. Ne pas oublier de déplacer le fil rouge
vers cette broche.
Manipulations sur les diodes électroluminescentes
Reprogrammez la carte Arduino afin de
clignoter la diode LED reliée à la broche 13
avec une fréquence de 1Hz.
Manipulations sur les diodes électroluminescentes
Reprogrammez la carte Arduino afin de
clignoter la diode LED reliée à la broche 13
avec une fréquence de 1Hz.
Manipulations sur les diodes électroluminescentes
Reprogrammez la carte Arduino afin d'allumer ou
éteindre la LED en fonction de l'état d'un capteur
TOR (Tout Ou Rien) : bouton poussoir (BP)
BP

Shéma
Electrique
Manipulations sur les diodes électroluminescentes
Reprogrammez la carte Arduino afin d'allumer ou
éteindre la LED en fonction de l'état d'un capteur
TOR (Tout Ou Rien) : bouton poussoir (BP)

Shéma
Du Montage
Manipulations sur les diodes électroluminescentes
Reprogrammez la carte Arduino afin d'allumer ou
éteindre la LED en fonction de l'état d'un capteur
TOR (Tout Ou Rien) : bouton poussoir (BP)
int BrocheLed = 13; //Déclaration et initialisation de la broche digitale 13
int BrocheBouton = 4; //Déclaration et initialisation de la broche digitale 4

void setup() {
pinMode(BrocheLed, OUTPUT); // Programmation de la broche 13 comme sortie
pinMode(BrocheBouton, INPUT); // Programmation de la broche 4 comme entrée
}

void loop() {
if (digitalRead(BrocheBouton) == HIGH) // Si l'entrée du BP est à l'état haut (BP
pressé)
digitalWrite(BrocheLed, HIGH); // Mettre la broche 13 sur le niveau haut (5V)
else // Sinon (l'entrée du BP est à l'état haut (BP relâché))
digitalWrite(BrocheLed, LOW); // Mettre la broche 13 sur le niveau bas (0V)
}
Manipulations sur les diodes électroluminescentes
Reprogrammez la carte Arduino afin d'allumer ou
éteindre la LED en fonction de l'état d'un capteur
TOR (Tout Ou Rien) : bouton poussoir (BP)
Manipulations sur les diodes électroluminescentes
Reprogrammez la carte Arduino afin de
commander Les feux de circulation
6 sec 2 sec 6 sec 2 sec

Feu 1

Phase 1 2 3 4

Feu 2
Manipulations sur les diodes électroluminescentes
Reprogrammez la carte Arduino afin de
commander Les feux de circulation

Shéma
Du Montage
Manipulations sur les diodes électroluminescentes
Reprogrammez la carte Arduino afin de
commander Les feux de circulation
void setup(){
pinMode( 4 , OUTPUT); pinMode( 5 , OUTPUT); pinMode( 6 , OUTPUT);
pinMode( 8 , OUTPUT); pinMode( 9 , OUTPUT); pinMode( 10 ,
OUTPUT);
}

void loop(){
digitalWrite( 4 , HIGH ); digitalWrite( 5 , LOW ); digitalWrite( 6 , LOW );
digitalWrite( 8 , LOW ); digitalWrite( 9 , LOW ); digitalWrite( 10 ,
HIGH );
delay( 6000 );
digitalWrite( 5 , HIGH ); digitalWrite( 9 , HIGH ); digitalWrite( 10 , LOW
);
delay( 2000 );
digitalWrite( 4 , LOW ); digitalWrite( 6 , HIGH );
digitalWrite( 8 , HIGH ); digitalWrite( 9 , LOW );
delay( 6000 );
digitalWrite( 5 , HIGH ); digitalWrite( 6 , LOW ); digitalWrite( 9 , HIGH );
Manipulations sur les diodes électroluminescentes
Reprogrammez la carte Arduino afin de Générer
un signal PWM Bouton
poussoir pour
diminuer la
luminosité
Bouton
poussoir pour
augmenter la
Shéma luminosité
Du Montage
Manipulations sur les diodes électroluminescentes
Reprogrammez la carte Arduino afin de Générer
un signal PWM
const int brightnessUp = 7; const int brightnessDown = 6;
const int ledPin = 9; const int maxBrightness = 12;
int brightness = maxBrightness; int interval=1;

void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(brightnessUp, INPUT); pinMode(brightnessDown, INPUT);
Serial.begin(9600);
}

void loop(){
if (digitalRead(brightnessUp) == HIGH && brightness < maxBrightness){
brightness = brightness + interval; Serial.println(brightness);
}
if (digitalRead(brightnessDown) == HIGH && brightness > 0){
brightness = brightness - interval; Serial.println(brightness);
}
Manipulations sur les diodes électroluminescentes
Reprogrammez la carte Arduino afin de Réglager
la luminosité d'une LED via un potentiomètre

Shéma
Du Montage
Le clavier numérique
(Keypad)
Le clavier numérique (Keypad)
Les claviers numériques sont un excellent moyen
permettant aux utilisateurs d'interagir avec leur
projet. Vous pouvez les utiliser pour naviguer
dans les menus, entrer des mots de passe ou
Le clavier numérique
bien contrôler des jeux et des robots.
Un clavier numérique est constitué d'un
(Keypad)
ensemble de touches ou bien de boutons
poussoirs qui sont réunis en une matrice.
Le clavier numérique (Keypad)
Dans cette leçon, nous allons pratiquer sur un
keypad à membrane de matrice 4*4 (figure à
droite). Les touches
sont alors disposées en 4 lignes et 4 colonnes.
Sous chaque touche se trouve un interrupteur à
membrane. A l'intérieur du clavier, Chaque
interrupteur d'une ligne est connecté d'un côté
aux autres interrupteurs de la même ligne par un
trait conducteur.
Le clavier numérique (Keypad)
Chaque interrupteur dans une
colonne est connecté de la
même manière - un côté de
l'interrupteur est connecté aux
autres interrupteurs de cette
colonne par un trait
conducteur. Chaque ligne et
chaque colonne est amenée
vers une seule broche de
sortie, ce qui donne un total de
8 broches sur un clavier 4*4.
Le clavier numérique (Keypad)
Appuyer sur une touche
ferme l'interrupteur entre un
trait de colonne et un trait
de ligne, permettant au
courant de circuler entre une
broche de colonne et une
broche de ligne. Le schéma
suivant d'un keypad 4*4
montre comment les lignes
et les colonnes sont
Schéma
connectées: simplifié d'un
Le clavier numérique (Keypad)

Schéma du
montage
Le clavier numérique (Keypad)
Reprogrammez la carte Arduino afin d'allumer une
diode si le mot de passe est vrai, sinon sera éteindre
const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
char hexaKeys[ROWS][COLS] = { {'1','2','3','A'}, {'4','5','6','B'}, {'7','8','9','C'},
{'*','0','#','D'}};
byte rowPins[ROWS] = {11, 10, 9, 8}; byte colPins[COLS] = {7, 6, 5, 4}; Keypad
customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);

void setup(){ Serial.begin(9600); pinMode( 3 , OUTPUT); }

void loop(){ char customKey = customKeypad.getKey();

if (customKey){ Serial.println(customKey);

if (customKey=='A') { digitalWrite( 3 , HIGH ); }


else
{ digitalWrite( 3 , LOW ); }}
}
UTILISATION DU MODULE
ULTRASON HC-SR04
UTILISATION DU MODULE ULTRASON HC-SR04
Spécifications techniques

Distance

UTILISATION DU MODULE Vitesse = 340 m/s

ULTRASON HC- = 0.034 cm/s

Distance= Temps x Vitesse

SR04 = Temps
2

58.8
 =Temps x 0.017
UTILISATION DU MODULE ULTRASON HC-SR04

Chronogramme

Distance
UTILISATION DU MODULE ULTRASON HC-SR04
Programmez la carte Arduino afin d'allumer la LED
reliée à la broche 7 s'il y aurait un obstacle de
distance entre 10 à 20 cm
UTILISATION DU MODULE ULTRASON HC-SR04
Programmez la carte Arduino afin d'allumer la LED
reliée à la broche 7 s'il y aurait un obstacle de
distance entre 10 à 20 cm
COMMANDE DE
SERVOMOTEUR
COMMANDE DE SERVOMOTEUR
Le servomoteur (souvent abrégé en « servo » est
un petit moteur à courant continu équipé de trois
broches et dont le positionnement est commandé
par des impulsions électriques (modulation de
COMMANDE DE
largeur d'impulsions : MLI), ces impulsions
SERVOMOTEUR
indiquent au servo la position à laquelle il doit se
diriger.
Servomoteur
Symbo 5V
le
COMMANDE DE SERVOMOTEUR
Programmez la carte Arduino afin de commander
le servomoteur, relié à la broche 9, en mode
balayage de 180 degrés par un pas de 5° chaque
300 ms.
COMMANDE DE SERVOMOTEUR
Programmez la carte Arduino afin de commander
le servomoteur, relié à la broche 9, en mode
balayage de 180 degrés par un pas de 5° chaque
300 ms.
COMMANDE DE SERVOMOTEUR
Programmez la carte Arduino afin de choisir un
ahgle défini à l'aide d'un bouton poussoir.
L'émetteur et le récepteur
infrarouge
L'émetteur et le récepteur
infrarouge
Un système de communication infrarouge typique
nécessite un émetteur IR et un récepteur IR.
L'émetteur ressemble à une LED standard, sauf
qu'il produit de la lumière dans le spectre IR au lieu
L'émetteur et le récepteur
du spectre visible. Si vous regardez à l'entête d'une
télécommande TV, vous verrez la LED de l'émetteur
IR. infrarouge
Le récepteur IR est une photodiode et un
préamplificateur qui convertit la lumière infrarouge
en un signal électrique.
L'émetteur et le récepteur
infrarouge
Un système de communication infrarouge typique
L'émetteur et le récepteur
infrarouge
void loop(){
#include <IRremote.h> if (irrecv.decode(&results)){

const int RECV_PIN = 7; switch(results.value){


IRrecv irrecv(RECV_PIN); case 0xFF38C7: //Keypad button "5"
decode_results results; digitalWrite(redPin, HIGH);
const int redPin = 10; delay(2000);
const int greenPin = 11; digitalWrite(redPin, LOW);
}
void setup(){
irrecv.enableIRIn(); switch(results.value){
irrecv.blink13(true); case 0xFF18E7: //Keypad button "2"
pinMode(redPin, OUTPUT); digitalWrite(greenPin, HIGH);
pinMode(greenPin, OUTPUT); delay(2000);
} digitalWrite(greenPin, LOW);
}

irrecv.resume();
}
}
Merci pour
votre
attention

Vous aimerez peut-être aussi