Bonjour
je ne résiste pas à prendre la parole...en essayant de ne pas répéter bêtement ce qui est déjà dit.
Arduino = carte électronique comprenant un micro-contrôleur (le principal) et quelques composants pour l'alimentation, la fréquence d'horloge, la communication avec port USB en direct (pour le téléchargement des programmes depuis un PC et/ou la communication avec d'autres systèmes).
Cette carte a une vingtaine de bornes d'entrées sorties. Les entrées reçoivent 0V ou 5V. Les sorties délivrent 0V ou 5V, en fonction de l'état des entrées et du programme qui a été transféré depuis le PC dans le MC.
On définit dans le programme quelles sont les entrées et quelles sont les sorties (chaque PIN peut faire l'un ou l'autre.
Il y a quelques PIN qui peuvent lire un signal analogique, entre 0 et 5V. De même quelques PIN sont adaptées pour faire du PMW (hachage de la tension) et s'utilisent presque comme si c'était une sortie analogique.
La carte est un "cerveau", le courant de sortie sur chaque PIN est limité à 20 mA, et je crois 50 mA au total. Donc, à part pour allumer des leds, de l'affichage, ou de tout petits moteurs ou relais, il faut, pour la plupart des applications matérielles, amplifier ce qui sort. D'où il ressort qu'un peu de connaissances électricité / électronique sont les bienvenues. Mais il existe plein de modules intermédiaires prêts à être reliés à Arduino, qui simplifient la tâche. En même temps on apprend ça aussi un peu à la fois....
Pour faire mumuse ou pendant le temps de programmation et mise au point, la carte est en général reliée au PC, prise USB. La liaison permet:
- l'alimentation par le 5V de l'USB (limité à 500 mA je crois le plus souvent)
- le "téléversement" de programmes
- le retour d'info depuis arduino vers le moniteur du PC, très utile soit pour l'application elle-même, soit simplement pour aider à la mise au point du programme.
Ensuite, le MC conserve en mémoire flash le programme, même hors tension. Pour une utilisation de façon autonome, il est (le plus souvent) alimenté par une prise Jack 6.35mm entre 7 et 12 V (on peut avoir jusque 20 V, mais peu d'intérêt, ça risque de faire chauffer inutilement le régulateur intégré). Courant continu même pas stabilisé....
Le programme commence à s'exécuter dès la mise sous tension. Le programme est conservé en l'absence d'alimentation, mais pas les variables qui servent dans l'exécution, dont la valeur change en permanence....
Il y a donc systématiquement une phase d'initialisation, le setup, qui principalement va redonner aux variables les valeurs qu'on leur impose au départ du cycle, puis le cycle proprement dit, sous forme d'une boucle (loop) qui s'exécute sans arrêt. Quand on est en bas, ça reprend en haut etc....
Un programme a donc au moins un setup et une boucle loop.
Avec une fréquence d'horloge de 16 MHz, par exemple, il y a plusieurs opérations élémentaires (=lignes de programme) qui se font à chaque micro-seconde. Même des programmes assez importants peuvent donc un temps de cycle très court (1 ou 2 ms par exemple).
Quand on dit que la boucle s'exécute sans arrêt, on parle du MC lui-même. Si on utilise une fonction d'attente pendant 10 secondes, le MC "semblera à l'arrêt" et on ne pourra rien faire d'autre pendant ce temps. En fait, lui même n'est pas à l'arrêt, il compte le temps d'attente....
Il faut ajouter que tout est libre de droits, même les clônes compatibles qu'on trouve à bas prix, le logiciel (sur le site arduino.cc), et nombre d'applications, de librairies, d'exemples, de plus en plus nombreux d'ailleurs. Le forum usinages.com ne fait pas exception....
Même simplifié (base Java et langage C) le langage Arduino ne se domestique pas en une heure. Mais, avec le logiciel, sont fournis des exemples très simples, prêts à être téléversés vers le module Arduino raccordé. Cela permet de faire tourner la carte tout de suite, sans aucune compétence. On peut ensuite apprendre de façon très progressive en partant des exemples donnés et en les modifiant un peu à la fois comme ça nous chante.
Il n'y aucun risque, si on se trompe dans la syntaxe la compilation (génération du fichier binaire à partir de ce qu'on a écrit) ne se fera pas, on sera invité à corriger....
Et sauf à mettre en CC une PIN 5 V avec la masse, mais c'est une grosse inattention, aucun dommage n'est à craindre pour la carte du fait d'erreurs de programme.
Arduino n'est pas qu'une carte à micro-contrôleur. C'est un monde à découvrir. On peut le faire à sa propre vitesse. Pour moi qui suis un ancien, avec ce que cela signifie comme "tournure d'esprit peu adaptée à la logique informatique" j'ai accepté d'y consacrer du temps. S'il est vrai qu'en 1 heure on peut faire clignoter une led, même avec la fréquence qu'on souhaite, il en faut beaucoup plus pour se lancer dans des applications originales. Rien n'est difficile, mais il y a quand même beaucoup à découvrir...et à connaitre. C'est certain qu'une personne qui a appris le langage C à l'école, même un peu oublié, ira beaucoup plus vite !
Pour faire ses premiers pas, coût d'une carte "non clonée" (c'est souvent plus rassurant....) est de 20 à 25€. Il en existe une dizaine (peut-être plus) de type différents, la UNO est souvent considérée comme le "cheval de bataille" c'est ce que j'ai. Etant la plus répandue, c'est pour celle-là qu'il y a le plus de documentations sur le net, même si, comme dit plus haut, les programmes sont (à peu de modif près) portables de l'un à l'autre.
Il suffit de taper sur Goog le mot magique et on trouve plus d'adresses qu'il n'en faut.....