Les projets de « Do it Yourself » (DIY) composés de matériels et de logiciels sont de plus en plus po­pu­laires. Les bri­co­leurs amateurs du monde entier essayent de trouver des outils utiles au quotidien comme des té­lé­com­mandes pour une porte de garage ou des appareils de mesure de tem­pé­ra­ture, ainsi que des projets plus ludiques comme des drones, des robots et même des consoles de jeux. Au cœur du processus de création se trouvent des com­po­sants matériels spé­ci­fiques de four­nis­seurs dif­fé­rents qui ont été conçus pré­ci­sé­ment pour ces objectifs. Outre leur forme compacte, ils se ca­rac­té­ri­sent gé­né­ra­le­ment par des prix par­ti­cu­liè­re­ment abor­dables.

Parmi les mini-com­po­sants tech­niques les plus connus figurent sans aucun doute le micro-or­di­na­teur bri­tan­nique Raspberry Pi et le mi­cro­con­trô­leur italien Arduino. Les deux sont souvent con­si­dé­rés comme des solutions con­cur­rentes, bien qu’en principe ils sup­por­tent des chantiers com­plè­te­ment dif­fé­rents.

Raspberry Pi ou Arduino : supports de DIY avec des approches dif­fé­rentes

Lorsque la première version du Raspberry Pi est sortie début 2012, la première carte Arduino était sur le marché depuis déjà sept années. Ce n’est pas un hasard si la pla­te­forme italienne de physical computing, du nom d’un bar du Piémont (que certains des fon­da­teurs du projet uti­li­saient comme lieu de rencontre régulier), est con­si­dé­rée comme un standard dans le milieu du bricolage in­for­ma­tique et de la domotique. Le setup typique d’Arduino consiste en un mélange de logiciels libres et de com­po­sants matériels qui per­met­tent à l’uti­li­sa­teur d’utiliser des objets in­dé­pen­dants et in­te­rac­tifs et d’interagir ainsi fa­ci­le­ment avec les ap­pli­ca­tions in­for­ma­tiques. Une carte d’E/S (entrée/sortie) avec mi­cro­con­trô­leur Atmel (prin­ci­pa­le­ment de la série Atmel AVR comme ATmega328) fait tout autant partie du matériel typique d’un en­vi­ron­ne­ment de dé­ve­lop­pe­ment intégré. Il est écrit en Java et est livré avec son propre éditeur de code et diverses bi­blio­thèques pour sim­pli­fier la pro­gram­ma­tion en C et C++.

  Arduino Raspberry Pi
Date de pu­bli­ca­tion 2005 2012
Site Internet officiel arduino.cc rasp­ber­rypi.org
Type Mi­cro­con­trô­leur Or­di­na­teur monocarte
Ar­chi­tec­ture AVR, ARM ARM
Source d‘ali­men­ta­tion USB, source d’ali­men­ta­tion externe USB, source d’ali­men­ta­tion externe
Connexion USB Oui Oui
Connexion HDMI Non Oui
Logiciel En­vi­ron­ne­ment de dé­ve­lop­pe­ment intégré basé sur Java Optionnel (systèmes d’ex­ploi­ta­tion spé­ci­fiques comme Raspbian)

Raspberry Pi ne doit pas son nom à un bar, mais il se prononce comme l’ex­pres­sion anglaise qui signifie tarte aux fram­boises (« raspberry pie ») ; les goûts cu­li­naires ont donc cer­tai­ne­ment joués un rôle ! La framboise, qui orne gé­né­ra­le­ment le logo officiel, s'ins­cri­vait dans la lignée de l’ancienne tradition qui consiste à nommer les fa­bri­cants d’or­di­na­teurs avec des noms de fruits tels que Tangerine Computer Systems, Apricot Computers ou Apple. Le Pi, qui signifie « Python in­ter­pre­ter », est le résultat du plan initial de livrer Raspberry avec un in­ter­pré­teur intégré pour le langage de pro­gram­ma­tion Python.

