TP1 :
PROGRAMMER DES OBJETS AVEC
ARDUINO
Mme MILI SONIA
PRÉSENTATION DE LA CARTE ARDUINO
• Un Arduino est une plateforme de prototypage open-source
• Au cœur d'un Arduino se trouve un microcontrôleur programmable qui contrôle les
composants électroniques connectés à la carte.
PRÉPARATION DE L’ENVIRONNEMENT DE PROGRAMMATION
• Pour programmer la Carte Arduino, on a besoin de :
▪ un logiciel (appelé IDE : Integrated Development Environment) appelé IDE Arduino
▪ une prise USB pour envoyer les instructions, depuis un ordinateur disposant de l’IDE
Arduino
Le terme Arduino désigne la carte et le logiciel (gratuit) permettant de coder cette carte.
Le port USB permet aussi d’alimenter la carte Arduino
Une fois programmé, Arduino peut être alimenté par une batterie ou une prise secteur
• Préparation de l’environnement Arduino
➢Rendez vous sur le site officiel [Link] et cliquez sur l'onglet Software /
Downloads de la barre de navigation
➢ Choisir la version qui correspond à votre système d’exploitation
PRÉSENTATION DU LOGICIEL ARDUINO
Ici, on met le programme
que nous allons créer
Fenêtre de débogage :
➔ On y voit les fautes
dans notre programme
UTILISATION DU LOGICIEL ARDUINO (1)
❑Carnet de croquis : Ce menu regroupe les
fichiers que vous avez pu faire jusqu’à
maintenant (et s’ils sont enregistrés dans le
dossier par défaut du logiciel).
❑Exemples : On fournit des exemples de
programmes existants ; qui peuvent nous
aider/inspirer pour créer nos propres
programmes.
❑Téléverser : Permet d’envoyer le programme
sur la carte Arduino.
UTILISATION DU LOGICIEL ARDUINO (2)
• Le fonctionnement du logiciel Arduino est basique.
Ouvre un fichier Enregistre le fichier ouvre le moniteur série
Créer un nouveau fichier
Charge le programme dans la carte Arduino
Vérifier qu’il n’y a pas d’erreurs dans notre programme
TESTER SON MATÉRIEL (1)
❑Avant de commencer à programmer, il faut tester le bon fonctionnement de la carte
Une petite LED verte témoigne de la bonne
alimentation de la carte
❑ Le logiciel Arduino contient des
exemples de programmes.
➔ Nous allons utiliser ces exemples pour
tester la carte.
❑ Cliquer sur Blink
❑➔ une nouvelle fenêtre va apparaître.
Elle contient le programme Blink
TESTER SON MATÉRIEL (2)
❑Voici le programme Blink
❑Avant d’envoyer le programme Blink vers la
carte, il faut :
✓ Choisir la carte qu’on va programmer
✓ Allez dans : Tools → Board → choisir
le nom de la carte
➔ Dans ce TP, il s’agit du « Arduino Uno »
TESTER SON MATÉRIEL (3)
1. Choix de la carte Arduino Uno 2. Choix du port de communication
3. Compiler le code 4. Téléverser le code
LA SYNTAXE DU LANGAGE
❑Avec Arduino, nous devons utiliser un code minimal lorsque l’on crée un programme.
❑ Ce code permet de diviser le programme que nous allons créer en deux grosses
parties.
La fonction setup() est appelée une seule fois
EXEMPLE 1 : CLIGNOTEMENT D’UNE LED
• On veut allumer une LED pendant 1s puis
l’éteindre pendant 1s
• Modifier : le programme Blink sur
Fichier→Exemples→[Link]→Blink
PIN12
EXERCICE1: FEU TRICOLORE
On se propose de réaliser un feu tricolore avec trois LED :
(une verte→broche 4, une orange→broche 3, une rouge→broche 2)
Les LEDs devront être allumées comme suit :
➢ Verte allumée pendant 3 secondes (la LED verte devra être la première LED à s'allumer)
➢ Orange allumée pendant 1 seconde (comme dans la vraie vie, verte devra s'éteindre et la LED orange
s'allume en second)
➢ Rouge allumée pendant 3 secondes (après orange, on passe au rouge)
➢ Cette séquence devra être exécutée encore et encore en utilisant le bloc loop()
FEU TRICOLORE : CORRECTION
UTILISATION DES CAPTEURS NUMÉRIQUES
• Le bouton poussoir est un capteur • Exemple3 : On considère un Arduino qui va
numérique qui peut nous donner deux allumer une LED lorsqu'on appuie sur un
informations sur l’état d’un bouton bouton poussoir.
lorsqu’on le branche sur Arduino. Matériel utilisé :
• Soit le bouton est appuyé (HIGH) soit • Un Arduino,
il ne l’est pas (LOW) • une platine de prototypage
On a deux états seulement • Un bouton-poussoir
Le bouton poussoir sera branché à un • une LED,
pin Digital • Des fils de prototypage
• des résistances
EXEMPLE 2 :
LES CAPTEURS ANALOGIQUES
• Un capteur analogique permet de distinguer tout un panel d'états et
les convertir en une valeur numérique exploitable dans nos
programmes.
• Exemple : Le capteur de luminosité est un capteur analogique
Les valeurs renvoyées à Arduino si on lui branche ce capteur peuvent
prendre des valeurs comprises entre 0 et 1023
• Un capteur Analogique est branché à un pin Analogique
EXEMPLE 3 : SYSTÈME D’ÉCLAIRAGE
• On s’intéresse à un capteur de luminosité (aussi appelé photorésistance)
qui permet à Arduino de connaître la luminosité autour de lui.
• On va allumer une LED branchée sur la broche 9. L'intensité lumineuse
de la LED sera proportionnelle à la luminosité captée par la
photorésistance branchée sur la broche A0 (le A signifie que c'est une
entrée Analogique).
• Nous verrons également comment Arduino peut dialoguer avec
l'ordinateur grâce au moniteur série.
CAPTEUR DE LUMIÈRE
LDR Photorésistance
Module Capteur de Lumière à Photorésistance
EXEMPLE 3 : SCHÉMA DE
MONTAGE ET CODE
EXEMPLE 3 : EXPLICATION
EXEMPLE 4 : THÉRÉMINE LUMINEUX
• On se propose de réaliser un Thérémine lumineux
• On utilisera un buzzer piézo-électrique qui transforme l'impulsion électrique envoyée par une
broche en une onde sonore de fréquence identique et audible.
• On veut que la fréquence jouée par le buzzer (branché sur la broche 8) soit proportionnelle
à la luminosité mesurée par la photorésistance (branchée sur la broche A2)
Plus la luminosité reçue par la photorésistance est importante, plus la fréquence jouée par le
buzzer sera élevée (et inversement, si on passe notre main devant le capteur de luminosité alors
le son émis sera grave→fréquence basse).
• Vous aurez besoin de la fonction tone qui prend deux paramètres :
o la broche où le buzzer est branché
o la fréquence que l'on veut jouer avec le buzzer (exprimée en Hertz)
tone(8, 440); // la note La (440Hz) jouée sur un buzzer branché sur la broche 8
LES BUZZERS
Le Buzzer ACTIF génère du bruit quand il reçoit
une alimentation continue, comme une sonnette.
Le Buzzer PASSIF se comporte comme un mini haut-
parleur à alimenter par un signal audio à diffuser
23
THÉRÉMINE
LUMINEUX : CODE
Q1. Affichez les valeurs de luminosité et la fréquence jouée par le
buzzer au niveau du moniteur série
MY SMART HOME
TÂCHES À FAIRE
• Capture de la température et de l’humidité ambiante et affichage sur un afficheur LCD
• Si la température dépasse le seuil de 26°C, alors une led orange doit s’allumer
• Si la température dépasse le seuil de 30°C, alors un buzzer doit se déclencher
• Système d’éclairage intelligent
• On utilise un capteur de présence (PIR) pour détecter la présence de quelqu’un
• On utilise une Photodiode pour vérifier le degré de luminosité dans la maison
• Si oui; on devra tester s’il fait obscure ou non .
• obscurité & présence de quelqu’un ➔ Allumer la LED
• pas obscure ➔ ne pas allumer la led
• Contrôle d’accès à la maison via keypad
• Contrôle d’accès à la maison via RFID
Mesure de la température et de l’humidité
ambiante via capteur DHT11 et affichage
via Afficheur LCD
CAPTEUR DHT11
La capteur DHT11 permet de mesurer la température et l’humidité
ambiante
Plage de Température : 0-50 ℃
Précision de Température :±2% ℃
Plage d’humidité : 20-90% RH
Précision de l’humidité : :±5%
VCC Alimentation (3.3V - 5V)
Data Génère la température et l’humidité
GND (ground) Lié à la masse
AFFICHEURS LCD
Afficheur LCD 1602 I2C
Afficheur LCD 1602 Afficheur LCD 1604
CÂBLAGE DU DHT11 ET DE L’AFFICHEUR LCD
▪ Câblage du DHT11
o Connectez la broche VCC du DHT11 à 5V de l'Arduino.
o Connectez la broche GND du DHT11 à une des broches GND de l'Arduino.
o Connectez la broche DATA du DHT11 à une broche numérique de votre
choix sur l'Arduino. Par exemple, utilisez la broche A0.
▪ Câblage de l’afficheur LCD
o PIN1 ou VSS et PIN5 ou RW (lecture/écriture) → GND.
o PIN2 ou VDD ou VCC→ à l'alimentation +5 V.
o PIN3 ou V0 au pin milieu du potentiomètre (les autres PINs du potentiomètre
connectés GND et 5V)
o PIN4 ou RS (Sélection de registre) → PIN 12 de l'ARDUINO UNO.
o PIN6 ou E (Activer) → PIN 11 de l'ARDUINO UNO.
o PIN11 ou D4 → PIN 5 de ARDUINO UNO.
o PIN12 ou D5 → PIN 4 de ARDUINO UNO.
o PIN13 ou D6 → PIN 3 de l'ARDUINO UNO.
o PIN14 ou D7 → PIN 2 de ARDUINO UNO.
o Résistance PIN15 (ou A) à 220 ohms → 5V de la plaque à essai
o PIN16 (ou K) vers GND de la plaque à essai
AJOUT DES LIBRAIRIES NÉCESSAIRES POUR MANIPULER LE
CAPTEUR DHT11 ET L’AFFICHEUR LCD
Après avoir effectué ces connexions matérielles, Il faudra installer les libraries :
DHT11 (DHT sensor Library)
LCD (LiquidCrystal)
EXERCICE
• Considérez le code précédent
• Ajoutez une diode qui s’allume lorsque la température dépasse un seuil
de 26 °C
• Ajoutez un Buzzer qui se déclenche lorsque la température dépasse 30°C
• N’oubliez pas d ’afficher des notifications sur le moniteur série
SYSTÈME D’ÉCLAIRAGE INTELLIGENT
Dans cette partie, on se propose de gérer l’éclairage dans un
endroit en utilisant un capteur de mouvement PIR (HC-SR501)
Capteur de Mouvement PIR HC-SR501
Les capteurs PIR « passive infrared » sont des capteurs de mouvement.
Un capteur PIR détecte les changements dans la quantité de rayonnement
infrarouge qu'il reçoit.
Lorsqu'il y a un changement significatif dans la quantité de rayonnement
infrarouge qu'il détecte, une impulsion est déclenchée.
NB. Les humains et les autres animaux émettent
des radiations tout le temps.
Un capteur PIR peut détecter lorsqu'un
humain (ou un animal) se déplace devant lui.
Les potentiomètres (de réglage du délai et de
sensibilité) sont tournés à fond dans le sens inverse
des aiguilles d'une montre
La sensibilité et le délai d'attente sont au plus bas.
35
Autres capteurs de Mouvements
Détecteur de mouvement
sans fil - MC-335R
Détecteur de mouvement
connecté MS1P 36
CÂBLAGE DU CAPTEUR PIR
• Le capteur de mouvement PIR (HC-SR501)a trois PIN :
▪ GND → à connecter au GND de la carte Arduino
▪ OUT → à connecter à un PIN digital de la carte Arduino
▪ VCC → à connecter au PIN 5V de la carte Arduino
• Soit le code suivant. Faites le câblage correspondant au code
fourni
EXERCICE
• Modifiez le code précédent en introduisant une photodiode qui permet
d’allumer la lumière en cas de mouvement lorsqu’il fait obscur.