Born to be wired
601742 visites
Uptime 7 days

Archive pour décembre 2010

 Testons hardiment et ardemment le hardware de l’Arduino

 1 décembre 2010  Bricolage  Aucun commentaire
hello_arduino

Une fois n’est pas coutume, et sans vouloir céder à la tendance des déballages de produits qu’on rencontre de plus en plus sur la partie fadasse de la blogosphère 2.0, je vais exceptionnellement publier quelques photos d’un déballage maison et d’un petit test de matériel. Car j’ai eu la chance de me faire prêter, comme l’indique le titre, un Arduino ! Et même plusieurs !

Un grand merci à Romain pour m’avoir spontanément proposé de tester ce merveilleux matériel.

Mais je vois déjà mes (trois) lecteurs déconcertés, à la limite du décrochage, qui se posent des questions. Et je lis sur leurs lèvres : C’est quoi, un Arduino ?

Un condensé de technologie si flexible dans une si petite surface !

Un condensé de technologie si flexible dans une si petite surface !

Un Arduino, c’est un peu le rêve des bidouilleurs en herbe. C’est une plate-forme électronique open-source pouvant être programmée et interfacée avec de nombreux autres systèmes, par de nombreuses possibilités de communication. C’est encore trop vague ? Alors disons que c’est une carte qui permet à des bidouilleurs de faire communiquer très facilement des systèmes informatiques divers et/ou/avec des systèmes électroniques divers. Comme avec le Meccano, les possibilités sont infinies.

Une partie du matériel gentiment prété par Romain

Une partie du matériel gentiment prété par Romain

Il y a quelques mois en arrière, dans la même optique de bidouillage, mais dans un registre un peu différent, j’avais acheté un PIC et un peu de matos pour le programmer. L’ennui, c’est que même si un PIC est hyper flexible dans sa programmation, il n’en reste pas moins dénué de périphériques, et il faut donc avoir des connaissances un peu plus que basiques en électronique pour piloter des appareils externes. Je comptais d’ailleurs me limiter au pilotage de circuits TTL et de quelques LED avec cette puce.

Mais l’Arduino change tout. Disposant de bibliothèques pour la programmation, flashable par USB, connectable à différents modules dédiés et a des prix raisonnables, et enfin open source, le dispositif est très séduisant. Ça tombe bien, je me disais que ça serait le périphérique parfait pour gérer une installation domotique. Par exemple, on pourrait imaginer de lui greffer un détecteurs de gaz, des relais électriques, ou des détecteurs de portes ouvertes, ou même plusieurs de ces composants en même temps.

En bonus dans la boite, quelques relais, un buzzer, et un servo

En bonus dans la boite, quelques relais, un buzzer, et un servo

On pourrait imaginer plusieurs Arduino communiquant dans la maison ou l’appartement en mode maître/esclave via des liaisons RF.

Y'a qu'à demander, des modules radio en veux-tu en voila !

Y'a qu'à demander, des modules radio en veux-tu en voila !

On pourrait imaginer le maître relié au réseau local grâce à un module Ethernet, pilotable ou interrogeable via ce biais. Et on pourrait même envisager un affichage des information sur un écran à cristaux liquides, TFT, ou même un touch screen ! Il y a vraiment de quoi s’amuser.

Le shield Ethernet connecté sur l'Arduino

Le shield Ethernet connecté sur l'Arduino

À titre d’exemple, Romain voulait se servir de l’Arduino pour piloter ses radiateurs électriques, de manière automatique en fonction de l’heure, ou à la demande. Il est parti sur un petit bout de code que j’ai un peu étayé durant la période de prêt, afin d’obtenir un draft d’interface de pilotage via un navigateur web.

Le matériel de base pour mon expérience

Le matériel de base pour mon expérience

Pour mes essais, je suis parti avec le minimum de matériel : 1 Arduino, 1 shield Ethernet, une batterie, un câble USB. Et pour le confort : un switch, des câbles RJ-45, un PC pas trop à la ramasse et mes petits doigts pour coder. :)

On mélange les ingrédients, on ajoute une pincée de code, on enfourne 30 secondes et on laisse reposer à feu doux

On mélange les ingrédients, on ajoute une pincée de code, on enfourne 30 secondes et on laisse reposer à feu doux

Grâce au module Ethernet et aux bibliothèques qui gèrent son fonctionnement, je suis arrivé à obtenir en quelques lignes de code un petit serveur web personnalisé sur une carte électronique autonome de 10cm de long !

En quelques lignes de code, une page web commandant les périphériques !

En quelques lignes de code, une page web commandant les périphériques !

OK, les inconditionnels de l’embarqué et du temps réel me hurleraient dessus en voyant le code, tellement j’ai développé ça comme un porc en codant avec les pieds et dans la hâte. Mais le draft fonctionne et démontre les possibilités étonnantes qu’on peut obtenir de ce hardware en quelques minutes.

Dans mon cas, les radiateurs ne sont bien sûr pas branchés. Ça ne servirait à rien, de toutes façons. Je fonctionne au chauffage central.

Une petite réflexion pour finir, sur les optimisations possible d’un tel système : Compte tenu de la mémoire limitée dans ce type de matériel embarqué, on pourrait imaginer que l’Arduino renvoie simplement une page XML, donc non verbeuse et réduite au minimum, qui serait formatée via une XSL externe, et qui proposerait tout l’habillage CSS et Ajax pour se la péter quand on montre à ses potes comment on fait du remote-heating-control depuis le boulot. :)

C’est décidé, je mets l’Arduino sur ma liste de courses.