Sommaire À propos de l'auteur 9 1. Introduction 11 1.1 Le projet Arduino 12 1.2 A qui s'adresse ce livre? 13 2. Le matériel Arduino 15 2.1 Un grand choix de modèles 15 2.2 Cartes d'extension 17 2.2.1 Shield de prototypage 17 2.2.2 Shield contrôleur de moteur 18 2.2.3 Shield Ethernet 18 2.3 Alimentation 19 2.4 Microcontrôleur 20 2.5 Interface USB 21 3. EDI et bases de la programmation 23 3.1 Environnement de développement intégré (EDI) 23 3.2 Environnement Arduino sous Linux 28 3.3 Introduction - le clignotant d'alarme 30 3.4 Structure d'un programme Arduino 31 3.5 Éléments de programmation en C pour Arduino 33 3.6 Fonctions setup et loop 35 3.7 Fonctions propres à Arduino 35 3.8 Eléments de syntaxe 36 3.9 Des mémoires de données élémentaires : les variables 36 3.10 Venus des mathématiques : les opérateurs 37 Opérateurs arithmétiques 37 Opérateurs de comparaison 38 3.11 Pour des résultats univoques : les opérateurs logiques 38 Opérateurs bit à bit 38 Arithmétique booléenne 40 Opérateurs d'affectation composée 40 3.12 Par nature invariables : les constantes 41 true/false 41 http://d-nb.info/1042039615
4 HIGH/LOW 41 INPUT/OUPUT 41 3.13 Des valeurs en collectivité : les tableaux 41 3.14 Instructions de contrôle 42 if 42 if/else 42 for 43 switch 43 while 43 do-while 44 break 44 3.15 Gestion du temps 44 mïllis( ) 45 delay(ms) 45 delaymicroseconds(fis) 45 3.16 Fonctions mathématiques et trigonométriques 45 min(x, y) ; max(x, y) ; abs(x) 45 sin( rad) ; cos ( rad) ; tan( rad) 45 sqrt(x) ; pow(x, n) ; log(x) 45 3.17 Nombres aléatoires 46 randomseed(seed) 46 long random(min, max) 46 3.18 Bibliothèques 46 4. Plaques et composants électroniques 49 4.1 Plaques d'essai sans soudure 49 4.2 Plaques d'expérimentation à bandes ou à pastilles 50 4.3 Freeduino 52 4.4 Principaux composants électroniques en bref 52 4.4.1 Câble USB 52 4.4.2 Résistances 53 4.4.3 Condensateurs 53 4.4.4 Potentiomètres 54 4.4.5 LED 55 4.4.6 LED multicolores 55 4.4.7 Boutons-poussoirs 56 4.4.8 Diodes au silicium 56 4.4.9 Transistors 56
5 5. Hello World! 57 5.1 Variations pour un chenillard 57 Pratique et développement 59 5.2 Tout s'éclaire : pilotage de LED de puissance 59 5.3 POVino 59 6. Afficheurs et techniques d'affichage 63 6.1 Affichage par bargraphe 63 Pratique et développement 64 6.2 Afficheurs à sept segments - simples et bon marché 64 6.3 Afficheurs à quatre chiffres 67 6.4 Matrices de LED - mini-affichage (et maxi pixels) 71 6.5 Matrice de LED comme afficheur à deux chiffres 75 6.6 Affichage de caractères alphanumériques 76 6.7 Afficheurs LCD 80 7. Techniques de mesure et capteurs 85 7.1 Voltmètre à LED : lecture facile et rapide 85 7.2 Voltmètre précis à afficheur LCD 88 Pratique et développement 92 7.3 Kilo-ohmmètre de table 92 7.4 Faradino 95 7.5 picofaradino 97 Pratique et développement 99 7.6 Transistino 99 Pratique et développement 100 7.7 Thermomètre à CTN très simple 100 7.8 Mesurer des températures avec l'ad22100 103 7.9 Relever des températures à distance 105 7.10 Thermodino - thermomètre précis avec afficheur à sept segments 106 Pratique et développement 110 7.11 Hygromètre 110 7.12 Accudino - mesurer la capacité d'un accumulateur 112 7.13 Photodétecteurs - pas uniquement pour la photographie! 117 7.14 Clignotant réflexe pour géocaching 119 7.15 Luxmètre numérique pour photographes 120 7.16 «Station radar» domestique : télémètre à ultrasons 123 8. Minuteurs, horloges et interruptions 129 8.1 Formule 1 : aide au brossage des dents 129 8.2 Horloge numérique à LED : précise et pratique 135
6 8.3 Réflexomètre : qui est le plus rapide? 140 8.4 Timerino - minuteur universel avec afficheur à 7 segments 143 Pratique et développement 145 8.5 Prise programmable 146 8.6 Horloge radio-pilotée : la précision atomique 147 8.7 Afficher la date et l'heure sur l'interface série 150 8.8 Horloge DCF77 autonome avec afficheur LCD 152 Pratique et développement 153 9. Interfaces 155 9.1 Interface I2C : simple et universelle 155 9.2 Duplicateur de port d'e/s : la fin des pénuries de broches 158 9.3 Quand 24 LED font la chenille 159 9.4 Débogueur hexadécimal avec afficheur à 7 segments 162 9.5 Commande d'afficheur LCD par I2C et PCF8574 166 9.6 Mesure de température entièrement numérique avec le LM75 168 9.7 Horloge en temps réel avec affichage de la date 171 9.8 Interface IR : pratique et sans fil 175 9.9 Lampino : LED RGB commandée par IR 179 9.10 Horloge numérique commandée à distance 182 9.11 Interface PS/2 185 9.12 Clavier et souris : des supports d'entrée universels 185 9.13 Orduino - un mini-ordinateur complet 188 Pratique et développement 189 10. Son et synthétiseur 193 10.1 Transducteurs acoustiques et amplificateurs 193 10.2 Sons simples 195 Pratique et développement 197 10.3 De la note au son grâce à la MLI rapide 197 Pratique et développement 199 Pratique et développement 203 10.4 Le thérémine 203 10.5 Traitement audio 206 10.5.1 VCO : une source d'ondes sinusoïdales réglable 207 10.5.2 Traitement numérique du signal 209 10.6 Synthétiseur numérique 213 11. Technique de régulation numérique 215 11.1 Types d'asservissement 216 11.1.1 Asservissement P 217
7 11.1.2 Asservissement I 217 11.1.3 Asservissement PI 217 11.1.4 Asservissement PD 218 11.1.5 Asservissement PID 218 11.2 Régulateur numérique de luminosité 219 11.3 Compenser la gravité : un classique de la régulation 222 Mise en garde 226 Trucs et astuces 228 12. Physical Computing 229 12.1 Les servomoteurs aux commandes 230 12.2 Photino : orienter un appareil photo 233 12.3 Grunino : commande de grue a la souris 236 13. Processing 241 13.1 Arduino & Processing - un duo à succès 242 13.2 Affichage de données avec Processing 243 Pratique et développement 246 14. Projet modulaire : une domobox 251 14.1 L'indispensable horloge 252 Pratique et développement 253 14.2 Commande à distance : interface IR 253 Pratique et développement 253 14.3 Commande d'éclairage, de Hi-Fi, de TV, etc 254 14.4 Capteurs et temporisateurs : un début de maison intelligente 254 14.5 Thermomètre à plusieurs capteurs 254 14.6 Hygromètre : le bien-être sous contrôle 255 14.7 Matériel 255 14.8 Programme d'exemple de la domobox 255 15. Appendices 259 15.1 Bibliographie 259 15.2 Quelques revendeurs de composants 259 15.3 Programmes, informations et mises à jour 259 15.4 Liste des programmes 260 15.5 Liste des figures 262 15.6 Liste des tableaux 266 Index 267