Initiation Arduino. Arduino, c’est quoi ? Une carte d’interface programmable capable de piloter des capteurs et des actionneurs afin de simuler ou créer.

Slides:



Advertisements
Présentations similaires
Arduino en technologie
Advertisements

CI2 : comment programmer un système automatisé ?
Arduino en technologie
Meetup maker girls Arduino et Capteurs
Initiation à l’Arduino
Hugues Aubin Baptiste Gaultier. BY-SA 2.0 M. Banzi, B. Gaultier.
CINI – Li115 1 Semaine 3 Boucles (suite), tirages aléatoires, bibliothèque graphique ● Imbrication d'instructions if et for ● Boucles for imbriquées ●
- Université Kasdi Merbah -Ouargla Faculté des Sciences de la technologie et Sciences de la matière Département de génie électrique Réalisation du banc.
Le protocole X-10 Domotique Patrick ABATI | 1 / En 1978, Pico Electronics une petite entreprise de Glenrothes (Ecosse) finalise le standard international.
Télécommande du mini-robot code Problème : Problème : Le robot doit être contrôlé par la télécommande Avancer (code 17) Droite (code 19) Gauche (code 20)
Getting Started with Arduino Workshop POWERED BY IEEE ISSAT SOUSSE SB Trainers : Ikram Twir (IEEE ISSATSo SB secretary ) Mehdi Mili (IEEE ISSATSo SB treasurer.
Commande de la machine a courant continu par raspberry Réalisé par : Zriouile Rachid & IBELLA Lahoucine Lagraoui Mouhssine Encadré Par: Mr. Bensaid Mounir.
ABB i-bus® EIB / KNX Modules d’entrées BE/S x.x.1
Conception, simulation et réalisation d’un thermomètre numérique
Thème 2 – L’électricité dans un circuit
Module actionneur pour électrovannes, 6 sorties VAA/A
Initiation à l’Arduino
CEMTEC Comment scénariser l’éclairage d’un escalier ?
Arduino DIGITAL INITIATION.
JBM LPI Jules Verne SAVERNE.
Le circuit électrique CHAP I
Les Bases de l’Électricité
Les Systèmes Automatisés
DOC MYCK : Programmation
Découverte du matériel Arduino Uno
Travaux Académiques Mutualisés Besançon Orléans Tours
Comment automatiser le portail ?
Automates Programmables Industriels Automates Programmables
Télécommande du mini-robot
Analyse fonctionnelle SYSML (1/3) Portail automatique
Activité ARDUINO Arduino COMMUNIQUER EXPERIMENTER MODELISER ANALYSER
Détecteur d’obscurité à base de LDR et de circuit intégré NE555
L’électronique et la programmation
Master Réseaux et Systèmes Distribués (RSD)
Alternative : syntaxe CSharp
Un Algorithme , c'est Quoi ?
TM40 Module d'interface tactile
Matières entrantes Energies entrantes Données entrantes Données sortantes Matières sortantes Energies sortantes.
1. 2 Les Circuits d’interfaces Introduction Des exemples d’un carte interface Conclusi on.
Piloter un robot mbot à distance avec retour vidéo
« Structure d'un API » Les automates programmables A T Training On Line.
Store automatisé R1 / ER1.
Réalisation d’une lampe connectée pilotée par bluetooth
 Introduction L’électrotechnique et l’électronique de puissance ont leur place dans les fonctions de traction/freinage dynamique et les auxiliaires associés.
Comment identifier les énergies et les informations dans un système ?
2016 / 2017 Ben salem Leçon 1 : Les Fonctions Électroniques.
Programmer des systèmes automatisés. Chaine d’information.
LEGO MINDSTORMS EV3 Allez plus loin
Petite Présentation par François
Cas du robot aspirateur
Chaîne d’énergie et chaîne d'information
Les Systèmes Automatisés. . Simples ou complexes, les systèmes automatisés sont partout dans notre environnement quotidien Connaître leur fonctionnement.
Conception et réalisation d'une application mobile: Conception et réalisation d'une application mobile: communiquer Arduino pour commander un moteur via.
LEGO MINDSTORMS EV3 Atelier d’initiation robotique pédagogique
Bienvenue sur Coursinfo.fr
Algorithmique et programmation
Sommaire : Projet Table tactile Projet Système d’arrosage automatique.
LES CONTACTS  Pour toutes les diapositives à venir attendre l’apparition du symbole  pour cliquer.
SYSTèMES à évènements discrets
Led Led + bouton Led + 2 boutton circuit serie.
Rappels sur le grafcet Normes NF EN CEI /01/2019
ENSEIGNER L’ALGORITHMIQUE ET LA PROGRAMMATION AU COLLÈGE
1 J-M R. D-BTP SAUNIER DUVAL Théma et Thémaplus 2007.
1 Détection d’obstacle Génie Mécatronique Groupe sur Face book: Futur Ingénieur  IKANBANE YOUSSEF Réaliser par :
PROGRAMMATION SOUS R. PRESENTE PAR : ACHETTOU ISMAIL LAARICH TARIQ ENCADRE PAR : Pr. EXPOSÉ SUR LA PROGRAMMATION SUR R 2.
CISAILLE GUILLOTINE STILMAX 3000 X 6 CAP SERRURIER METALLIER.
L’apprentissage par la robotique Mr. Zouari Lazhar
Transcription de la présentation:

Initiation Arduino

Arduino, c’est quoi ? Une carte d’interface programmable capable de piloter des capteurs et des actionneurs afin de simuler ou créer des systèmes automatisés. Un logiciel de programmation qui permet de programmer la carte en fonction du comportement désiré. Le tout, logiciel comme matériel, est sous licence libre. Une grande communauté d’amateurs et de passionnés contribuent à développer des applications et à les partager.

Présentation de la carte Port USB, permet de communiquer avec la carte et de l’alimenter en 5V. Connecteur jack, permet de rendre autonome la carte en y connectant une pile ou une batterie. Entrées / sorties numériques et PWM Entrées analogiques Sorties d’alimention Microcontrôleur : stocke et exécute le programme Partie alimentation de la carte. Gère la communication avec l’ordinateur

Programmer avec le logiciel arduino Le programme s’écrit à l’aide des fonctions décrites dans les pages suivantes. Chaque module électronique utilisé est connecté à la carte. Le programme est envoyé dans la carte qui gérera les modules comme cela a été programmé. Le programme est subdivisé en deux parties : void setup() : Il est appelé uniquement lorsque l'Arduino est sous tension ou réinitialisé. Il est utilisé pour initialiser les variables et les modes de broche void loop() : la fonction loop fonctionne en continu jusqu'à ce que le dispositif est mis hors tension. La principale logique du code va ici. Semblable à while (1) pour la programmation de micro-contrôleur.

Les fonctions de base d’Arduino FonctionDans le programme Configurer la pin soit en entrée soit en sortie pinMode(pin,INPUT/OUTPUT); Lire une valeur numérique a partir d’une pine numérique digitalRead(pine) Met un niveau logique sur une pine numérique soit 1(5v) soit 0(0v) digitalWrite(pine,HIGH/LOW); Faire atteindre (pause) pour le programme a une durée exprimée en Milliseconde Delay(durée); Lire une valeur a partir d’une pine analogique a fin de leur convertir en une valeur numérique analogRead(pine); Ecrire une valeur analogique de forme PWM sur une pine, la valeur est compris entre 0 et 255 analogWrite(pine,valeur);

Les tests dans le programme TestDans le programme Si …if(condition) {instructions} Si … Sinonif(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} Compteurfor(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}

Les conditions ConditionDans le programme Egale à== Supérieur> Inférieur< Supérieur ou égal>= Inférieur ou égal<= Non égal!=

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)

