p. 1 ATELIER SYSTEMES EMBARQUES TI TP2 1. Communication Série : Affichage d’un
p. 1 ATELIER SYSTEMES EMBARQUES TI TP2 1. Communication Série : Affichage d’un message sur la console Montage : insérer uniquement la carte Arduino Programme : void setup() {Serial.begin(9600); } void loop() { Serial.println("hello isetZG") } Initialiser la communication a un débit de 9600 Ecrire un message Texte sur la console Exécution : Pour afficher le message il faut cliquer sur « moniteur série » en bas de la zone de code p. 2 ATELIER SYSTEMES EMBARQUES TI 2. Interrupteur : Contrôle d’état Montage : Carte Arduino, plaque a essai, LED, Résistance 250 Ohm, Interrupteur à glissière Programme : void setup() { pinMode(4,OUTPUT); pinMode(8,INPUT); } void loop() { if (digitalRead(8)==HIGH) digitalWrite(4,HIGH); else digitalWrite(4,LOW); } Pin 4 en mode Sortie Pin 8 en Mode Entrée (lecture de l’état de l’interrupteur) Test sur l’état de l’interrupteur Exécution : cliquer sur l’interrupteur pour changer son état. p. 3 ATELIER SYSTEMES EMBARQUES TI 3. Elément piézoélectrique (Buzzer) Montage : carte Arduino, résistance de 100 Ohm, plaque a essai, élément piézo Programme : void setup() { pinMode(3, OUTPUT); } void loop() { tone(3,1000); delay(500); noTone(3); delay(500); } Activer le buzzer sur la Pin 3 avec une fréquence 1000 pendant 500ms Arrêt de la tonalité pendant 500ms Exécution : changer la fréquence et les délais pour mieux comprendre p. 4 ATELIER SYSTEMES EMBARQUES TI 4. Clavier numérique : Configuration et Lecture de touches Montage : Carte Arduino, Pavé numérique 4x4 (Pin 9 de la carte correspond à la Pin 1 du clavier et la Pin 2 de la carte Correspond à la Pin 8 du clavier) Programme : Configuration du clavier #include <Keypad.h> const byte ROWS = 4; const byte COLS = 4; char keys[ROWS][COLS] = { {'1','2','3','A'}, {'4','5','6','B'}, {'7','8','9','C'}, {'*','0','#','D'} }; byte rowPins[ROWS] = {9, 8, 7, 6}; byte colPins[COLS] = {5, 4, 3, 2}; Keypad Clavier = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); Insertion de la bibliothèque keypad nombre de lignes nombre de colonnes Matrice correspond aux différents touches entrées numériques où sont branchées les lignes entrées numériques où sont branchées les colonnes p. 5 ATELIER SYSTEMES EMBARQUES TI Variable Clavier de type keypad qui fait la correspondance entre les entrées de la carte et les touches du clavier Programme 1 : Lecture d’une touche et affichage sur le moniteur série void setup(){ Serial.begin(9600); } void loop(){ char key = Clavier.getKey(); if (key != NO_KEY){ Serial.println(key); } Lecture de la touche tapée S’il y a une valeur de retour alors affichage sur la console Programme 2 : Lecture d’une chaine de caractère qui termine par « # » et affichage sur Console String txt; void setup(){ Serial.begin(9600); txt.reserve(20); } void loop(){ char key = Clavier.getKey(); if (key != NO_KEY){ Serial.println(key); if (key!='#') txt=txt+key; else {Serial.println(txt); txt=""; } } } Déclaration variable chaine de caractère Réserve 20 caractères à la chaine de caractère Si le caractère lu est <> # alors je l’ajoute à la variable txt si non alors j’affiche la chaine de caractère txt et j’efface son contenu. Programme complet : il faut ajouter au début de chaque programme la partie Configuration du clavier . p. 6 ATELIER SYSTEMES EMBARQUES TI 5. Capteur de distance par ultrason Montage : carte Arduino, plaque à essai, capteur de distance a ultrason Programme : long Distance=0; void setup() { Serial.begin(9600); } void loop() { pinMode(4, OUTPUT); digitalWrite(4, LOW); delayMicroseconds(2); digitalWrite(4, HIGH); delayMicroseconds(10); digitalWrite(4, LOW); pinMode(4, INPUT); Distance=0.01723 *pulseIn(4,HIGH); Serial.println(Distance); } Création variable pour contenir la distance Initialisation de la Pin 4 en bas pendant 2µs, ensuite en haut pendant 10µs Remettre la Pin 4 en bas Configurer en entrée pour lire la valeur de la distance en pouce Lire la distance et la convertir en Cm p. 7 ATELIER SYSTEMES EMBARQUES TI Puisque la partie initialisation et lecture se répète chaque fois alors on utilise une fonction qui permet de faire tout le travail ainsi le programme devient : long Distance=0; long MesureDistance(int Pin) { pinMode(Pin, OUTPUT); // Clear the trigger digitalWrite(Pin, LOW); delayMicroseconds(2); digitalWrite(Pin, HIGH); delayMicroseconds(10); digitalWrite(Pin, LOW); pinMode(Pin, INPUT); return pulseIn(4,HIGH); } void setup() { Serial.begin(9600); } void loop() { Distance=0.01723 * MesureDistance(4); Serial.println(Distance); } Création fonction d’initialisation et lecture de la distance Appel de la fonction et conversion en CM Exécution : Afficher le moniteur série, cliquer sur le capteur avec la souris déplacer le cercle bleu dans la zone de mesure de distance p. 8 ATELIER SYSTEMES EMBARQUES TI EXERCICES Exercice 1 : Feu de croisement avec Mode jour/nuit Mode Jour : - Lumière rouge pendant 30s - Lumière orangé pendant 10s - Lumière verte pendant 20s - Et le cycle se répète Mode Nuit : lumière orangé clignote Q1. Etablir la liste des composants nécessaires Q2. Réaliser le Montage Q3. Ecrire le programme qui répond au fonctionnement du système. Exercice 2 : Radar de recule pour une voiture Le radar de recule d’une voiture permet de mesurer la distance entre la voiture et un obstacle - Si la distance est <=70cm alors une lampe rouge s’allume avec un signal sonore - Si la distance est entre 71 et 150 Cm une lampe orangée s’allume - Si la distance est entre 151 et 250 une lampe verte s’allume - Si la distance est >250 aucune lampe ne s’allume Le système ne fonctionne sauf si la voiture est en Marche Q1. Etablir la liste des composants nécessaires Q2. Réaliser le Montage Q3. Ecrire le programme qui répond au fonctionnement du système. Exercice 3 : Serrure numérique d’un coffre-fort La porte d’un coffre-fort se ferme et s’ouvre en tapant sur son clavier un code de 4 caractères (prédéfini dans le programme) suivi de *. - Si la porte est ouverte une lampe verte est allumée - Si la porte est fermée une lampe rouge est allumée Initialement la porte est ouverte et la lampe verte est allumée Q1. Etablir la liste des composants nécessaires Q2. Réaliser le Montage Q3. Ecrire le programme qui répond au fonctionnement du système. uploads/Geographie/ tp2-1-pdf.pdf
Documents similaires
-
21
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jul 16, 2022
- Catégorie Geography / Geogra...
- Langue French
- Taille du fichier 0.7687MB