Arduino : getting started
Présentation
Qu'est ce qu'un microcontrôleur ?
Avant de pouvoir rentrer dans le détail de la technologie Arduino et de son fonctionnement, il est important de comprendre ce qu'est un microcontrôleur et en quoi ceci est important pour prendre en main la plateforme. Un microcontrôleur est en fait un système à microprocesseur mais qui rassemble dans un seul circuit intégré :
- un processeur
- de la mémoire morte
- de la mémoire vive
- des interfaces d'entrées/sorties
- Bus d'adresse : permettant l'accès aux différentes cases mémoires.
- Bus de contrôle : permettant de se positionner en lecture ou en écriture sur ces différentes cases mémoires.
- Bus de données : pour le transit des données de la mémoire vers le processeur et vice-versa.
C'est un composant complétement autonome qui, dès qu'il est alimenté va exécuter le programme présent dans sa mémoire morte. Ci-dessous un schéma permettant de répresenter un système à microprocesseur et donc ce qui est présent dans ce circuit intégré.

Les microcontrôleurs sont utilisés pour plusieurs raisons, la première étant leurs faible consommation éléctrique. En effet, par rapport à un processeur présent dans un ordinateur grand public, fonctionnant à une vitesse entre 2 et 3Ghz, les fréquences ne vont ici jamais depasser le gigahertz. Certain arduino ont par exemple une fréquence de 16 Mhz, ce qui peut paraitre lent mais est amplement suffisant pour les applications que l'on va vouloir faire.
Egalement, ces systèmes intégrés sont concus pour fonctionner la plupart du temps sans interface homme machine. On les retrouve donc dans les systèmes embarqués, souvent sans écran, pour des applications telle que :
- Les contrôleurs automobiles
- La Robotique
- La téléphonie mobile
- Le modélisme
Arduino : c'est quoi ?
Arduino peut être simplement vu comme un microcontrôleur ainsi que des entrées et sorties, il est livré avec un environnement de développement. Le produit prend donc la forme d'un circuit imprimé sur lequel un microcontrôleur a été intégré et auquel a été ajouté tout un environnement et écosystème permettant de développer simplement et facilement des applications. On va principalement utiliser Arduino pour développer des objets intéractifs, des objets connectés ayant une couche de communication (NFS, Wifi par exemple).

Arduino : pourquoi ?
La principale cause d'existence d'arduino vient du fait que son apparition a en quelque sorte révolutionné le travail que l'on fait avec les microcontroleur, celui-ci pouvant vite devenir assez fastidieux. Originellement, Arduino a été concu pour des étudiants, des amateurs ainsi que des enseignants pour introduire la programmation orienté système mais d'une manière assez ludique.
Le prix est un des principaux attrait d'Arduino, le plus petite version étant au prix de 18 €, on ajoute quelques euros de composants électroniques et on a une plateforme pour pouvoir commencer. Egalement, les plans ainsi que les PCB sont disponibles, il est alors tout à fait possible d'acheter les composants et de l'assembler soit même. Arduino est donc open source, tant sur les librairies disponibles que sur les plans de leurs produit. En revanche, le microcontrôleur est la seule exception, lui est propriétaire.
On imagine alors qu'il est très facile de pouvoir étendre les possibilités de la plateforme, tant sur le plan matériel que logiciel. Une grande communauté s'est établie et il est très facile de trouver des exemples et applications sur le web :
- Robotique : quadricopter, robots ménagers, tondeuses...
- Domotique : capteurs de présences, lampe intelligente, contrôle de température
- Instruments de musique, tourelle de défense, imprimante 3D
- Les possibilités sont infinies...