Lafargue G. (2020) - S'exercer avec Arduino et communiquer avec un smartphone
Initiation Ă la programmation Arduino et AppInventor
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Baskets Ă LED
Des baskets à LED dans un TP d’électronique ? Ah mais oui ! On se penche sur la gestion de couleurs dans tous les sens… ...
Matériel :
carte Arduino Uno
shield Grove
2 boutons-poussoir Grove, voire 4 si l’intégralité est traitée
afficheur LCD Grove
relais Grove (en option)
Pour des raisons de sécurité, la boîte de nuit« The Sin» ne peut recevoir plus de 250 personnes simultanément. La société au sein de laquelle vous travaillez a été mandatée pour réaliser un système de limitation des entrées.
Votre équipe de travail a mis au point un portique d'entrée/ sortie, et c'est vous qui êtes prévu pour en assurer la programmation. Le cahier des charges fonctionnel initial est le suivant :
une personne qui est autorisée à entrer reçoit une carte RFID (simulée par un BP). Lorsqu'elle entre, un système ouvre un tourniquet (activation d'un relais pendant 2 s) et affiche le
nombre de personnes présents dans le bâtiment (incrémentation d'une variable) ;
une personne qui sort décrémente le comptage ;
lorsque 250 danseurs sont présents, le système n'autorise pas d'entrée ... il faut attendre qu'un client aille fumer (c'est pas bien!) ou quitte l'établissement pour pouvoir accueillir une autre personne ...
le système distingue les badges portés par des filles de ceux portés par des garçons ; cela permet de motiver les danseurs à payer une entrée.
bien entendu, comme dans la majorité des discothèques, l'entrée est gratuite pour les filles.
Le programme pour la gestion des entrées (filles et garçons) ci-dessous a été établi avec les étapes suivantes (avec 1 seul bouton poussoir):
réaliser le système de comptage (sans décomptage) ;
ajouter le système d'affichage ;
ajouter la gestion des limites ;
Modifier le programme pour faire le décompte des personnes sortant de la boite en t'inspirant de l'exemple pour le comptage.
Le programme de chaque étape sera enregistré sous un nouveau nom..
Faire valider le programme par le professeur
Tu peux rajouter deux boutons poussoir pour faire le comptage des filles et celui des garcons et modifier le programme
Si l'étape précédente t'as paru trop difficile passe à l'actvité suivante. Dans cette partie, le programme devient complexe car il faut déboubler les compteurs pour différencier les filles des garçons mais garder le nombre maximal à 250.
Le programme de chaque étape sera enregistré sous un nouveau nom..
Faire valider le programme par le professeur
Faire le schéma de cablage et la programmation pour l'un des projets suivant:
Quizz Game
Buzzer Game
ou un projet de ton choix (Ă faire valider par le professeur)
Des baskets à LED dans un TP d’électronique ? Ah mais oui ! On se penche sur la gestion de couleurs dans tous les sens… Et tout ça par programmation.
Les baskets à LED sont composées d'un bandeau de LED multicolores et d'un bouton-poussoir de commande. L'ensemble est alimenté par une batterie rechargeable.
Comment recharge-t-on les baskets?
D'aprés la notice, quelle est l'autonomie donnée par le fabricant?
Le fonctionnement est le suivant:
(arrĂŞt)
pression sur le bouton poussoir : allumage en rouge (255,0,0)
pression sur le bouton poussoir : allumage en bleu (0,0, 255)
pression sur le bouton poussoir : allumage en vert (0,255,0)
pression sur le bouton poussoir : allumage en rose (255,0,128)
pression sur le bouton poussoir : allumage en bleu turquoise (0,255,255)
pression sur le bouton poussoir : allumage en jaune (255,255,0)
pression sur le bouton poussoir : allumage en blanc (255,255,255)
pression sur le bouton poussoir : extinction
On va utiliser ici une bibliothèque pour la programmation de la LED RGB
Préparer le matériel de la facon suivante:
Connecter le bouton poussoir sur le connecteur "D2"
Connecter la LED RGB sur le connecteur "D4"
Relier l'arduino à l'ordinateur grâce au câble USB
Lancer le logiciel arduino afin de charger le code Ă modifier.
Copier le contenu du programme donnée ci-aprés
Enregistrer le projet
Appuyer sur la touche téléverser
Comprendre, analyser et expliquer le role du programme
Lancer le logiciel arduino afin de charger le code Ă modifier.
Une fois le fonctionnement du code compris modifier ce dernier pour allumer la LED qu'aprés avoir appuyer sur le bouton
Enregistrer le projet
Appuyer sur la touche téléverser
Comprendre, analyser et expliquer le role du programme
Faire valider par le professeur
Modifier le programme de façon à ce que le changement de couleur ne se fasse pas toutes les 1000ms mais lors de la pression sur le bouton poussoir. Pour cela il faudra que vous ajoutiez des lignes de codes et utiliser la boucle "If" (c'est une boulce d'exécusion qui dit que si une action est faite alors le programme en dessous s'éxécute)
Faire valider par le professeur
ARDUINO est une plateforme matérielle et logicielle de développement d'applications embarquées.
Côté matériel, elle se compose d'une carte électronique basée autour d'un microcontrôleur (ATM EL AVR) comportant un certain nombre d'entrées et de sorties (les ports) permettant la connexion de capteurs, ou d'actionneurs.
Le logiciel de programmation des modules ARDUINO est une application Java, libre et multi- plateformes, servant d'éditeur de code et de compilateur, et qui peut transférer le programme au t ravers de la liaison USB. Le langage de programmation ut ilisé est un mélange de Cet de C++, restreint et adapté aux possibilités de la carte.
La carte Arduino se décompe comme ci-dessous:
Les caractéristiques sont listées ci-aprés:
Effectuer le branchement ci-dessous:
Le scénario à programmer est le suivant:
Pour une découverte du language en C++ pour la programmation en Arduino faire la démarche comme indiquée ci-aprés:
Reproduire sous Arduiblock le programme comme indiqué dans le scénario donné précédemment (Attention à mettre à jour le logiciel avec la bonne carte arduino et les bonnes broches de raccordement)
Regarder le programme généré en C++ pour le comprendre en vue de sa modification
Téléverser et tester le programme
Une fois ce petit programme testé, tu vas essayer de diminuer le délais afin de voir quelle est la valeur à partir de laquelle l’oeil ne voit plus la LED clignoter (persistance rétinienne).
Ensuite tu vas Ă©crire le logigramme pour faire un SOS lumineux en langage Morse avec la LED (aide toi d'Internet pour trouver les informations). Montre ton logigramme au professeur.
Tu peux maintenant programmer la platine Arduino avec ArduBlock pour lancer un SOS lumineux !
Faire valider par le professeur
​
Petit conseil pour la programmation:
Tu peux aussi utiliser la fonction Répète pour effectuer plusieurs fois la/les même(s) opération(s).
Pour éviter de modifier plusieurs paramètres à chaque fois, utilise une variable pour fixer le délais de clignotement cours et une autre pour long, tu gagneras du temps !
​
A partir de l'exercice précédent, rajouter un bouton poussoir pour allumer la LED.
Aide-toi d'Arduiblock pour comprendre le programme
Branche un deuxième bouton poussoir (sur la broche 3 par exemple) Fonctionnement : si j'appuie sur le bouton poussoir 1, la LED s'allume (et reste allumée). Si j'appuie sur le bouton poussoir 2, la LED s'éteint.
Tu peux ajouter une fonction à ce deuxième programme : si j'appuie sur le bouton poussoir 1 ET le bouton poussoir 2 alors la LED clignote (s'aider du TP n°1).
Maintenant réalise le programme suivant avec un seul bouton poussoir : si j'appuie une fois sur le bouton poussoir alors la LED s'allume. Si j'appuie une deuxième fois sur le bouton poussoir alors la LED s'éteint. Il faut utiliser une variable numérique : si j'appuie une fois, la variable est mise à 1, si j'appuie une deuxième fois, la variable est mise à 0.
Le logiciel ARDUINO a pour fonctions principales :
â–ş De pouvoir Ă©crire et compiler des programmes pour la carte ARDUINO
► De se connecter avec la carte ARDUINO pour y transférer les programmes
â–ş De communiquer avec la carte ARDUINO
L' interface de programmation du logiciel ARDUINO est la suivante:
La « Barre de Boutons » qui donne un accès direct aux fonctions essentielles du logiciel. Les différents boutons :
Un programme destiné à une carte ARDUINO est constitué de 3 parties :
La première partie permet de définir les constantes et les variables en déclarant leur type. Elle permet également l'inclusion des bibliothèques ut ilisées dans le programme au moyen de #include.
La fonction setup() contient les Instructions d' init ialisation ou de configuration des ressources de la carte comme par exemple, la configuration en entrée ou sorties des broches d'E/S numériques, la définition de la vitesse de communication de l'interface série, etc .. Cette fonction n'est exécutée qu'une seule fois juste après le lancement du programme.
La fonction loop() contient les Instructions du programme à proprement parlé. Cette fonction sera répétée indéfiniment tant que la carte ARDUINO restera sous tension.
Les commentaires sont placés sur une ligne unique ou sur plusieurs lignes, comme indiqué ci-dessous
On passe Ă la suite si tu as compris la structure d'un programme. Tu peux faire une simulation avec ArduiBlock pour comprendre comment et fait le code.
Définition des variables: un certain nombre de noms de constantes sont prédéfinis dans le langage "ARDUINO"
Les variables sont trés importantes pour fixer les entrées/sorties de notre programme
Les bibliothèques de fonctions: une bibliothèque est un ensemble de fonctions utilitaires mises à disposition des utilisateurs de l'environnement Arduino. Les fonctions sont regroupées en fonction de leur appartenance à un même domaine conceptuel (mathématique, graphique, tris, etc). L’IDE ARDUINO comporte par défaut plusieurs bibliothèques externes. Pour les importer dans votre programme, vous devez utiliser le menu suivant :
L'instruction suivante sera alors ajoutée au début de votre programme: #include <la_bibliothèque.h>
La encore l'importation de bibliothèque est trés important pour simplifier les programmes de codage. Pour connaitre les capteurs/actionneurs utilisants une bibliothèque chercher le composant sur https://www.seeedstudio.com/​
Le fichier ci-dessous donne les différentes fonctions possibles pour la programmation arduino.
Android à Arduino, en passant par BluetoothOn va gérer un afficheur LCD à distance, grâce au smartphone : le texte à afficher, ainsi que la couleur du rétroéclaira...
Matériel :
Arduino Uno
shield Grove
module Grove Serial Bluetooth v3
bouton-poussoir Grove
Smartphone sous Android
On souhaite Ă©tablir une liaison sene Bluetooth entre une carte Arduino Uno et un smartphone/tablette sous Android :
la carte Arduino enverra une information au téléphone en fonction
de l'Ă©tat d'un BP ;
le téléphone recevra cette information grâce à une application
dédiée, réalisée sous Applnventor.
NB: le module Serial Bluetooth v3 devra être connecté au port UART (Universal Asynchronous Receiver Transmitter). Il doit être ôté lors de chaque téléversement
Connectez un BP en D5. Ne connectez pas le module Bluetooth V3 Ă la carte Arduino.
Collez le contenu suivant dans un onglet vierge et envoyez-le vers la carte (et enregistrez le fichier sous le nom « TP105.ino »). Une fois le téléversement terminé, connectez le module Bluetooth sur le port UART.
Établissez l'algorigramme du programme Arduino.
Sous Applnventor (http://appinventor.mit.edu), saisissez le design fourni en annexe 1 ( ou à peu près).
Ajustez le « Timerlnterval » du composant « Clockl » à 300 ms. À quoi sert un composant « Clock » ?
Sous Applnventor, saisissez les blocs fournis en annexe 2 et expliquez le rĂ´le de chacun.
Compilez le programme pour générer un fichier APK, téléchargez l'application via un QR code puis ... testez-la!
​Annexes.pdfAnnexes.pdf - 150KB
​
On va gérer un afficheur LCD à distance, grâce au smartphone : le texte à afficher, ainsi que la couleur du rétroéclairage.
Matériel :
Arduino Uno
shield Grove
module Grove Serial Bluetooth v3
afficheur LCD Grove
smartphone sous Android
Le module Serial Bluetooth v3 devra être connecté au port UART (Universal Asynchronous Receiver Transmitter). Il doit être ôté lors de chaque téléversement.
Ne connectez pas le module Bluetooth V3 Ă la carte Arduino.
Suivre les étapes décrites dans le document suivant et tester le programme.
Allumer une LEDtuto_appinventor-bluetooth.pdf - 2MB
Pour transférer le programme Arduino, bien suivre la procédure suivante :
DĂ©connecter la liaison BT (bouton disconnect sur le smartphone);
Retirer physiquement le module BT de la carte Arduino ;
téléverser le programme ;
brancher le module BT sur la carte Arduino ;
Ă©tablir la liaison BT (bouton connect sur le smartphone).