00) 230 EXPERIENCES « amusantes » avec ARDUINO

 

Avant de foncer tête dans le guidon pour réaliser des expériences de robotique de loisir, il me semble utile de vous prévenir que toutes les images qui sont présentes dans ce didacticiel sont de très médiocres qualités. En effet, elles sont issues de copies d’écran, technique qui engendre une perte de qualité considérable. Je vous suggère de consulter celles des fichiers 100 EXPERIENCES.pdf dans le « KIT » dont le lien est donné ci-dessous.

Comme pour tous mes autres tutoriels, vous trouverez l’intégralité des  « modules » dont vous pouvez avoir besoin qui sont réunis dans un fichier.ZIP que vous trouverez ICI. (Fichiers didacticiel, photographies, programmes Arduino etc.)

RECOMMANDATION : Visant à proposer un éventail de programmes diversifiés pour tenter de couvrir pratiquement tous les aspects de la programmation de loisir, je vous invite fortement à commencer par faire un petit tour sur « Apprenons à programmer Arduino TOME 1 et TOME 2 de Jekert et Mike 118 » qui constituent un préambule très enrichissant avant d’aborder ce didacticiel.

Longtemps lecteur assidu de revues d’électronique de loisir pour apprendre et comprendre les divers domaines « du silicium », il était de tradition pour le mensuel de juillet ou d’août, de sortir un numéro spécial qui contenait le nombre magique de 100 schémas expliqués et agrémentés éventuellement des dessins des circuits imprimés associés. Je trouvais personnellement ces numéros « hors série » séduisant, sortis à la belle saison quand c’est les vacances et que tout un chacun désire en profiter pour s’adonner à ses activités favorites lors de ses congés annuels, disposant alors d’un peu de temps de libre que n’octroie pas notre vie de tous les jours au cours de l’année.

L’avènement du numérique a brouillé un peu les pistes, et les mensuels actuels tendent de plus en plus à être dématérialisés avec tous les avantages et les inconvénients que le « progrès » suscite. N’étant plus lecteur régulier des revues papier dans le domaine de l’électronique, ayant acquis suffisamment d’expérience pour développer entièrement mes propres projets de loisir, je ne sais pas si cette tradition est toujours d’actualité, que ce soit dans les kiosques encore en activité ou disponibles sur tablette électronique. L’internet qui met à disposition du commun des mortels « toute la connaissance mondiale » n’a aucune raison de mettre fin au « cent montages pour s’amuser ». Aussi, pourquoi ne pas envisager un tel « Hors série » dans lequel seraient décrites 230 expérimentations, des plus simples aux plus « cossues », fatras un peu ordonné ou chacune et chacun pourrait avoir envie les jours de pluie de puiser quelques idée pour « ensoleiller » les heures de loisir.

Le didacticiel se veut plus qu’un simple recueil de petits (Ou plus gros.) programmes pour Arduino, mais propose un cheminement qui ambitionne de passer en revue pratiquement toutes les instructions du C++ d’Arduino avec une approche si possible méthodique et structurée de la programmation. Il ne prétend surtout pas péremptoirement fournir l’exemple académique de ce qu’il faut faire pour bien programmer, mais désire ouvrir des piste pour susciter encore plus l’envie de coder sur Arduino pour avoir le plaisir de voir notre petit montage se comporter comme on le souhaitait. La satisfaction sera d’autant plus grande que parfois la petite bête à 30 broches fait de la résistance et trouve un malin plaisir à nous réserver des surprises inattendues. (Pour les 30 broches je fais ici allusion à la carte Arduino NANO.)
Comme pour chacun de mes didacticiels, ce cheminement ludique allant de l’élémentaire vers le moins simple est accompagné de toute la logistique qui facilitera vos expériences en vous évitant d’avoir à consacrer du temps pour rechercher des documents nécessaires à comprendre tous les détails techniques des dispositifs utilisés. Naturellement l’intégralité des programmes est disponible vous évitant d’avoir à saisir « ces kilomètres » d’instructions et garantissant un succès dès le téléversement sur notre carte incontournable qu’elle soit de type UNO ou de type NANO.

