Arduino en technologie

Slides:



Advertisements
Présentations similaires
Chaine d'information et chaine d‘énergie
Advertisements

ROBOT SUIVEUR DE LIGNE Dumoulin Quentin Vallais Mathieu
La boucle for : init7.c et init71.c
ObjectWeb Une introduction
Visual Basic for Applications
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
TP T1 Suivant INTENTIONS PEDAGOGIQUES Ce TP vise à faire analyser et justifier les choix technologiques retenus par le constructeur. Pour la détection.
Statistiques 3.
Matériel Augmenter le nombre d’entrées/Sorties PCF8574P
Automatisme Les Systèmes automatisés I - Introduction => Les Systèmes Automatisés Simples ou complexes, les systèmes automatisés sont partout dans notre.
Qu’est-ce qu’un ordinateur ?
Révision Avant lintra – Architecture de lordinateur, les composants, le fonctionnement, codage – Système dexploitation: organisation des données (fichier),
CALVET Tom DA COSTA Jaym
Exercices sur la conception de processeurs
Système automatisé Par définition (Dictionnaire Larousse de poche), un ROBOT est un "Appareil qui agit de façon automatique pour une fonction donnée".
ARCHITECTURE GLOBALE CAPTAGE Traitement DES des données GRANDEURS
Points importants de la semaine Les commentaires. Les variables. Les instructions conditionnelles. Les instructions itératives (les boucles).
Conception d’une carte à microcontrôleur ARM pour le robot Amphibot II
Récursivité.
44 Contrôle du déroulement du programme. 4-2 Objectifs A la fin de ce cours, vous serez capables de : Utiliser les constructions de prise de décision.
Les éléments de base de l’algorithmique
BENABEN, PEREZ Mini projet: Détection d’obstacle.
Store automatisé SOMFY
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
B, A BA dEXCEL Déjà familiers dExcel : sabstenir.
DUFOUR Joffrey BTS IRIS session
CI2 : comment programmer un système automatisé ?
Développement logiciel pour microcontrôleurs PIC
Mise en œuvre du boîtier Autoprog
RUBIK’Solver …ou comment résoudre de façon totalement automatisée le célèbre Rubik’s Cube ?
Instruction sélective switch-case Instruction répétitive do-while For
RoboMind – une robot intelligent MiniCours-12
CI2 : comment programmer un système automatisé ?
L3 Module Libre Année universitaire Initiation à la Bioinformatique Jean-Michel RICHER.
Plan troisième cours Instruction sélective Instruction répétitive
Programmation Orienté Objet en C++ Ricard julien.
Présentation.
Structures alternative et répétitive
Les robots Mayotte – ISN
Algorithmique Les structures Rappel L'enchaînement séquentiel
Evaluation de fin de séance CORRECTION. Sur ce schéma où est localisée la zone de préparation de commandes ? A B C D A : en C B : en A C : en B D : en.
Quantifier les inégalités de richesses : le rapport interdécile
D1 - 10/04/2015 Soirée de l’Internet diocésain 19 septembre 2008 Philippe Giron Tisserand Le site web diocésain : évolution et perspectives.
Ferhat nouis Cédric tanguy Eric abrial Gregory nazaire
Commande de l’éclairage de la maquette
Alarme et actionneur (programmés) de cafetière électrique géré par microcontrôleur Présentation PPD n°1.
La Villette Squeak, Logiciel de Robotique / programmation La Villette Nous sommes tout d’abord arrivés sur une activité. On avait l’impression de se trouver.
Microcontrôleurs PIC. 1ère séance Présentation du PIC16F876 Outils de programmation du PIC Le langage C Exemples d’applications simples 2ème séance Présentation.
PICAXE LE MICRO-CONTROLEUR.
1 PHP 5 Notions fondamentales (niveau 1 – cours #2) Formation continue – Cégep de Sainte-Foy.
Arduino en technologie
Les structures de contrôle
Initiation au web dynamique Licence Professionnelle.
Sommaire : La programmation arduino
Détection crépusculaire
PROJET n°2 : Contrôle du mouvement et détection des chocs latéraux
Cliquez sur la page pour faire évoluer les séquences
Réalisation d'une maquette
Meetup maker girls Arduino et Capteurs
Travaux de Réalisation 1ère année
Domaine: L’informatique et la programmation
PhP 2. Tableaux et structures de contrôle. Les tableaux Définition –Rassemblement d’un ensemble de valeurs portant le même nom de variable –Types de tableaux.
Initiation à l’Arduino
Arduino, logiciel libre ET matériel libre, qui permet d'interagir avec l'environnement qui nous entoure. 1.
Les composants se trouvant dans la base du chercheur sont les suivants : Après avoir pris connaissance, lister les composants qui permettrons de réaliser.
Séance 1: Qu’est-ce qu’un objet connecté ?
Comment Automatisé un système par un API?
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.
Découverte du matériel Arduino Uno
Transcription de la présentation:

Arduino en technologie Quatrième / Troisième

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. Gère la communication avec l’ordinateur Partie alimentation de la carte. Microcontrôleur : stocke et exécute le programme Entrées / sorties numériques et PWM Sorties d’alimention Entrées analogiques

Où connecter les modules ? Gnd (0V) D13 Led 1 D12 Led 2 D11 Led 3 D10 Led 4 5V D9 Servomoteur Gnd (0V) D8 bouton poussoir 1 Gnd (0V) D7 Bouton poussoir 2 D6 Bouton poussoir 3 Photorésistance A0 D5 Bouton poussoir 4 Suiveur de ligne 1 A1 D4 Moteur 2a Capteur de température A2 D3 Buzzer Barrière infra rouge A3 D2 Moteur 2b Capteur de frappe A4 D1 Moteur 1a Suiveur de ligne 2 A5 D0 Moteur 1b

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é. Les fonctions s’écrivent entre les deux accolades de void loop() du programme de base. void loop() { lirecapteur(ir); if(barriere<900) {allumer(led1);} else {eteindre(led1);} } On programme ici

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.

Nom à utiliser dans le programme 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. Nom à utiliser dans le programme Connecté à la broche led1 D13 led2 D12 ledvar1 D11 ledvar2 D10 Exemple : faire clignoter une LED connectée à D13 void loop() { allumer(led1); pendant(1000); eteindre(led1); } Fonctions Commentaires allumer(nom); Allume les LED led1 ou led2 eteindre(nom); Eteint les LED led1 ou led2 varier(nom); Fait varier la luminosité des LED connectées à ledvar1 et ledvar2. pendant(durée); durée est une valeur en millisecondes. 1s = 1000 ms

Servomoteur D9 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. Fils Connecté à la broche Fil noir Gnd Fil rouge 5V Fil jaune ou blanc D9 Exemple : faire tourner le servomoteur de 0° à 45° par pas de 5° void loop() { angleservo(0); for(int i=0; i<=45; i+=5) angleservo(i); pendant(500) ; } Fonctions Commentaires angleservo(angle); angle est compris entre 0 et 180. Il correspond à l’angle auquel le servomoteur se déplacera.

Bouton poussoir, interrupteur et micro rupteur Le bouton poussoir est un interrupteur qui ferme le circuit lorsqu’on appuie dessus et l’ouvre lorsqu’on relâche. Le micro rupteur est un bouton poussoir auquel est ajouté une languette pour détecter un contact. Nom à utiliser dans le programme Connecté à la broche bp1 D8 bp2 D7 bp3 D6 bp4 D5 Bouton poussoir Micro rupteur Exemple : fait tourner le moteur dans un sens si on appuie sur le bouton poussoir connecté à D8 void loop() { lire(bp1); if (etatbp1==HIGH) { avancer(); } else { arret(); } } Fonctions Commentaires lire(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é

Moteur à courant continu 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. Broches des moteurs Connecté à la broche Moteur 1 a D1 Moteur 1 b D0 Moteur 2 a D4 Moteur 2 b D2 Exemple : si le bouton poussoir est appuyé, les moteurs void loop() { lire(bp1); if (etatbp1==HIGH) reculer(); pendant(2000); arret(); } else avancer(); pendant(2000); Fonctions Commentaires avancer(); Fait tourner les moteurs dans un sens reculer(); Fait tourner les moteurs dans l’autre sens arret(); Arrête les moteurs pendant(durée); durée est une valeur en millisecondes. 1s = 1000 ms

Buzzer D3 D3 Le buzzer vibre en émettant un son à la fréquence du signal électrique qui le parcours. Fils Connecté à la broche Fil noir Gnd Fil rouge D3 Fil jaune ou blanc D9 Exemple : jouer une mélodie préprogrammée et attendre 5 secondes. void loop() { melodie(); pendant(5000); } Fonctions Commentaires melodie(); Joue une mélodie préprogrammée.

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 ldr A0 lumiere - Exemple : allume la LED si la quantité de lumière captée est inférieure au seuil. void loop() { lirecapteur(ldr) ; if(lumiere<=500) {allumer(led1)} else {eteindre(led1)} } Fonctions Commentaires 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 >= ou <=

Nom à utiliser dans le programme 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 1023. 1023 est le nombre renvoyé si le faisceau infrarouge est coupé. Nom à utiliser dans le programme Connecté à la broche ir A3 barriere - Fonctions Commentaires lirecapteur(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 >= ou <= Exemple : allume la LED si la quantité de lumière captée est inférieure au seuil. void loop() { lirecapteur(ir) ; if(barriere<=900) {allumer(led1)} else {eteindre(led1)} }

Suiveur de ligne 5V Gnd A1 A2 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 couleur1 couleur2 Nom à utiliser dans le programme Connecté à la broche ligne1 A1 ligne2 A5 couleur1 Stocke le chiffre de la couleur1 couleur2 Stocke le chiffre de la couleur2 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();pendant(1000)} elseif(couleur1==1 && couleur2==0) {gauche();pendant(1000);} elseif(couleur1==0 && couleur2==1) {droite(); pendant(1000);} elseif(couleur1==1 && couleur2==1) {arret();} } Fonctions Commentaires 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

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 Exemple : allume la LED si la quantité de lumière captée est inférieure au seuil. void loop() { liretemp() ; if(temperature<=28) {sens1() ;} else {arret() ;} } Fonctions Commentaires 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 >= ou <=

Nom à utiliser dans le programme Capteur de frappe Le module capteur de frappe connecté à l’entrée analogique A4 permet de détecter une frappe sur le buzzer ou sur son support. Le nombre récupéré par l’interface arduino est compris entre 0 et 1023. Un seuil de détection de 100 suffit à détecter une petite frappe. Nom à utiliser dans le programme Connecté à la broche frappe A4 intensite - Exemple : allume la LED si la frappe captée est supérieure au seuil. void loop() { lirecapteur(frappe) ; if(intensite>=100) {allumer(led1)} else {eteindre(led1)} } Fonctions Commentaires lirecapteur(frappe); Permet de lire une valeur de luminosité. If(intensite>=seuil) { ACTION DESIREE } else ATION DESIREE Déclenche une action si la frappe est supérieure ou inférieure au seuil. Sinon, déclenche une autre action désirée. seuil : nombre entre 0 (rien) et 1023 (frappe max.) Comparaisons possibles : > ou < ou >= ou <=

Les tests dans le programme Si … if(condition) {instructions} Si … Sinon else Si … Sinon Si … elseif(condition) Faire … Tant que… do while(condition) ; Tan que … while(condition) Compteur for(variable ; condition ; comptage) 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 Condition Dans 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)

Exemple de câblage

Arduino France : http://arduino.cc/fr/ Fournisseurs : http://shop.snootlab.com www.lextronic.fr Blog sur arduino de M. Russeil : http://blog.crdp-versailles.fr/technogalois/index.php/