Charger un programme dans la carte Etape 1 : lancer le logiciel. Etape 2 : ouvrir et modifier le programme. Etape 3 : vérifier le programme. Etape 4 : connecter la carte à l’ordinateur avec le cordon USB. Etape 5 : transférer le programme vers la carte. Si un message d’erreur apparaît : faire Outil/Port série/Com … et choisir le bon port USB. Etape 6 : vérifier le fonctionnement.

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. FonctionsCommentaires digitalWrite(no m,HIGH); Allume les LED led1 ou led2 digitalWrite(no m,LOW); Eteint les LED led1 ou led2 analogWrite(no m,i); Fait varier la luminosité des LED. 0=<i=<255 avec i variation delay(durée);durée est une valeur en millisecondes. 1s = 1000 ms Exemple : faire clignoter une LED connectée à D13 void loop() { digitalWrite(led1,HIGH); delay(1000); digitalWrite(led1,LOW); delay(1000); }

Bouton poussoir, interrupteur Le bouton poussoir est un interrupteur qui ferme le circuit lorsqu’on appuie dessus et l’ouvre lorsqu’on relâche. FonctionsCommentaires digitalRead(nom);Permet de lire la valeur d’un bouton poussoir. If(etatnom==HIGH) { ACTION DESIREE } else { ATION DESIREE } Déclenche une action si le bouton poussoir est appuyé. Sinon, déclenche une autre action désirée. HIGH : il est appuyé LOW : il est relâché Exemple : fait tourner le moteur dans un sens si on appuie sur le bouton poussoir connecté à D8 void loop() { etatbp1=digitalRead(bp1); if (etatbp1==HIGH) digitalWrite(Led, HIGH); else digitalWrite(Led, LOW); } Bouton poussoir