Sans être exhaustif on s’en doute, notre promenade informatique sera constituée de chapitres qui embrassent globalement les domaines incontournables de la petite robotique et qui parfois proposent des « hors sentiers » tels que les pointeurs, les MASQUES LOGIQUES, l’utilisation de l’EEPROM, domaines pas toujours fréquentés par les programmeurs occasionnels. Sans prétendre explorer le panorama complet des applications potentielles, notre cheminement va je l’espère couvrir un éventail suffisamment large pour que vous puissiez trouver « chaussure à votre pied ». Je vous souhaite une agréable lecture, espérant nous balader dans un maximum de sentiers utilisant les innombrables petits modules du commerce en ligne souvent disponibles à des coûts presque dérisoires, pour au moins les moins complexes et de ce fait les plus nombreux.
Avant de commencer à nous balader sur les sentiers de la découverte, je vous suggère fortement de réaliser deux petits livrets au format A5 que l’on doit avoir en permanence à portée de main quand on programme. Il s’agit de SYNTAXE à imprimer.pdf et Bibliothèques Arduino.pdf de mon fait qui me servent depuis des années lorsque j’ai un doute sur le comportement d’une instruction C++ ou sur une procédure d’une bibliothèque accompagnant un module électronique. Ces deux documents ne prétendent pas du tout être complets, mais ils ont le mérite d’exister et couvrent assez bien les besoins d’un programmeur amateur. Je sais qu’imprimer n’est pas très écologique, mais pour ces deux cas particulier je plaide non coupable, car je crois vraiment que ça reste raisonnable compte tenu du fait qu’ils seront utilisés pendant très longtemps. Pour concrétiser ces deux petits livrets la technique est détaillée dans Réaliser un petit livret.pdf logé dans le dossier bien encombré nommé <Documents>.
Toujours dans le but d’avoir des « compagnons de route » qui fidèlement vont nous suivre au cours de notre voyage, dans le fichier FICHES A5.pdf se trouvent des Fiches au format A5 bien commodes qui contiennent des informations fondamentales pouvant vous servir durant « toute votre vie de programmeur de loisir ». Naturellement, il n’est absolument pas obligatoire d’imprimer toutes les fiches. Vous avez parfaitement le loisir de ne concrétiser que celles qui vous semblent indispensables. Personnellement je plastifie celles qui sont utilisées constamment comme le couple Fiche n°1 et Fiche n°2 par exemple. Par ailleurs, noter que pour tous les exercices que nous allons tester, je vais m’imposer de respecter au mieux les conseils de programmation résumés dans la Fiche n°7 et la Fiche n°8. Notre itinéraire ludique est tout tracé …
Globalement, chaque fois qu’un programme présentera une particularité qui mérite d’être soulignée, il sera suivi d’une analyse précise et d’explications spécifiques. Les informations pourront être accompagnées de schémas ou de dessins, et parfois d’organigrammes « normalisés » dont la « grammaire » est précisée dans la Fiche n°11. Il vous sera ainsi possible de consolider votre savoir-faire dans ce domaine sans limites qu’est la programmation et dont Arduino avec ses innombrables petits modules du commerce constitue un continent dont l’horizon n’a pas de limite.

Amicalement : Nulentout.

Liste des thèmes principaux abordés dans le didacticiel :

Expériences spécifiques.

Bloquer le déroulement d’un programme : Expérience 004.ino
Réaliser une sonde logique : Expérience 015.ino
Utiliser l’EEPROM : Expérience 018.ino, Expérience 019.ino, Expérience 052L.ino
Constantes logées dans le programme : Expérience 023.ino
Génération de nombres aléatoires : Expérience 034.ino à Expérience 037.ino
Horloge/Calendrier : Expérience 048.ino et Expérience 049.ino
Bruiteurs passifs : Expérience 043.ino, Expérience 044.ino, Expérience 092.ino,
Expérience 077.ino à Expérience 085.ino
Bruiteurs actifs : Expérience 076.ino
Une sirène de puissance : Expérience 080.ino
Détecteur de vibrations et de chocs : Expérience 093.ino
Capteur de force et de pression : Expérience 094.ino
Dialogue entre machines : Expérience 120.ino, Expérience 121.ino et Diverses_Experiences_7
MENUS et sous-MENUS : Expérience 140.ino
Chiffrement / Décryptage : Expérience 141.ino et Expérience 142.ino
Le mode SOMMEIL : Diverses_Experiences_2
Gestion des Interruptions : Diverses_Experiences_3
Usage de serialEVENT : Diverses_Experiences_6
Collision entre la PILE et le TAS : Experience_157.ino

Gestion du temps et chronométrages.

Expérience 002.ino , Expérience 003.ino, Expérience 010.ino
Chronométrages par Interruptions : Diverses_Experiences_4
Des chronomètres à gogo avec millis : Diverses_Experiences_5

Optoélectronique et instructions BINAIRES.

Usage des diodes électroluminescentes.
Éléments individuels : Expérience 001.ino à Expérience 009.ino
Barregraphes : Expérience 011.ino et Expérience 012.ino
Les matrices de LEDs : Expérience 016.ino à Expérience 025.ino
Les afficheurs 7 segments : Expérience 026.ino à Expérience 028.ino
Les 7 segments multiples : Expérience 037.ino à Expérience 039.ino
Les afficheurs 16 segments : Expérience 029.ino et Expérience 030.ino
Les afficheurs alphanumériques.
Afficheur 16 segments multiples : Expérience 040
Les afficheur LCD : Expérience 041, Expérience 042.ino à Expérience 047.ino
Les afficheurs graphiques.
OLED 0,96 pouce : Expérience 050, Démonstrateur Marienbad_B, Le JEU DE LA VIE
OLED 1,3 pouces : Expérience 051, Expérience 059 et Expérience 060, Expérience 140
L’afficheur ST7565 : Expérience 052A à Expérience 052R.ino
Écran couleur / tactile SLD10261P : Expérience 053.ino et Expérience 054.ino
Déterminer vos biorythmes : Expérience 155.ino

Les claviers.

