arduino

Ceci est une ancienne révision du document !


L'arduino est un système de prototypage électronique open source basé sur plusieurs micro contrôleur. Ce sont des cartes électronique, à l'origine développées par Arduino (le projet étant open source, l'on trouve aujourd'hui pas mal de clone compatible fabriqué par des concurrent), qui se programme directement dans un langage proche du C.

Le sketch (le code) ainsi programmer se charge directement en usb dans la carte qui se comporte après comme une carte autonome ou contrôlable avec divers protocoles. Suivant la carte un certain nombre d'entrée analogique ou numérique et de sortie PWM (gradué) ou numérique (0 ou 1) est configurable.

Pour de plus ample informations sur le système, je vous renvoie vers: https://www.arduino.cc/ site du constructeur.

https://www.arduino.cc/en/Guide/HomePage guide en anglais.

http://playground.arduino.cc/ Le playground: énorme référence d’interfaçage électronique entre l'arduino et divers composant. Presque pour chaque cas d'utilisation vous trouverez votre bonheur.

https://www.arduino.cc/en/Reference/HomePage référence du langage.

http://eskimon.fr/58-arduino-1-decouverte-de-larduino un chouette tutoriel pour prendre l'arduino de zéro.

Et naturellement l’excellent wiki de WhiteCat avec qui j'ai fait mes premiers pas avec l'arduino. http://www.le-chat-noir-numerique.fr/whitecat/dokuwiki/doku.php?id=configuration_arduino&DokuWiki=ee016dcf9e0c5cba16ea4be6b3c1b7e8

Chaque carte Arduino à un nombre définit d'entrées/sorties. Ce sont les pins sur lesquelles vous pourrez brancher votre circuit. La duemilanove ou la Uno ont part exemple 13 entrées/sorties numériques et 6 entrées analogiques.

Les entrées

Dans Héphaistos, les entrées peuvent être de trois type.

  1. Analogique: permet de lire un potentiomètre ou un capteur. Elle renvoie une valeur entre 0 et 1023.
  2. Numérique: permet de lire l'état d'un bouton ou tout circuit ouvert/fermé. Elle renvoie soit 0, soit 1.
  3. Pull-up: En général pour brancher une entrée numérique l'on a besoin d'un circuit dit pull-up ou pull-down. C'est en fait une résistance branche au +5v de l’alimentation ou à la masse pour éviter que le contact avec l'entrée ne provoque un court circuit franc, une intensité illimité et de brule la carte.

Heureusement pour nous, la plupart des microprocesseur comme l'ATMEGA328 sur lequel est basé la UNO possède un pull-up intégrer. Mettre une entrée en mode pull-up nous permet de faire le montage suivant, qui est nétement plus pratique et évite une résistance, pour brancher par exemple un bouton poussoir.

Les sorties

Les sorties peuvent avoir 2 mode:

  1. Les sorties numériques : met la valeur de la sortie à 0v ou +5v
  2. Les sorties PWM (pulse width modulation): c'est les sortie gradué entre 0 et 255. Par défaut sur un microcontroleur les sortie ne gradue pas entre 0 et 5V, il s'agit en fait de PWM.

C'est à dire que la sortie va passer de l'état 5V à 0V de manière continue et pendant plus ou moins longtemps (très mal expliqué mais aller voir https://fr.wikipedia.org/wiki/Modulation_de_largeur_d%27impulsion si vous voulez plus de détail). C'est finalement le principe de tout gradateur.

Attention néanmoins par défaut sur les cartes arduino, seul certaines pattes ont la capacité de générer un signal PWM. La librairie softPWM https://code.google.com/p/rogue-code/wiki/SoftPWMLibraryDocumentation permet d’émuler le signal sur toute les sorties de l'arduino.

Comme dans la plupart des langages informatiques l'on peut charger des librairies dans le code arduino. Une librairie est en fait tout une partie de code, créer par un autre développer, que l'on peut inclure directement en une ligne pour éviter d'avoir à tout réécrire. Une fois la librairie inclue, l'on pourras directement appeler les fonctions de celle-ci, qui appellerons les bouts de code créer par un autre développer.

L'on trouve des librairies pour la plupart des fonctions, allant de la communication en dmx, controle des moteurs, hack de l'arduino pour émuler des sorties pwm sur tout les pins de l'arduino etc.. Vous en trouverez beaucoup dans le lien du playground ci -dessus.

installer la librairie HephaistosArduinoLib

Après plusieurs approche dans le suivit du développement de whitecat (du sketch par défault à réécrire, allant d'un module sans ligne de code permettant de configurer et contrôler l'arduino directement depuis whitecat), pour permettre à l'utilisateur final de prototyper des appareil qui communique avec le logiciel, j'ai finalement choisis l'approche de développer directement une librairie afin de gérer la reconnaissance et la communication en port serie (usb) entre Héphaïstos et l'arduino. Vous la trouverez dans le dossier /ressources du repertoire d'Héphaïstos.

Pour installer la libraire dezipper simplement le dossier dans le répertoire /libraries de votre IDE (programme) arduino ou directement depuis l'IDE dans l'onglet croquis/importer bibliothèque/ajouter bibliothèque.

Au prochain démarrage du logiciel arduino vous devrez trouver dans l'onglet fichier/Exemples la librairie HephaistosArduinoLib et vous pourrez ouvrir l'exemple pwmsimple.

  • arduino.1438562914.txt.gz
  • Dernière modification : il y a 7 ans
  • (modification externe)