Con­trai­re­ment à l’Arduino, les modèles Raspberry Pi ont non seulement un pro­ces­seur beaucoup plus per­for­mant, mais aussi leurs propres options de sortie RAM et vidéo. Le micro-or­di­na­teur bri­tan­nique peut donc fonc­tion­ner in­dé­pen­dam­ment et exécuter des ap­pli­ca­tions pour les­quelles seul un système d’ex­ploi­ta­tion Raspberry Pi doit être installé.

Com­pa­rai­son entre Arduino et Raspberry Pi

La plus grande dif­fé­rence entre Arduino et Raspberry Pi : alors que le premier est un mi­cro­con­trô­leur qui ne peut exécuter que du code C compilé, le dernier fonc­tionne aussi comme système autonome. Néanmoins, le Raspberry Pi n’est pas forcément le meilleur choix pour tout type de projet de DYI, comme le montrent les avantages et les in­con­vé­nients, les ap­pli­ca­tions possibles et les com­mu­nau­tés.

Les avantages et les in­con­vé­nients d’Arduino

Les cartes Arduino se ca­rac­té­ri­sent notamment par deux ca­rac­té­ris­tiques : d’une part, elles offrent des per­for­mances de pro­ces­seur intégrées et prêtes à l’emploi, y compris des pé­ri­phé­riques (entrées/sorties et in­ter­faces) et sont donc in­té­res­santes pour les uti­li­sa­teurs qui possèdent peu de con­nais­sances en élec­tro­nique. D’autre part, les mini-pla­te­formes ita­liennes gagnent de nombreux points dans le match Arduino vs Raspberry Pi : l’en­vi­ron­ne­ment de dé­ve­lop­pe­ment, adapté au matériel, fournit une interface de pro­gram­ma­tion avec dif­fé­rentes bi­blio­thèques prêtes à l’emploi et facilite con­si­dé­ra­ble­ment la pro­gram­ma­tion. De plus, l’EDI (écrit en Java) est in­dé­pen­dant de la pla­te­forme et donc dis­po­nible avec la même apparence sous Windows, Linux et MacOS. Il n’est donc pas sur­pre­nant que les com­po­sants Arduino soient très po­pu­laires en tant que com­po­sants pour des exercices et ex­pé­riences dans les écoles, les uni­ver­si­tés et autres ins­ti­tu­tions édu­ca­tives.

Note

Pa­ral­lè­le­ment au code C simplifié, les uti­li­sa­teurs d’Arduino peuvent également écrire du code classique ou utiliser un en­vi­ron­ne­ment de dé­ve­lop­pe­ment al­ter­na­tif à tout moment, les cartes offrent ainsi aux pro­fes­sion­nels une al­ter­na­tive éco­no­mique et rapide.

La sim­pli­cité des cartes Arduino n’est pas ex­clu­si­ve­ment associée à des avantages : l’en­vi­ron­ne­ment de dé­ve­lop­pe­ment intégré est un excellent support pour contrôler le matériel, mais les nouveaux pro­gram­meurs n’ap­pren­nent de cette façon pra­ti­que­ment rien de l’écriture de code classique. D’une manière générale, les bi­blio­thèques prêtes à l’emploi risquent d’éliminer com­plè­te­ment le besoin de pro­gram­ma­tion et donc de limiter inu­ti­le­ment le rayon d’action possible.

Un autre in­con­vé­nient d’Arduino apparaît lorsque la version standard des cartes mi­cro­con­trô­leurs peut ou doit être complétée par des in­ter­faces et des fonctions d’entrée/sortie sup­plé­men­taires. Bien que le matériel stan­dar­disé permette une mise à niveau simple via des Shields, l’achat de ces modules com­plé­men­taires pour Ethernet, LED etc. fait alors augmenter ra­pi­de­ment les coûts du projet.