Assurer l’anti-rebonds : Expérience 032.ino
Clavier à deux boutons : Expérience 031.ino et Expérience 033.ino
Clavier à 16 touches : Expérience 055.ino
Clavier à 30 touches : Multiplexage Page 48.

Les Opérateurs LOGIQUES.

Expérience 013.ino , Expérience 014.ino
Déterminer la parité d’un nombre entier : Page 119 du didacticiel.

Les capteurs.

Encodeur rotatif KY-040 : Expérience 056.ino
Potentiomètre sur RESET : Expérience 057.ino
Mini joystick à deux axes : Expérience 058.ino et Expérience 059.ino
Commande analogique sans usure : Expérience 060.ino
L’interrupteur reed (Relais ILS) : Expérience 090.ino et Expérience 111.ino
Fourches optiques : Expérience 091.ino
Lecteur de cartes perforées : Expérience 095.ino
Serrure codées : Expérience 096.ino et Expérience 097.ino
Lecteur de bande perforée : Expérience 098.ino
Capteur de température CTN : Expérience 102.ino
Capteur de température DS-18B20 : Expérience 103.ino
Capteur Température/Humidité DHT11 : Expérience 104.ino
Le capteur BMP 180 (Pression atmosphériques) : Expérience 105.ino
Capteur de pression GY-BMP280 (Pression atmosphériques) : Expérience 108.ino
Lecteur de petites cartes mémoire SDRAM : Expérience 106.ino
Détecteur de mouvement HC SR 501 : Expérience 107.ino et Expérience 134.ino
Fourche optique KY-038 : Expérience 108.ino
Capteur infrarouge KY-032 : Expérience 112.ino
Capteur tactile capacitif TTP223B : Expérience 113.ino
Capteur à Effet HALL : Expérience 114.ino
Capteur d’inclinaison longitudinale HDX : Expérience 115.ino
Bousole statique HMC6352 : Expérience 116.ino
Boussole trois axes GY-273 HMC5883L : Expérience 117.ino
Télémètre à ultrasons HC-SR04 : Expérience 118.ino
Radar à ultrasons HC-SR04 : Expérience 119.ino
Amplification acoustique avec le KY-038 : Expérience 122.ino
Capteur de couleurs TCS3200 : Expérience 135.ino
Affichage spectral : Expérience 136.ino à Expérience 139.ino
Mesure de la tension +5Vcc d’Arduino : Diverses_Experiences_1

La stabilisation gyroscopique et les centrales inertielles.

Accéléromètre trirectangle : Expérience 123.ino et Expérience 124.ino
Découverte du MPU6050 : Expérience 125.ino
Mesure des accélérations : Expérience 126.ino
Recopie le roulis sur un servomoteur : Expérience 127.ino
Visualisation de l’assiette et du CAP du mobile : Expérience 130.ino
La dérive gyroscopique : Page 96 du didacticiel.
Conception d’un petit tableau de bord graphique : Expérience 131.ino
MPU-6050 et tableau de bord graphique : Expérience 132.ino
Stabilisation gyroscopique et moteurs PAS à PAS : Page 97 et Expérience 133.ino

La motorisation.

Les moteurs à courant continu : Expérience 061.ino à Expérience 065.ino
Les moteurs PAS à PAS : Expérience 067.ino à Expérience 069.ino
Les servomoteurs moteurs : Expérience 070.ino à Expérience 072.ino
Tester la mise en veille du servomoteur : Expérience 128.ino
Rotation sur toute la plage du servomoteur : Expérience 129.ino
Le multiplexeur PCA9685 : Expérience 073.ino à Expérience 072.ino
Shield ADAFRUIT : SHIELD_Adafruit_1.ino à SHIELD_Adafruit_6.ino

Les effecteurs.

Diodes LASER et barrières optiques : Expérience 087.ino à Expérience 089.ino
Relais statiques sur secteur 220V : Expérience 099.ino à Expérience 101.ino

La RÉCURSIVITÉ.

Les bases de la récursivité : Expérience 143.ino
Traitement récursif après la condition de sortie : Expérience 144.ino
Procédure récursive avec passage de paramètres : Expérience 145.ino
Chronométrage récursif et itératif pour comparaison : Expérience 146.ino
Traitement avec risque : Expérience 147.ino
Factorielle un autre exemple : Expérience 148.ino
Les tours de Hanoî en récursif : Expérience 149.ino
Hanoï en itératif : Expérience 150.ino
Un petit défi : Expérience 151.ino

L’intelligence artificielle.

Le jeu du « c’est plus, c’est moins » : Expérience 152.ino
L’ordinateur lit dans votre pensée ! Expérience 153.ino
Démonstrateur Marienbad_A et Démonstrateur Marienbad_B
Le JEU DE LA VIE

Les petits projets.

Barre automatique d’un petit navire.
Un rapporteur à LASER.
Un rapporteur « SOLAIRE ».
Cadre photographies Tactile.
Les tours de Hanoî en récursif : Expérience 149.ino
Déterminer vos biorythmes : Expérience 154.ino et Expérience 155.ino
Un petit cœur qui bat à l’infini : Expérience 156.ino

 

La suite est ici.