Arduino pour bien commencer en électronique et en programmation Par Eskimon et

Arduino pour bien commencer en électronique et en programmation Par Eskimon et olyte www.openclassrooms.com Licence Creative Commons 6 2.0 Dernière mise à jour le 2/12/2012 Sommaire 2 Sommaire ........................................................................................................................................... 4 Lire aussi ............................................................................................................................................ 6 Arduino pour bien commencer en électronique et en programmation ................................................ 6 Plan du cours .................................................................................................................................................................... 6 Apprentissage des bases ............................................................................................................................................................................................ 6 Notions en robotique et en domotique ........................................................................................................................................................................ 7 Les écrans LCD ........................................................................................................................................................................................................... 7 Interface Homme-Machine .......................................................................................................................................................................................... 7 Internet ........................................................................................................................................................................................................................ 7 Les annexes ................................................................................................................................................................................................................ 7 Objectif du cours ............................................................................................................................................................... 8 Partie 1 : [Théorie] Découverte de l'Arduino ....................................................................................... 9 Présentation ...................................................................................................................................................................... 9 Présentation d'Arduino ................................................................................................................................................................................................ 9 Qu'est ce que c'est ? ................................................................................................................................................................................................... 9 Les bonnes raisons de choisir Arduino ....................................................................................................................................................................... 10 Les outils Arduino ...................................................................................................................................................................................................... 12 Acheter une carte ...................................................................................................................................................................................................... 14 Listes d'achat ............................................................................................................................................................................................................ 19 Liste Globale ! ........................................................................................................................................................................................................... 21 Les revendeurs .......................................................................................................................................................................................................... 21 Les kits ...................................................................................................................................................................................................................... 22 Quelques bases élémentaires ......................................................................................................................................... 22 L'électronique ............................................................................................................................................................................................................ 22 Le courant électrique ................................................................................................................................................................................................. 23 Tension ...................................................................................................................................................................................................................... 24 La masse ................................................................................................................................................................................................................... 25 La résistance ............................................................................................................................................................................................................. 26 Un outil formidable : la BreadBoard .......................................................................................................................................................................... 27 La programmation ..................................................................................................................................................................................................... 27 Qu'est-ce qu'un programme ...................................................................................................................................................................................... 28 La programmation en électronique ........................................................................................................................................................................... 30 Les bases du comptage (2,10,16...) .......................................................................................................................................................................... 30 Les bases du de comptage ....................................................................................................................................................................................... 31 Conversions .............................................................................................................................................................................................................. 33 Le logiciel ........................................................................................................................................................................ 34 Installation ................................................................................................................................................................................................................. 34 Téléchargement ........................................................................................................................................................................................................ 35 Interface du logiciel ................................................................................................................................................................................................... 35 Lancement du logiciel ............................................................................................................................................................................................... 36 Présentation du logiciel ............................................................................................................................................................................................. 37 Approche et utilisation du logiciel .............................................................................................................................................................................. 37 Le menu File ............................................................................................................................................................................................................. 38 Les boutons ............................................................................................................................................................................................................... 40 Le matériel ....................................................................................................................................................................... 40 Présentation de la carte ............................................................................................................................................................................................ 40 Constitution de la carte ............................................................................................................................................................................................. 41 Installation ................................................................................................................................................................................................................. 41 Sous Windows .......................................................................................................................................................................................................... 42 Tester son matériel .................................................................................................................................................................................................... 50 Le langage Arduino (1/2) ................................................................................................................................................. 50 La syntaxe du langage .............................................................................................................................................................................................. 50 Le code minimal ........................................................................................................................................................................................................ 52 Les variables ............................................................................................................................................................................................................. 55 Les opérations "simples" ........................................................................................................................................................................................... 57 Quelques opérations bien pratiques ......................................................................................................................................................................... 59 L'opération de bascule (ou "inversion d'état") ........................................................................................................................................................... 59 Les conditions ........................................................................................................................................................................................................... 60 If...else ....................................................................................................................................................................................................................... 62 Les opérateurs logiques ............................................................................................................................................................................................ 64 Switch ........................................................................................................................................................................................................................ 66 La condition ternaire ou condensée .......................................................................................................................................................................... 67 Le langage Arduino (2/2) ................................................................................................................................................. 68 Les boucles ............................................................................................................................................................................................................... 68 La boucle while .......................................................................................................................................................................................................... 69 La boucle do...while ................................................................................................................................................................................................... 71 La boucle for .............................................................................................................................................................................................................. 72 La boucle infinie ........................................................................................................................................................................................................ 72 Les fonctions ............................................................................................................................................................................................................. 73 Fabriquer une fonction .............................................................................................................................................................................................. 74 Les fonctions vides .................................................................................................................................................................................................... 75 Les fonctions "typées" ............................................................................................................................................................................................... 76 Les fonctions avec paramètres ................................................................................................................................................................................. 78 Les tableaux .............................................................................................................................................................................................................. 2/326 www.openclassrooms.com 79 Déclarer un tableau ................................................................................................................................................................................................... 79 Accéder et modifier une case du tableau .................................................................................................................................................................. 80 Initialiser un tableau .................................................................................................................................................................................................. 81 Exemple de traitement .............................................................................................................................................................................................. 83 Partie 2 : [Pratique] Gestion des entrées / sorties ............................................................................. 84 Notre premier programme ! ............................................................................................................................................. 84 La diode électroluminescente ................................................................................................................................................................................... 84 DEL / LED ? .............................................................................................................................................................................................................. 85 Fonctionnement ........................................................................................................................................................................................................ 87 Par quoi on commence ? .......................................................................................................................................................................................... 88 Réalisation ................................................................................................................................................................................................................ 90 Créer un nouveau projet ............................................................................................................................................................................................ 92 Créer le programme : les bons outils ! ...................................................................................................................................................................... 92 La référence Arduino ................................................................................................................................................................................................. 93 Allumer notre LED ..................................................................................................................................................................................................... 95 Introduire le temps ........................................................................................................................................................... 96 Comment faire ? ........................................................................................................................................................................................................ 100 Faire clignoter un groupe de LED ........................................................................................................................................................................... 105 Réaliser un chenillard .............................................................................................................................................................................................. 108 Fonction millis() ....................................................................................................................................................................................................... 108 Les limites de la fonction delay() ............................................................................................................................................................................. 109 Découvrons et utilisons millis() ................................................................................................................................................................................ 110 [TP] Feux de signalisation routière ................................................................................................................................ 111 Préparation .............................................................................................................................................................................................................. 112 Énoncé de l'exercice ............................................................................................................................................................................................... 113 Correction ! .............................................................................................................................................................................................................. 114 La correction, enfin ! ................................................................................................................................................................................................ 117 Un simple bouton ........................................................................................................................................................... 117 Qu'est-ce qu'un bouton ............................................................................................................................................................................................ 117 Mécanique du bouton .............................................................................................................................................................................................. 117 L'électronique du bouton ......................................................................................................................................................................................... 118 Contrainte pour les montages ................................................................................................................................................................................. 120 Les pull-ups internes ............................................................................................................................................................................................... 121 Récupérer l'appui du bouton ................................................................................................................................................................................... 121 Montage de base ..................................................................................................................................................................................................... 122 Paramétrer la carte .................................................................................................................................................................................................. 123 Récupérer l'état du bouton ...................................................................................................................................................................................... 123 Test simple .............................................................................................................................................................................................................. 125 Interagir avec les LEDs ........................................................................................................................................................................................... 125 Montage à faire ....................................................................................................................................................................................................... 127 Objectif : Barregraphe à LED .................................................................................................................................................................................. 127 Correction ................................................................................................................................................................................................................ 132 Les interruptions matérielles ................................................................................................................................................................................... 132 Principe ................................................................................................................................................................................................................... 133 Mise en place .......................................................................................................................................................................................................... 133 Mise en garde .......................................................................................................................................................................................................... 135 Afficheurs 7 segments ................................................................................................................................................... 135 Matériel .................................................................................................................................................................................................................... 135 Première approche : côté électronique ................................................................................................................................................................... 135 Un peu (beaucoup) d'électronique .......................................................................................................................................................................... 136 Branchement "complet" de l'afficheur ..................................................................................................................................................................... 139 Afficher son premier chiffre ! ................................................................................................................................................................................... 139 Schéma de connexion ............................................................................................................................................................................................. 140 Le programme ......................................................................................................................................................................................................... 141 Techniques d'affichage ............................................................................................................................................................................................ 141 Les décodeurs "4 bits -> 7 segments" ..................................................................................................................................................................... 144 L'affichage par alternance ....................................................................................................................................................................................... 144 Utilisation du décodeur BCD ................................................................................................................................................................................... 149 Utiliser plusieurs afficheurs ..................................................................................................................................................................................... 149 Un peu d'électronique... .......................................................................................................................................................................................... 155 ...et de programmation ............................................................................................................................................................................................ 157 Contraintes des évènements .................................................................................................................................................................................. 160 [TP] zParking ................................................................................................................................................................. 160 Consigne ................................................................................................................................................................................................................. 161 Correction ! .............................................................................................................................................................................................................. 161 Montage .................................................................................................................................................................................................................. 163 Programme ............................................................................................................................................................................................................. 170 Conclusion .............................................................................................................................................................................................................. 171 Ajouter des sorties (numériques) à l'Arduino ................................................................................................................ 171 Présentation du 74HC595 ....................................................................................................................................................................................... 171 Principe ................................................................................................................................................................................................................... 171 Le composant .......................................................................................................................................................................................................... 175 Programmons pour utiliser ce composant ............................................................................................................................................................... 175 Envoyer un ordre au 74HC595 ................................................................................................................................................................................ 182 La fonction magique, ShiftOut ................................................................................................................................................................................. 183 Exercices : encore des chenillards ! ........................................................................................................................................................................ 183 "J'avance et repars !" ............................................................................................................................................................................................... 184 "J'avance et reviens !" ............................................................................................................................................................................................. 185 Un dernier pour la route ! ........................................................................................................................................................................................ 186 Exo bonus ............................................................................................................................................................................................................... 188 Pas assez ? Augmenter encore ! ............................................................................................................................................................................ Sommaire 3/326 www.openclassrooms.com 193 Partie 3 : [Pratique] Communication par la liaison série .................................................................. 193 Généralités .................................................................................................................................................................... 193 Protocole de communication ................................................................................................................................................................................... 193 Principe de la voie série .......................................................................................................................................................................................... 193 Avant de commencer... ............................................................................................................................................................................................ 194 Fonctionnement de la communication série ............................................................................................................................................................ 196 Fonctionnement de la liaison série .......................................................................................................................................................................... 196 Le connecteur série (ou sortie DB9) ........................................................................................................................................................................ 198 La gestion des erreurs ............................................................................................................................................................................................. 198 Désolé, je suis occupé... ......................................................................................................................................................................................... 199 Mode de fonctionnement ......................................................................................................................................................................................... 200 Arduino et la communication ................................................................................................................................................................................... 200 Utiliser la liaison série avec Arduino ........................................................................................................................................................................ 201 Différence entre Ordinateur et Arduino .................................................................................................................................................................... 201 Les niveaux électriques ........................................................................................................................................................................................... 202 Cas d'utilisation ....................................................................................................................................................................................................... 203 Envoyer/Recevoir des données .................................................................................................................................... 203 Préparer la liaison série .......................................................................................................................................................................................... 203 Du côté de l'ordinateur ............................................................................................................................................................................................ 205 Du côté du programme ........................................................................................................................................................................................... 206 Envoyer des données .............................................................................................................................................................................................. 206 Appréhender l'objet Serial ....................................................................................................................................................................................... 208 La fonction print() en détail ...................................................................................................................................................................................... 213 Exercice : Envoyer l'alphabet .................................................................................................................................................................................. 214 Recevoir des données ............................................................................................................................................................................................ 214 Réception de données ............................................................................................................................................................................................ 216 Exemple de code complet ....................................................................................................................................................................................... 216 [Exercice] Attention à la casse ! .............................................................................................................................................................................. 216 Consigne ................................................................................................................................................................................................................. 217 Correction ................................................................................................................................................................................................................ 219 [TP] Baignade interdite .................................................................................................................................................. 220 Sujet du TP .............................................................................................................................................................................................................. 220 Contexte .................................................................................................................................................................................................................. 220 Objectif .................................................................................................................................................................................................................... 220 Conseil .................................................................................................................................................................................................................... 221 Résultat ................................................................................................................................................................................................................... 222 Correction ! .............................................................................................................................................................................................................. 222 Le schéma électronique .......................................................................................................................................................................................... 224 Les variables globales et la fonction setup() ........................................................................................................................................................... 225 La fonction principale et les autres .......................................................................................................................................................................... 230 Code complet .......................................................................................................................................................................................................... 232 Améliorations .......................................................................................................................................................................................................... 233 [Annexe] Votre ordinateur et sa liaison série dans un autre langage de programmation ............................................. 234 En C++ avec Qt ....................................................................................................................................................................................................... 234 Installer QextSerialPort ........................................................................................................................................................................................... 235 Les trucs utiles ........................................................................................................................................................................................................ 239 Émettre et recevoir des données ............................................................................................................................................................................ 240 En C# (.Net) ............................................................................................................................................................................................................ 240 Les trucs utiles ........................................................................................................................................................................................................ 243 Émettre et recevoir des données ............................................................................................................................................................................ 246 Partie 4 : [Pratique] Les grandeurs analogiques ............................................................................. 246 Les entrées analogiques de l'Arduino ........................................................................................................................... 246 Un signal analogique : petits rappels ...................................................................................................................................................................... 247 Les convertisseurs analogiques -> numérique ou CAN .......................................................................................................................................... 248 Arduino dispose d'un CAN ...................................................................................................................................................................................... 249 Le CAN à approximations successives ................................................................................................................................................................... 254 Lecture analogique, on y vient... ............................................................................................................................................................................. 254 Lire la tension sur une broche analogique .............................................................................................................................................................. 255 Convertir la valeur lue ............................................................................................................................................................................................. 257 Une meilleure précision ? ........................................................................................................................................................................................ 257 Solution 1 : modifier la plage d'entrée du convertisseur .......................................................................................................................................... 258 Solution 2 : présentation théorique d'une solution matérielle (nécessite des composants supplémentaires) ........................................................ 259 Exemple d'utilisation ................................................................................................................................................................................................ 259 Le potentiomètre ..................................................................................................................................................................................................... 261 Utilisation avec Arduino ........................................................................................................................................................................................... 263 [TP] Vu-mètre à LED ..................................................................................................................................................... 264 Consigne ................................................................................................................................................................................................................. 264 Correction ! .............................................................................................................................................................................................................. 264 Schéma électronique .............................................................................................................................................................................................. 266 Le code .................................................................................................................................................................................................................... 267 Amélioration ............................................................................................................................................................................................................ 271 Et les sorties "analogiques", enfin... presque ! .............................................................................................................. 271 Convertir des données binaires en signal analogique ............................................................................................................................................ 271 Convertisseur Numérique->Analogique .................................................................................................................................................................. 271 PWM ou MLI ............................................................................................................................................................................................................ 273 La PWM de l'Arduino ............................................................................................................................................................................................... 273 Avant de commencer à programmer ....................................................................................................................................................................... 274 Quelques outils essentiels ...................................................................................................................................................................................... 278 À vos claviers, prêt... programmez ! ........................................................................................................................................................................ 281 Transformation PWM -> signal analogique ............................................................................................................................................................. 282 La valeur moyenne d'un signal ................................................................................................................................................................................ Sommaire 4/326 www.openclassrooms.com 283 Extraire cette valeur moyenne ................................................................................................................................................................................. 287 Calibrer correctement la constante RC ................................................................................................................................................................... 288 [Exercice] Une animation "YouTube" ............................................................................................................................ 289 Énoncé .................................................................................................................................................................................................................... 289 Solution ................................................................................................................................................................................................................... 289 Le schéma ............................................................................................................................................................................................................... 291 Le code .................................................................................................................................................................................................................... 294 Partie 5 : [Pratique] L'affichage ....................................................................................................... 295 Les écrans LCD ............................................................................................................................................................. 295 Un écran LCD c'est quoi ? ...................................................................................................................................................................................... 296 Commande du LCD ................................................................................................................................................................................................ 297 Quel écran choisir ? ................................................................................................................................................................................................ 297 Les caractéristiques ................................................................................................................................................................................................ 298 Communication avec l'écran ................................................................................................................................................................................... 299 Comment on s'en sert ? .......................................................................................................................................................................................... 299 Le branchement ...................................................................................................................................................................................................... 301 Le démarrage de l'écran avec Arduino .................................................................................................................................................................... 303 Votre premier texte ! ...................................................................................................................................................... 304 Ecrire du texte ......................................................................................................................................................................................................... 304 Afficher du texte ...................................................................................................................................................................................................... 304 Afficher une variable ................................................................................................................................................................................................ 305 Combo ! Afficher du texte ET une variable .............................................................................................................................................................. 306 Exercice, faire une horloge ...................................................................................................................................................................................... 308 Se déplacer sur l'écran ............................................................................................................................................................................................ 308 Gérer l'affichage ...................................................................................................................................................................................................... 309 Gérer le curseur ...................................................................................................................................................................................................... 310 Jouer avec le texte .................................................................................................................................................................................................. 312 Créer un caractère .................................................................................................................................................................................................. 314 [TP] Supervision ............................................................................................................................................................ 315 Consigne ................................................................................................................................................................................................................. 316 Correction ! .............................................................................................................................................................................................................. 316 Le montage uploads/Philosophie/ 515602-arduino-pour-bien-commencer-en-electronique-et-en-programmation.pdf

  • 23
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager