Classe de première STI2D TP Arduino Table des matières 1. Installation et confi
Classe de première STI2D TP Arduino Table des matières 1. Installation et configuration de la carte Arduino..............................................................................................................2 1.1. Carte Arduino...........................................................................................................................................................2 1.2. Le shield d'extension E/S.........................................................................................................................................2 1.3. Structure d’un programme.......................................................................................................................................3 1.4. Interface de développement.....................................................................................................................................3 2. Utilisation de la sortie numérique.....................................................................................................................................4 2.1. Clignotement d'une LED..........................................................................................................................................4 2.2. Clignotement de 2 LED...........................................................................................................................................5 3. Utilisation de l'entrée numérique......................................................................................................................................6 3.1. Détection d'un Bouton Poussoir...............................................................................................................................6 4. Utilisation de l’entrée analogique.....................................................................................................................................7 4.1. Mesure de l’éclairement...........................................................................................................................................7 4.2. Télémétrie................................................................................................................................................................9 4.2.1. Capteur SRF05...........................................................................................................................................................9 4.2.2. Capteur Ultrasonic Ranger.......................................................................................................................................10 4.3. Simulation store électrique.....................................................................................................................................11 5. Utilisation de la sortie MLI.............................................................................................................................................14 5.1. Commande d’un moteur à courant continu............................................................................................................14 5.2. Commande d’un moteur à l'aide d'un potentiomètre.............................................................................................16 5.3. Programmation d'un moteur...................................................................................................................................17 5.4. Servo moteur..........................................................................................................................................................19 6. Afficheur LCD................................................................................................................................................................21 7. Modules..........................................................................................................................................................................23 shields...........................................................................................................................................................................23 8. Références......................................................................................................................................................................24 5-TP_arduino.odt 1 Classe de première STI2D 1. Installation et configuration de la carte Arduino 1.1. Carte Arduino Nous utiliserons une carte Arduino Uno. Elle emploi un microcontrôleur ATMEGA328P alimenté en 5 V. Il y a 14 entrées/sorties numériques dont 6 sont utilisables en PWM1. Il y a 6 entrées analogiques. Le microcontrôleur possède un CAN2 avec 10 bits de résolution. Sur la carte, il y a un circuit qui permet de gérer facilement l’USB3 qui peut alimenter la carte. • Mémoire Flash 32 ko • Mémoire RAM 2 ko • Mémoire EEPROM 1 ko • Fréquence d’horloge 16 MHz • Courant max. E/S40 mA Pour en savoir plus, consultez la page : http://arduino.cc/en/Main/ArduinoBoardUno 1.2. Le shield d'extension E/S Le shield d'extension E/S fournit un moyen facile de connecter des capteurs ou des servos pour la carte Arduino. Il augmente le nombre d' E/S numériques et analogiques. Il fournit également des broches PWM distinctes qui sont compatibles avec le connecteur de servo standard. La prise de communication fournit un moyen extrêmement facile à brancher un module sans fil, tel le module APC220 RF module ou le module DF-Bluetooth. Il dispose d'une entrée de puissance individuelle pour les servos. 1 Pulse Width Modulation (ou MLI pour modulateur de largeur d’impulsion) 2 Convertisseur Analogique Numérique 3 Universal Serial Bus 5-TP_arduino.odt 2 Classe de première STI2D 1.3. Structure d’un programme Un exemple de programme est donné ci-dessous. • Le commentaire de description du programme, appelé sketch, débute par /* et se termine par */. • Puis il est placé la définition des constantes et des variables avec les instructions const et int. • Vient ensuite la configuration des entrées / sorties avec l’instruction void setup(). La suite d’instructions est précédé de { et se termine par }. • On définit par l’instruction void loop() la programmation des interactions et comportements. La suite d’instructions est précédé de { et se termine par }. 1.4. Interface de développement Pour utiliser l’interface de développement : 1. Lancer le logiciel Arduino . 2. Vérifier que la carte Arduino Uno est bien prise en compte par : Outils > Type de carte > Arduino Uno. 5-TP_arduino.odt 3 Classe de première STI2D 3. Brancher la carte sur un port USB. Vérifier que le port COM est bien configuré. Outils > Port série > COM X. 4. Vérifier que le port COM X est bien reconnu par windows : Panneau de Configuration > Système et sécurité > Gestionnaire de périphériques > Ports : Arduino Uno (COM X). 2. Utilisation de la sortie numérique 2.1. Clignotement d'une LED Ouvrir le fichier Blink par : Fichier > Exemples > 01.Basics > Blink Pour comprendre la syntaxe et le rôle d’une instruction, utiliser la page : http://arduino.cc/en/Reference/HomePage 1. Réaliser le schéma de montage ci-dessous (faire attention au sens de polarisation de la LED). Broche 12 : module LED avec shield extension I/O 2. Modifier le programme de telle façon que la sortie sur laquelle on connectera la LED soit la sortie 12. 3. Modifier les instructions pour que la période soit de 1 s et la durée d’allumage de la LED 100 ms. 4. Lancer l’exécution du programme en cliquant sur le bouton en dessous Édition : /* clignotement diode */ const int led = 12; // broche 12 pour la LED // cette fonction ne s'exécute qu'une seule fois void setup() { pinMode(led, OUTPUT); // on définit la broche en sortie } // cette fonction boucle indéfiniment void loop() { digitalWrite(led, HIGH); // led allumée 5-TP_arduino.odt 4 Classe de première STI2D delay(100); // allumé 100ms digitalWrite(led, LOW); // led éteinte delay(100); // éteint 100ms } 2.2. Clignotement de 2 LED 1. Modifier le programme pour que deux LED s’allument en opposition de phase comme dans le tableau suivant : LED 1 Broche 11 Allumée Éteinte LED 2 Broche 12 Éteinte Allumée 2. Modifier le schéma de montage comme indiqué ci-dessous : Broche 11 : module LED1 Broche 12 : module LED2 /* clignotement 2 diodes alternées */ const int led1 = 11; // broche 11 pour la LED 1 const int led2 = 12; // broche 12 pour la LED 2 // cette fonction ne s'exécute qu'une seule fois void setup() { pinMode(..., OUTPUT); // on définit la LED 1 en sortie pinMode(..., OUTPUT); // on définit la LED 2 en sortie } // cette fonction boucle indéfiniment void loop() { // à compléter // ... delay(1000); // durée 1s // à compléter // ... delay(1000); // durée 1s } 5-TP_arduino.odt 5 Classe de première STI2D Pour voir le résultat, cliquer sur l'image 3. Utilisation de l'entrée numérique 3.1. Détection d'un Bouton Poussoir 1. Réaliser le schéma de montage ci-dessous (faire attention au sens de polarisation de la LED). On utilisera un bouton poussoir (BP) qui commandera une LED à travers la carte Arduino. Broche 4 : module LED Broche 3 : module BP 2. Modifier ce programme pour que la carte Arduino commande la LED lors de la pression du bouton. /* 5-TP_arduino.odt 6 Classe de première STI2D détection bouton poussoir */ const int led = ...; // broche 4 pour la LED const int button = 3; // broche 3 pour le bouton poussoir // the setup function runs once when you press reset or power the board void setup() { pinMode(led, ...); // on définit la led en sortie pinMode(button, ...); // on définit le bouton en entrée } // the loop function runs over and over again forever void loop() { // lecture bouton if ( digitalRead(button) == ... ) digitalWrite(led, ...); // led allumée else digitalWrite(led, ...); // led éteinte delay(...); // stabilisation 200 ms } Pour voir le résultat, cliquer sur l'image 4. Utilisation de l’entrée analogique 4.1. Mesure de l’éclairement Le capteur de luminosité utilisé est le LDR VT935G (ou équivalent série VT900). 5-TP_arduino.odt 7 Classe de première STI2D Par effet photovoltaïque, l'énergie rayonnante est transformée en énergie électrique. La résistance interne du capteur est inversement proportionnelle avec la luminosité sur une échelle logarithmique. 1. Réaliser le schéma de montage ci-dessous : Broche 9 : module LED Broche A0 : module capteur luminosité 2. Visualiser la luminosité mesurée. 1. ouvrir un terminal 2. Régler la vitesse de communication à 9600 bauds 3. Obturer le détecteur 4. Relever les valeurs : - avec lumière - sans lumière 5. En déduire la valeur de seuil 3. Modifier le programme ci-dessous pour régler le seuil de détection qui allumera LED. /* détection luminosité */ const int led = 9; // broche 9 pour la LED const int lux = ...; // broche analogique A0 pour le capteur // cette fonction ne s'exécute qu'une seule fois void setup() { pinMode(...); // on définit la broche 9 en sortie Serial.begin(9600); // initialise la vitesse du port série } // cette fonction boucle indéfiniment 5-TP_arduino.odt 8 Classe de première STI2D void loop() { int value = analogRead(...); // lecture capteur Serial.println(value); // affichage valeur sur terminal série if ( value < 0 ) // détection du seuil de luminosité digitalWrite(led, ...); // led allumée else digitalWrite(led, ...); // led éteinte delay(10); // stabilisation 10 ms } 4.2. Télémétrie On veut mesurer une distance par télémétrie à ultrason. 4.2.1. Capteur SRF05 Le capteur SRF05 et un émetteur récepteur d'ultrason (40 kHz), d'une portée allant théoriquement de 1 à 400 cm sur un angle de 30°. Il permet l'utilisation de 1 ou de 2 broches pour l’émission/réception (la deuxième solution accélère le traitement). 1. Réaliser le schéma de montage ci-dessous : Broche 4 : Trigger Broche 7 : Echo Broche 8 : LED 2. Modifier le programme pour que la LED s'allume lorsque la distance à un obstacle est inférieure à 20 cm. /* Télémétrie par ultrason */ const int led = ...; // broche 8 pour la LED const int emetteur = ...; // broche 7 pour envoi signal const int recepteur = ...; // broche 4 pour réception signal /* Routine d'initialisation */ void setup() { Serial.begin(9600); // Initialisation port COM pinMode(...); // LED en sortie pinMode(...); // signal en sortie pinMode(...); // écho en entrée 5-TP_arduino.odt 9 Classe de première STI2D digitalWrite(emetteur, LOW); } void loop() { // envoi salve (impulsion émettrice) digitalWrite(emetteur, HIGH); delayMicroseconds(10); digitalWrite(emetteur, LOW); // Traitement du rebond de l’impulsion long distance = pulseIn(recepteur, HIGH); distance /= 58; //Traduction en cm // uploads/Geographie/ 5-tp-arduino.pdf
Documents similaires
-
20
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Sep 22, 2022
- Catégorie Geography / Geogra...
- Langue French
- Taille du fichier 3.4027MB