Buzzer Le buzzer vibre en émettant un son à la fréquence du signal électrique qui le parcours. FilsConnecté à la broche Fil noirGnd Fil rougeD3 FonctionsCommentaires digitalWrite(D3,HIG H); Faire une bip Exemple : jouer une mélodie préprogrammée et attendre 5 secondes. void loop() { digitalWrite(D3,HIGH); delay(5000); } D3

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. FilsConnecté à la broche Fil noirGnd Fil rouge5V Fil jaune ou blancD9 FonctionsCommentaires myservo.write(angl e); 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() { myservo.write(0); for(int i=0; i<=45; i+=5) { myservo.write(i); delay(500) ; } D9

Moteur à courant continu Broches des moteursConnecté à la broche Moteur 1 aD1 Moteur 1 bD0 Moteur 2 aD4 Moteur 2 bD2 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() { digitalWrite(D0, HIGH); digitalWrite(D1,LOW); delay(2000); digitalWrite(D0,LOW); digitalWrite(D1,LOW); delay(2000); digitalWrite(D0,LOW); digitalWrite(D1, HIGH); delay(2000); digitalWrite(D0,LOW); digitalWrite(D1, LOW); } FonctionsCommentaires digitalWrite(D0,LOW); digitalWrite(D1, HIGH); Fait tourner le moteur 1 dans un sens digitalWrite(D0,HIGH); digitalWrite(D1,LOW); Fait tourner le moteur 1 dans l’autre sens digitalWrite(D0,LOW); digitalWrite(D1,LOW); Arrête le moteur 1 delay(durée); durée est une valeur en millisecondes. 1s = 1000 ms

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 ldrA0 lumiere- FonctionsCommentaires 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 <= Exemple : allume la LED si la quantité de lumière captée est inférieure au seuil. void loop() { lumiere=analogRead(ldr) ; If (lumiere<=500) digitalWrite(Led, HIGH); else digitalWrite(Led, LOW); }

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 est le nombre renvoyé si le faisceau infrarouge est coupé. Nom à utiliser dans le programme Connecté à la broche irA3 barriere- FonctionsCommentaires analogRead(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 <= Exemple : allume la LED si la quantité de lumière captée est inférieure au seuil. void loop() { Barriere=analogRead(ir) ; if(barriere<=900) digitalWrite(Led, HIGH); else digitalWrite(Led, LOW); }

Capteur de température Le capteur de température permet à la carte de calculer la température à proximité de ce dernier. Nom à utiliser dans le programme Connecté à la broche -A2 temperature- FonctionsCommentaires 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 <= Exemple : allume la LED si la quantité de lumière captée est inférieure au seuil. void loop() { Temperature=analogRead(A2) ; if(temperature<=28) { digitalWrite(led,HIGH); } else { digitalWrite(led,LOW); }

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 ligne1A1 ligne2A5 couleur1 Stocke le chiffre de la couleur1 couleur2 Stocke le chiffre de la couleur2 FonctionsCommentaires 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(); delais(1000);} else if(couleur1==1 && couleur2==0) {gauche(); delais(1000);} else if(couleur1==0 && couleur2==1) {droite(); delais(1000);} else if(couleur1==1 && couleur2==1) arret(); } A1A2 Gnd5V couleur1couleur2

Arduino : Page fcebook MakerLab: Page facebook DigiFreaks :