Arduino vs. Raspberry Pi : comparaison entre le microcontrôleur et l’ordinateur monocarte
Les projets de « Do it Yourself » (DIY) composés de matériels et de logiciels sont de plus en plus populaires. Les bricoleurs amateurs du monde entier essayent de trouver des outils utiles au quotidien comme des télécommandes pour une porte de garage ou des appareils de mesure de température, 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 composants matériels spécifiques de fournisseurs différents qui ont été conçus précisément pour ces objectifs. Outre leur forme compacte, ils se caractérisent généralement par des prix particulièrement abordables.
Parmi les mini-composants techniques les plus connus figurent sans aucun doute le micro-ordinateur britannique Raspberry Pi et le microcontrôleur italien Arduino. Les deux sont souvent considérés comme des solutions concurrentes, bien qu’en principe ils supportent des chantiers complètement différents.
Raspberry Pi ou Arduino : supports de DIY avec des approches diffé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 plateforme italienne de physical computing, du nom d’un bar du Piémont (que certains des fondateurs du projet utilisaient comme lieu de rencontre régulier), est considérée comme un standard dans le milieu du bricolage informatique et de la domotique. Le setup typique d’Arduino consiste en un mélange de logiciels libres et de composants matériels qui permettent à l’utilisateur d’utiliser des objets indépendants et interactifs et d’interagir ainsi facilement avec les applications informatiques. Une carte d’E/S (entrée/sortie) avec microcontrôleur Atmel (principalement de la série Atmel AVR comme ATmega328) fait tout autant partie du matériel typique d’un environnement de développement intégré. Il est écrit en Java et est livré avec son propre éditeur de code et diverses bibliothèques pour simplifier la programmation en C et C++.
Arduino | Raspberry Pi | |
Date de publication | 2005 | 2012 |
Site Internet officiel | arduino.cc | raspberrypi.org |
Type | Microcontrôleur | Ordinateur monocarte |
Architecture | AVR, ARM | ARM |
Source d‘alimentation | USB, source d’alimentation externe | USB, source d’alimentation externe |
Connexion USB | Oui | Oui |
Connexion HDMI | Non | Oui |
Logiciel | Environnement de développement intégré basé sur Java | Optionnel (systèmes d’exploitation spécifiques comme Raspbian) |
Raspberry Pi ne doit pas son nom à un bar, mais il se prononce comme l’expression anglaise qui signifie tarte aux framboises (« raspberry pie ») ; les goûts culinaires ont donc certainement joués un rôle ! La framboise, qui orne généralement le logo officiel, s'inscrivait dans la lignée de l’ancienne tradition qui consiste à nommer les fabricants d’ordinateurs avec des noms de fruits tels que Tangerine Computer Systems, Apricot Computers ou Apple. Le Pi, qui signifie « Python interpreter », est le résultat du plan initial de livrer Raspberry avec un interpréteur intégré pour le langage de programmation Python.
Contrairement à l’Arduino, les modèles Raspberry Pi ont non seulement un processeur beaucoup plus performant, mais aussi leurs propres options de sortie RAM et vidéo. Le micro-ordinateur britannique peut donc fonctionner indépendamment et exécuter des applications pour lesquelles seul un système d’exploitation Raspberry Pi doit être installé.
Comparaison entre Arduino et Raspberry Pi
La plus grande différence entre Arduino et Raspberry Pi : alors que le premier est un microcontrôleur qui ne peut exécuter que du code C compilé, le dernier fonctionne 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 inconvénients, les applications possibles et les communautés.
Les avantages et les inconvénients d’Arduino
Les cartes Arduino se caractérisent notamment par deux caractéristiques : d’une part, elles offrent des performances de processeur intégrées et prêtes à l’emploi, y compris des périphériques (entrées/sorties et interfaces) et sont donc intéressantes pour les utilisateurs qui possèdent peu de connaissances en électronique. D’autre part, les mini-plateformes italiennes gagnent de nombreux points dans le match Arduino vs Raspberry Pi : l’environnement de développement, adapté au matériel, fournit une interface de programmation avec différentes bibliothèques prêtes à l’emploi et facilite considérablement la programmation. De plus, l’EDI (écrit en Java) est indépendant de la plateforme et donc disponible avec la même apparence sous Windows, Linux et MacOS. Il n’est donc pas surprenant que les composants Arduino soient très populaires en tant que composants pour des exercices et expériences dans les écoles, les universités et autres institutions éducatives.
Parallèlement au code C simplifié, les utilisateurs d’Arduino peuvent également écrire du code classique ou utiliser un environnement de développement alternatif à tout moment, les cartes offrent ainsi aux professionnels une alternative économique et rapide.
La simplicité des cartes Arduino n’est pas exclusivement associée à des avantages : l’environnement de développement intégré est un excellent support pour contrôler le matériel, mais les nouveaux programmeurs n’apprennent de cette façon pratiquement rien de l’écriture de code classique. D’une manière générale, les bibliothèques prêtes à l’emploi risquent d’éliminer complètement le besoin de programmation et donc de limiter inutilement le rayon d’action possible.
Un autre inconvénient d’Arduino apparaît lorsque la version standard des cartes microcontrôleurs peut ou doit être complétée par des interfaces et des fonctions d’entrée/sortie supplémentaires. Bien que le matériel standardisé permette une mise à niveau simple via des Shields, l’achat de ces modules complémentaires pour Ethernet, LED etc. fait alors augmenter rapidement les coûts du projet.
Avantages | Inconvénients |
Configuration matérielle/logicielle directement prête à l’emploi | Facteur d’apprentissage faible en termes d’électronique et de programmation (lors de l’utilisation de l’IDE) |
Propre environnement de développement avec différentes bibliothèques (multiplateforme) | La mise à niveau avec des Shields peut s’avérer coûteuse |
Forces et faiblesses du Raspberry Pi
Le Raspberry Pi se distingue aussi par le fait qu’il fournit une configuration matérielle prête à l'emploi qui décharge l’utilisateur de la tâche complexe de compiler la base technique des projets de DIY. Comparé aux cartes Arduino, le Raspberry Pi a tous les composants à bord pour permettre au micro-ordinateur de fonctionner indépendamment. De plus, la plupart des modèles sont compatibles réseau par défaut (Ethernet, WLAN ou les deux), seuls les modèles A et A++ du Pi 1 et le Pi Zero minimaliste manquent de ports correspondants. Grâce à ces caractéristiques, Raspberry Pi peut être utilisé non seulement directement comme plateforme de programmation, mais aussi pour exécuter des applications telles que les Cloud privés, serveurs Web ou serveurs VPN.
L’objectif principal de la Raspberry Pi Foundation, qui est à l’origine du développement du micro-ordinateur, était dès le début de faciliter l’accès au matériel et à la programmation pour les utilisateurs ayant peu de connaissances. 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électionner et télécharger le système d’exploitation, mais vous devez aussi le charger sur une carte mémoire SD appropriée. Même l’installation et la configuration ulté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.
Différents fournisseurs proposent des cartes SD (payantes) sur lesquelles un système d’exploitation exécutable Raspberry Pi (généralement Raspbian) est déjà installé.
Autre inconvénient : le prix de base n’est certes que de 5 à 40 euros selon le modèle et le fournisseur pour l’utilisation de Raspbery, cependant, toutes sortes d’accessoires supplémentaires tels que des câbles électriques et HDMI etc. sont nécessaires et augmentent le coût.
Avantages | Inconvénients |
Compatible 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’utilisateur lui-même. |
Convient aussi bien pour des tâches simples que pour des tâches complexes. | Pour un fonctionnement indépendant, un grand nombre de pièces supplémentaires payantes sont nécessaires. |
Analyse de la communauté : Arduino vs. Raspberry Pi
Les amateurs qui développent et planifient des projets avec du matériel comme Raspberry Pi ou Arduino sont heureux de partager leurs résultats avec d’autres bricoleurs et amateurs. Les portails vidéo comme YouTube ou Vimeo ainsi que le site communautaire de partage de projets hackster.io présentent des milliers de tutoriels et d’instructions d’utilisateurs pour d’autres utilisateurs. Arduino et Raspberry Pi y tiennent une bonne place. En effet, les deux composants, d’un côté le microcontrôleur et de l’autre le micro-ordinateur rassemblent une large communauté. Vous trouverez ainsi non seulement des informations sur les travaux déjà réalisés, mais aussi de l’aide concernant vos propres projets.
Les shields Arduino mentionnés plus haut pour étendre la base technique des cartes électroniques ont été largement développés par des membres de la communauté Arduino.
Voici quelques-uns des sites Internet les plus importants sur les projets Arduino :
- Reddit : Reddit dispose d’un canal Arduino étendu où les utilisateurs peuvent partager leurs idées de projet, poster des images ou des vidéos des résultats et poser des questions sur les microcontrôleurs.
- Forum officiel d’Arduino : environ 500 000 membres inscrits discutent dans plusieurs rubriques des différents modèles Arduino, des possibilités d’utilisation, des questions techniques.
- Arduino Playground : Arduino Playground est un Wiki complet dans lequel chaque utilisateur intéressé peut publier ses propres extraits de code, tutoriels, astuces et découvertes et présenter des projets ou tout simplement se renseigner.
Si vous voulez échanger des idées avec d’autres fans de Raspberry Pi, ces pages en particulier offrent une base parfaite :
- Raspberrypi.org : la page d’accueil officielle du projet Raspberry Pi n’est pas seulement le premier port d’escale pour tous ceux qui veulent obtenir une copie du micro-ordinateur. Sous la rubrique « HELP », vous trouverez différents guides (par exemple sur les logiciels et le matériel) ainsi qu’une documentation 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’informations pour les débutants mais aussi pour les utilisateurs expérimentés, qu’il s’agisse de guides pour l’achat, la configuration et le démarrage ou bien de conseils et des astuces pour les logiciels et le matériel. Enfin, des recommandations de lecture et des liens vers des pages communautaires importantes complètent le paquet.
- element14 : element14 est l’un des sites communautaires les plus réussis pour les projets électroniques 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 supplémentaires. 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égulièrement des articles sur Raspberry.
Scénarios d’installation : comparaison entre Arduino et Raspberry Pi
Le plus grand point commun entre Arduino et Raspberry Pi est le fait qu’ils sont immédiatement prêts à l'emploi, sans qu'il soit nécessaire d’installer et de mesurer des circuits électroniques ou d’assembler ou souder des circuits imprimés. C’est la principale raison pour laquelle Raspberry Pi et Arduino sont si populaires pour les projets de DIY dans les écoles, les universités et dans le secteur privé : ils offrent aux débutants inexpérimentés la possibilité d’obtenir rapidement de premiers résultats, et aux utilisateurs avancés un cadre matériel prêt à l'emploi pratique.
Le fait que les deux composants soient utilisés de manière différente est dû aux différences majeures entre Raspberry Pi et Arduino : en tant que microcontrôleurs, les cartes Arduino sont capables d’exécuter sans délai une application enregistrée telle que définie précédemment. Elles sont livrées avec leur propre environnement de développement, qui dispose de diverses bibliothèques prêtes à l’emploi et permet ainsi d'économiser beaucoup de travail de programmation. Le Raspberry Pi est un mini-ordinateur avec son propre système d’exploitation qui peut effectuer des tâches beaucoup plus complexes, comme exécuter plusieurs applications en parallèle ou consécutivement. De plus, il est livré en standard avec une variété d’interfaces et de ports (HDMI, WiFi, LAN), alors que les cartes Arduino doivent d’abord être complétées avec des shields.
En termes simples, on peut donc dire qu’Arduino est particulièrement adapté aux projets dans lesquels une tâche simple doit être exécutée à plusieurs reprises. Le microcontrôleur constitue la base idéale, par exemple, pour mesurer la température extérieure et l’afficher sur n'importe quel écran. Cependant, si vous voulez non seulement mesurer la température extérieure, mais aussi vérifier les prévisions météorologiques et démarrer le système d’arrosage du jardin en fonction de critères préalablement définis (par exemple, température élevée et faible probabilité de pluie), un Raspberry Pi est le meilleur choix.
Raspberry Pi ou Arduino ? Le match n’est pas nécessaire
Les circuits Arduino et les ordinateurs Raspberry Pi ont donc leurs forces et leurs faiblesses. Pour les petits projets, il est donc conseillé de commencer par examiner les composantes nécessaires à la mise en œuvre, puis de choisir l’une des deux composantes 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 combinaison de modèles Arduino et Raspberry.
Par exemple, il est concevable qu’Arduino ne soit utilisé que pour exécuter une application qu’après qu’un Raspberry Pi ait effectué des calculs. D’autre part, il est également possible que la tâche du microcontrô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 HackPrincton 2013 (catégorie Hardware), en est un bon exemple : les marches interactives jouent des notes de piano au fur et à mesure que vous entrez, en utilisant un Arduino pour transmettre les valeurs enregistrées à un Raspberry Pi. Il s’occupe à son tour du traitement des valeurs et de la sortie des sons correspondants.
Le mode d’emploi détaillé du projet se trouve sur le site instructables.com .