Avantages In­con­vé­nients
Con­fi­gu­ra­tion ma­té­rielle/lo­gi­cielle di­rec­te­ment prête à l’emploi Facteur d’ap­pren­tis­sage faible en termes d’élec­tro­nique et de pro­gram­ma­tion (lors de l’uti­li­sa­tion de l’IDE)
Propre en­vi­ron­ne­ment de dé­ve­lop­pe­ment avec dif­fé­rentes bi­blio­thèques (mul­ti­pla­te­forme) La mise à niveau avec des Shields peut s’avérer coûteuse

Forces et fai­blesses du Raspberry Pi

Le Raspberry Pi se distingue aussi par le fait qu’il fournit une con­fi­gu­ra­tion ma­té­rielle prête à l'emploi qui décharge l’uti­li­sa­teur de la tâche complexe de compiler la base technique des projets de DIY. Comparé aux cartes Arduino, le Raspberry Pi a tous les com­po­sants à bord pour permettre au micro-or­di­na­teur de fonc­tion­ner in­dé­pen­dam­ment. De plus, la plupart des modèles sont com­pa­tibles réseau par défaut (Ethernet, WLAN ou les deux), seuls les modèles A et A++ du Pi 1 et le Pi Zero mi­ni­ma­liste manquent de ports cor­res­pon­dants. Grâce à ces ca­rac­té­ris­tiques, Raspberry Pi peut être utilisé non seulement di­rec­te­ment comme pla­te­forme de pro­gram­ma­tion, mais aussi pour exécuter des ap­pli­ca­tions telles que les Cloud privés, serveurs Web ou serveurs VPN.

L’objectif principal de la Raspberry Pi Foun­da­tion, qui est à l’origine du dé­ve­lop­pe­ment du micro-or­di­na­teur, était dès le début de faciliter l’accès au matériel et à la pro­gram­ma­tion pour les uti­li­sa­teurs ayant peu de con­nais­sances. Et bien que ce souhait se reflète largement dans le projet, ce dernier peut devenir un véritable test de patience. En effet, vous devez non seulement sé­lec­tion­ner et té­lé­char­ger le système d’ex­ploi­ta­tion, mais vous devez aussi le charger sur une carte mémoire SD ap­pro­priée. Même l’ins­tal­la­tion et la con­fi­gu­ra­tion ul­té­rieures du logiciel du système ne sont pas aussi évidentes pour les débutants qu’on pourrait le supposer dans l’entrepôt de Raspberry.

Note

Dif­fé­rents four­nis­seurs proposent des cartes SD (payantes) sur les­quelles un système d’ex­ploi­ta­tion exé­cu­table Raspberry Pi (gé­né­ra­le­ment Raspbian) est déjà installé.

Autre in­con­vé­nient : le prix de base n’est certes que de 5 à 40 euros selon le modèle et le four­nis­seur pour l’uti­li­sa­tion de Raspbery, cependant, toutes sortes d’ac­ces­soires sup­plé­men­taires tels que des câbles élec­triques et HDMI etc. sont né­ces­saires et aug­men­tent le coût.

Avantages In­con­vé­nients
Com­pa­tible HDMI et réseau par défaut (à l’exception toutefois de certains modèles). Le logiciel ne fait pas partie du progiciel et doit donc être té­lé­chargé et installé par l’uti­li­sa­teur lui-même.
Convient aussi bien pour des tâches simples que pour des tâches complexes. Pour un fonc­tion­ne­ment in­dé­pen­dant, un grand nombre de pièces sup­plé­men­taires payantes sont né­ces­saires.

Analyse de la com­mu­nauté : Arduino vs. Raspberry Pi

