Comprendre la carte Arduino
Avant de commencer un projet avec Arduino, il convient quand même de faire un tour rapide de ce qu'est cette carte. En effet, même si le plus rapide pour apprendre quelque chose c'est de plonger dans le concret, avoir quelques bases permet tout de même d'éviter des erreurs et de gagner du temps !
Pour ça je vais me baser sur le site officiel : https://www.arduino.cc/en/Guide/Introduction. Bon, le site est en anglais.
Il ne s'agira ici que d'un résumé.
Arduino c'est quoi ?
Pour ça je vais me baser sur le site officiel : https://www.arduino.cc/en/Guide/Introduction. Bon, le site est en anglais.
Arduino est une carte électronique open-source programmable.
Elle est capable de capter des signaux (lumière sur un capteur, doigt sur un bouton... et de piloter un moteur, des LED, etc... Tout cela grâce aux instructions que nous aurons programmées.
Bref, cette carte sert d'interface pour des signaux d'entrée et de sortie.
Le langage de programmation Arduino est basé sur "Wiring", proche du C++ ou Java.
Une carte comme la "UNO" coûte moins de 10€ ce qui la rend très accessible.
Comment programmer la carte ?
Voici un résumé du guide Arduino : https://www.arduino.cc/en/Guide/HomePage.
Pour programmer la carte deux méthodes existent : soit avec un IDE à installer, soit avec la plateforme en ligne : https://create.arduino.cc/editor.
Fonction des différentes broches "Pins" de la carte Arduino UNO
![](public/img/98/arduino-schema.jpg)
![](public/img/98/arduino-uno.jpg)
Sur la carte Arduino UNO on retrouve 2 rangées de broches se trouvant chacune sur un bord de la carte.
Pour leurs fonctions je me base sur cette page : https://www.locoduino.org/spip.php?article57.
- Les broches digitales servent d'entrées ou de sorties numériques : 0 ou 1
- Les broches analogiques servent d'entrées analogiques ou d'entrée/sorties numériques
- La fonction analogRead() converti l'entrée analogique en une valeur numérique encodées sur 10 bits allant donc de 0 à 1023 correspondant respectivement à 0V et 5V, ce qui fait une résolution d'environ 5mV.
- Il est possible de gagner en résolution pour des tensions faible en changeant la référence.
- Les broches supportant le power management PWM, permettent de piloter la vitesse d'un moteur ou la luminosité d'une LED grâce à la fonction analogWrite() allant de 0 pour 0V à 255 pour 5V
- Les broches RX et TX permettent la communication avec l'ordinateur.
- Le bus I2C (non noté sur la carte mais correspondant aux deux dernières broches de la ligne DIGITAL) sert à communiquer avec d'autres circuits.
- Le bus SPI (non noté sur la carte mais correspondant aux 4 broches DIGITAL 10 à 13) sert également de communication
- IOREF sert d'indicateur de tension de référence aux shields.
- RESET permet de réinitialiser l'Arduino, c'est à dire redémarrer le programme au début. Pour cela passer à 0V puis repasser à 5V.
- 3.3V : une sortie 3.3V
- 5V : une sortie 5V
- GND : la masse, 0V
- Vin : Possibilité d'alimenter l'arduino via cette broche avec une tension entre 7V et 12V
Informations complémentaires
Voici quelques informations très utiles mais que l'on a pas toujours en tête.
Informations récupérées notamment ici : http://idehack.com/blog/tutoriel-arduino-lalimentation/.
- digitalRead() qui lit la tension appliquée sur une broche donnée va retourner 0 si la tension est inférieure à 1,5V et 1 si la tension est supérieure à 3V. Entre les deux le résultat est aléatoire...
- DigitalWrite() permet de sortir une tension de 0V ou 5V sur une broche. Attention en cas de fort courant consommé par la broche, la tension peut être plus basse que 5V
- Ne pas dépasser 20mA sur une broche de sortie et ne surtout pas dépasser 40mA.
- Ne pas dépasser 200mA au total.
- Il est possible d'alimenter l'arduino via le port USB 5V 1A convient.
Consommation des cartes
Les cartes Arduino sont très diverses notamment en termes de dimension et de consommation électrique.
Quand on souhaite une application autonome et qui plus est de gestion de l'électricité, la question de la consommation est essentielle.
Voici quelques sites intéressants pour le sujet de la consommation des cartes Arduino, justement :