Objectif :
L’objectif de cet atelier est de rendre un jeu simple d’enfant (poupée) un jeu dynamique et amusant. Cette tâche sera élaborée à l’aide d’une carte arduino et des actionneurs.
Fonctions :
Setup() :
La fonction setup () ne fonctionnera qu'une seule fois, après chaque mise sous tension ou réinitialisation de la carte Arduino. Utilisez-le pour initialiser les variables, les modes broches, commencer à utiliser les bibliothèques, etc.
Loop() :
Fonction fait précisément ce que son nom suggère et effectue des boucles consécutives, permettant à votre programme de changer et de répondre. Utilisez-le pour contrôler activement la carte Arduino.
delay(ms) :
Met le programme en pause pour la durée (en millisecondes) spécifiée en paramètre. (Il y a 1000 millisecondes par seconde.)
ms: le nombre de millisecondes à suspendre
attach() :
Prend en argument un unique paramètre obligatoire correspond au numéro de broche sur laquelle le servomoteur est câblé
Servo.attach(PIN)
write() :
Permet de modifier l'angle du bras du servomoteur en donnant en paramètre l'angle en question, sous la forme d'un nombre entier compris entre 0° et 180°
Servo.write (N)
print() :
Affiche une chaine de caractère à l'écran et déplace le curseur sur la ligne suivante si l'on dépasse la largeur d'affichage. Si le texte est trop long pour être affiché sur une ligne, une partie de celui-ci est perdu.
lcd.print(val)
clear() :
Efface l'écran.
lcd.clear()
backlight() :
Active le rétro-éclairage
lcd.backlight()
init() :
initialize the lcd
lcd.init()
setCursor() :
Modifie la position du curseur à l'écran pour le prochain affichage (de 0 à N-1). Attention, le premier argument la colonne.
lcd.setCursor(col, row)
Matériels :
Carte Arduino Uno :
Figure 1: Arduino Uno
BreadBoard :
Figure 2 : BreadBoard
Câbles : (dans cet atelier nous allons utiliser les câbles de type male-male)
Figure 3: Câbles
Servomotor :
Figure 4: Servomotor
Ecran Lcd I2D:
Figure 5: LCD I2C
Code Source:
#include <Servo.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
Servo monServomoteur; // tête de la poupée
Servo monServomoteur1; // bras 1 de la poupée
Servo monServomoteur2; // bras 2 de la poupée
// le code dans cette fonction est exécuté une fois au début
void setup() {
Serial.begin(9600);
monServomoteur.attach(2);
monServomoteur1.attach(3);
monServomoteur2.attach(4);
lcd.init();
lcd.backlight();
}
// le code dans cette fonction est exécuté en boucle
void loop() {
lcd.setCursor(1,0);
lcd.print("WELCOME TO AIOT");
monServomoteur.write(90);
delay(50);
monServomoteur1.write(0);
delay(50);
monServomoteur2.write(90);
delay(3000);
monServomoteur.write(135);
delay(200);
monServomoteur.write(90);
delay(200);
monServomoteur.write(45);
delay(200);
monServomoteur.write(90);
delay(200);
monServomoteur.write(135);
delay(200);
monServomoteur.write(90);
delay(200);
monServomoteur.write(45);
delay(200);
monServomoteur.write(90);
delay(3000);
monServomoteur.write(135);
delay(50);
monServomoteur1.write(90);
delay(50);
monServomoteur2.write(0);
delay(3000);
}
Tables de correspondance :
ServoMotor |
Arduino Uno |
- |
GND |
+ |
5v |
Signal |
D2 |
LCD I2C |
Arduino Uno |
GND |
GND |
VCC |
5v |
SDA |
A4 |
SCL |
A5 |
Etapes de réalisation:
- Créer un nouveau programme arduino (Sketch)
- Vérifier le programme
- Connexion de la carte Arduino à l’ordinateur via port USB
- Transférer le programme a la carte Arduino
- Montage du circuit de l’application
- Tester le fonctionnement du système