Les amateurs qui dé­ve­lop­pent et pla­ni­fient des projets avec du matériel comme Raspberry Pi ou Arduino sont heureux de partager leurs résultats avec d’autres bri­co­leurs et amateurs. Les portails vidéo comme YouTube ou Vimeo ainsi que le site com­mu­nau­taire de partage de projets hackster.io pré­sen­tent des milliers de tutoriels et d’ins­truc­tions d’uti­li­sa­teurs pour d’autres uti­li­sa­teurs. Arduino et Raspberry Pi y tiennent une bonne place. En effet, les deux com­po­sants, d’un côté le mi­cro­con­trô­leur et de l’autre le micro-or­di­na­teur ras­semblent une large com­mu­nauté. Vous trouverez ainsi non seulement des in­for­ma­tions sur les travaux déjà réalisés, mais aussi de l’aide con­cer­nant vos propres projets.

Note

Les shields Arduino men­tion­nés plus haut pour étendre la base technique des cartes élec­tro­niques ont été largement dé­ve­lop­pés par des membres de la com­mu­nauté Arduino.

Voici quelques-uns des sites Internet les plus im­por­tants sur les projets Arduino :

  • Reddit : Reddit dispose d’un canal Arduino étendu où les uti­li­sa­teurs peuvent partager leurs idées de projet, poster des images ou des vidéos des résultats et poser des questions sur les mi­cro­con­trô­leurs.
  • Forum officiel d’Arduino : environ 500 000 membres inscrits discutent dans plusieurs rubriques des dif­fé­rents modèles Arduino, des pos­si­bi­li­tés d’uti­li­sa­tion, des questions tech­niques.
  • Arduino Play­ground : Arduino Play­ground est un Wiki complet dans lequel chaque uti­li­sa­teur intéressé peut publier ses propres extraits de code, tutoriels, astuces et dé­cou­vertes et présenter des projets ou tout sim­ple­ment se ren­seig­ner.

Si vous voulez échanger des idées avec d’autres fans de Raspberry Pi, ces pages en par­ti­cu­lier offrent une base parfaite :

  • Rasp­ber­rypi.org : la page d’accueil of­fi­cielle du projet Raspberry Pi n’est pas seulement le premier port d’escale pour tous ceux qui veulent obtenir une copie du micro-or­di­na­teur. Sous la rubrique « HELP », vous trouverez dif­fé­rents guides (par exemple sur les logiciels et le matériel) ainsi qu’une do­cu­men­ta­tion en ligne détaillée. En outre, plus de 200 000 membres sont inscrits sur le forum du site Web et discutent d’une grande variété de sujets liés à Raspberry.
  • RPi Hub : le RPi Hub sur eLinux.org fournit une énorme quantité d’in­for­ma­tions pour les débutants mais aussi pour les uti­li­sa­teurs ex­pé­ri­men­tés, qu’il s’agisse de guides pour l’achat, la con­fi­gu­ra­tion et le démarrage ou bien de conseils et des astuces pour les logiciels et le matériel. Enfin, des re­com­man­da­tions de lecture et des liens vers des pages com­mu­nau­taires im­por­tantes com­plè­tent le paquet.
  • element14 : element14 est l’un des sites com­mu­nau­taires les plus réussis pour les projets élec­tro­niques de toutes sortes. Sur la rubrique consacrée à Raspberry Pi, les membres discutent de sujets d’actualité et donnent leur avis sur du matériel et des logiciels sup­plé­men­taires. Le nombre de réponses et de « Reviews » indique aux nouveaux membres, dès leur première visite, les sujets qui valent la peine d’être consultés. Le blog interne publie également ré­gu­liè­re­ment des articles sur Raspberry.

Scénarios d’ins­tal­la­tion : com­pa­rai­son entre Arduino et Raspberry Pi

Le plus grand point commun entre Arduino et Raspberry Pi est le fait qu’ils sont im­mé­dia­te­ment prêts à l'emploi, sans qu'il soit né­ces­saire d’installer et de mesurer des circuits élec­tro­niques ou d’assembler ou souder des circuits imprimés. C’est la prin­ci­pale raison pour laquelle Raspberry Pi et Arduino sont si po­pu­laires pour les projets de DIY dans les écoles, les uni­ver­si­tés et dans le secteur privé : ils offrent aux débutants inex­pé­ri­men­tés la pos­si­bi­lité d’obtenir ra­pi­de­ment de premiers résultats, et aux uti­li­sa­teurs avancés un cadre matériel prêt à l'emploi pratique.

Le fait que les deux com­po­sants soient utilisés de manière dif­fé­rente est dû aux dif­fé­rences majeures entre Raspberry Pi et Arduino : en tant que mi­cro­con­trô­leurs, les cartes Arduino sont capables d’exécuter sans délai une ap­pli­ca­tion en­re­gis­trée telle que définie pré­cé­dem­ment. Elles sont livrées avec leur propre en­vi­ron­ne­ment de dé­ve­lop­pe­ment, qui dispose de diverses bi­blio­thèques prêtes à l’emploi et permet ainsi d'éco­no­mi­ser beaucoup de travail de pro­gram­ma­tion. Le Raspberry Pi est un mini-or­di­na­teur avec son propre système d’ex­ploi­ta­tion qui peut effectuer des tâches beaucoup plus complexes, comme exécuter plusieurs ap­pli­ca­tions en parallèle ou con­sé­cu­ti­ve­ment. De plus, il est livré en standard avec une variété d’in­ter­faces et de ports (HDMI, WiFi, LAN), alors que les cartes Arduino doivent d’abord être com­plé­tées avec des shields.

En termes simples, on peut donc dire qu’Arduino est par­ti­cu­liè­re­ment adapté aux projets dans lesquels une tâche simple doit être exécutée à plusieurs reprises. Le mi­cro­con­trô­leur constitue la base idéale, par exemple, pour mesurer la tem­pé­ra­ture ex­té­rieure et l’afficher sur n'importe quel écran. Cependant, si vous voulez non seulement mesurer la tem­pé­ra­ture ex­té­rieure, mais aussi vérifier les pré­vi­sions mé­téo­ro­lo­giques et démarrer le système d’arrosage du jardin en fonction de critères préa­la­ble­ment définis (par exemple, tem­pé­ra­ture élevée et faible pro­ba­bi­lité de pluie), un Raspberry Pi est le meilleur choix.

Raspberry Pi ou Arduino ? Le match n’est pas né­ces­saire

Les circuits Arduino et les or­di­na­teurs Raspberry Pi ont donc leurs forces et leurs fai­blesses. Pour les petits projets, il est donc conseillé de commencer par examiner les com­po­santes né­ces­saires à la mise en œuvre, puis de choisir l’une des deux com­po­santes de base. Si le budget le permet et que le projet envisagé est plus qu’une simple connexion à distance, il n’est pas absurde de s’appuyer sur une com­bi­nai­son de modèles Arduino et Raspberry.

Par exemple, il est con­ce­vable qu’Arduino ne soit utilisé que pour exécuter une ap­pli­ca­tion qu’après qu’un Raspberry Pi ait effectué des calculs. D’autre part, il est également possible que la tâche du mi­cro­con­trô­leur Arduino soit de démarrer un processus complexe sur un Raspberry Pi. Le projet « Piano Stairs », avec lequel Bonnie Eisenman, Erica Portnoy et Vincent Castaneda ont remporté la deuxième place au Hack­Princ­ton 2013 (catégorie Hardware), en est un bon exemple : les marches in­te­rac­tives jouent des notes de piano au fur et à mesure que vous entrez, en utilisant un Arduino pour trans­mettre les valeurs en­re­gis­trées à un Raspberry Pi. Il s’occupe à son tour du trai­te­ment des valeurs et de la sortie des sons cor­res­pon­dants.

Le mode d’emploi détaillé du projet se trouve sur le site ins­truc­tables.com                    .

Aller au menu principal