J’ai découvert il y a plusieurs années le Raspberry Pi, j’ai mis du temps à me décider avant d’en acheter un. Je n’ai pas été déçu lorsque j’ai franchi le pas.
Ses capacités de serveur aux multiples usages (site Web, partage fichiers,…) ainsi que ses possibilités d’interagir avec son entourage grâce aux ports GPIO en font un mini ordinateur polyvalent.
À côté de ça j’entendais parler de l’Arduino, et je pensais que c’était un concurrent…
Au sommaire :
Commencer avec l’Arduino
Introduction
J’ai deux raspberry depuis quelques années, je m’en sert comme serveur Web pour l’un et comme serveur pour interagir avec son environnement pour l’autre grâce aux GPIO.
Pour apprendre à maîtriser les possibilités des ports GPIO, j’ai acheté un kit d’une trentaine de capteurs qui était fourni avec des exemples de code Python.
J’ai ainsi eu l’occasion à travers de simples montages d’acquérir des données (température hydrométrie…) contrôler des éléments (Led, relais)
Il y a quelques mois on m’a offert un Arduino Nano, que j’ai donc testé et ma vision à complètement changé sur le Raspberry Pi et l’Arduino, ils ne sont pas concurrents mais parfaitement complémentaires.
Le Raspberry Pi, c’est de la puissance, un vrai ordinateur. L’Arduino surtout le Nano (vraiment pas chèr) permet de faire ce que fait le Pi avec les GPIO mais dispose de convertisseurs analogiques/numériques que n’a pas le Raspberry Pi.
Combiner les deux permet donc de bénéficier des avantages de chacun.
Je vous propose un tutoriel rapide pour prendre en main l’Arduino Nano.
Pour commencer
- Il vous faut un Arduino Nano et son câble USB afin de transférer le programme.
- Un support qui peut être une plaque d’expérimentation ou un support
- Et le logiciel pour programmer l’Arduino , l’Arduino IDE que vous trouverez ici : Arduino IDE ( https://www.arduino.cc/en/Main/Software )
Après installation du logiciel, il faut lui indiquer le modèle d’Arduino que vous utilisez. Dans le menu Outils, sélectionner le type de carte « Arduino Nano » puis le processeur « ATmega328P (old loader) » pour le mien
L’interface est très sobre et simple.
Dans la partie centrale vous rédiger votre code, ensuite il suffit d’utiliser 2 boutons
- Le petit « V » vert en haut à gauche sert à vérifier votre code
- La « flèche vers la droite » permet d’envoyer le programme vers l’Arduino
- autre partie utile, la cadre noir en bas de la fenêtre, en cas d’erreurs il vous indique la partie du code en cause.
Notre projet
Pour cette prise en main, je vous propose un système d’alarme basique
Nous allons utiliser un capteur de présence et une diode RVB pour indiquer une alarme. Verte par défaut, elle passera au rouge lorsque qu’une présence sera détectée par le capteur.
Matériel
Pour ce test nous avons besoin :
- Arduino Nano ( 3€ )
- Support d’extension entrées/sorties ou Plaque d’expérimentation ( 2€ )
- Capteur de présence par infrarouge HC-SR501 ( 1€ )
- Module led RGB ( 1€ )
- Câbles de liaisons Dupont ( 1€ )
Note : Support d’extension entrées/sorties ou Plaque d’expérimentation, voici la différence en image. Je trouve le support plus fonctionnel pour brancher les capteurs et autres modules directement. Il dispose d’autant de masses et +5V que d’entrées/sorties.
Montage
Pour chaque pin de l’Arduino, le support propose l’équivalent mais en parallèle on retrouve une masse et un VCC de +5V, ce qui est bien pratique pour alimenter plusieurs composants
Relier le capteur infrarouge, à la pin 3 en câblant comme le schéma
- Fil rouge le +5V
- Fil noir la masse
- Fil vert le signal
Relier la diode RGB aux pins 4-5-6
- Pin led notée GND sur une masse
- Pin led noté R (Red-Rouge) sur la pin 4
- Pin led noté G (Green-Vert) sur la pin 5
- Pin led noté R (Blue-Bleu) sur la pin 6
Note : le schéma fait apparaître une diode RGB classique (sans les résistances), pour ma part j’utilise un petit module qui contient les résistances permettant de ne pas griller la diode. Simple et pratique.
Code
Voici le code à copier dans l’interface du logiciel:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
/*******************************************/ const int sensorPin = 3; bool on = false; const int ledG = 6; const int ledR = 4; /*******************************************/ void setup() { pinMode(ledG, OUTPUT); pinMode(ledR, OUTPUT); pinMode(sensorPin, INPUT_PULLUP); Serial.begin(9600); } /*******************************************/ void loop() { while(digitalRead(sensorPin)==1) { digitalWrite(ledR, HIGH); digitalWrite(ledG, LOW); delay(100); } digitalWrite(ledR, LOW); digitalWrite(ledG, HIGH); on = true; delay(2000); //attente de 2 seconds } |
Connectez l’Arduino Nano au port USB de votre ordinateur.
Envoyez le programme vers l’Arduino avec le bouton cité précédemment.
Si tout va bien cela fonctionne. La diode est verte et lorsqu’une présence est détectée, la diode passe au rouge pour au minimum 2 secondes.
Note sur le capteur : vous disposez de 2 potentiomètres de réglages. L’un pour la sensibilité, l’autre pour la durée (sachant que coté programme nous forçons déjà 2 secondes).
Conclusion
Vous avez réalisé votre premier projet avec l’Arduino et vous avez les bases, maintenant vous pouvez vous lancer dans un projet plus ambitieux, avec d’autres capteurs.
Bonjour article très très intéressant,je vais enfin passer le cap.merci beaucoup.
Cordialement
Bonsoir,
Comme vous j’ai voulu tester l’écosystème Arduino. Mon choix s’est porté sur DevDuino.
RasPi vs Arduino … les Meilleurs Amis du Monde.
Effectivement, comme tu dis ils sont complémentaires.
Pour ma part, c’est du côté des ESP que j’ai regardé il y a un peu plus d’un an (ESP01S, ESP12 sur devboard NodeMCU ou Wemos) et je trouve que ça à l’avantage de l’Arduino (même IDE, port digital et analogique, alimentation 5v sur NodeMCU et Wemos) et apporte en plus le Wifi !
Très utile pour les objets connectés 🙂
Seb@stien
Il y aura prochainement un article avec un arduino qui envoie des infos en wifi au Raspberry avec un ESP01
Alors tu peux virer l’Arduino, l’ESP01 est autonome, et bcp plus puissant que l’Arduino 🙂
L’inconvénient de l’ESP01 est sa mémoire (512 Kb ou 1 Mb pour le S) , ses sorties (2 Digitales, voir 3 ou 4) ainsi que son alimentation (3.3 Volts)
Je remplacerai le tout par un Wemos D1 Mini ou NodeMCU ( ESP12F avec 4 Mb de Mémoire, beaucoup plus de sorties + analogique, ainsi que l’alimentation 5v intégrées (conversion -> 3.3v) )
Ceci dit l’ESP01 a l’avantage de la taille, beaucoup plus petit
Seb@stien
Peso, hormis la fonctinnalité wifi, les limitations mémoires et sorties/entrées, je n’ai jamais bien compris quelle seraient les différences entre Arduno est les ESP. Pour autant qu’il en reste alors.
D’autre part, j’ai un souci également de compréhension avec lesdits câbles de connexion à utiliser pour monter du code sur ces genres de cartes. Dans quelle mesure est-il possible de savoir lorsqu’il faut utiliser un CH340 ou un FTDI ou autres ? Ca pour moi ce n’est pas clair. Certes en lisant un tuto on sait qu’on doit utiliser l’un ou l’autre, mais lorsqu’on en a un (CH340) n’est-il pas suffisant pour toutes ces cartes ? Merci de l’expliquer enfin pou que ce soit accessible au non électronicien 😉
A+
Ben l’ESP se programme comme un Arduino et propose le WiFI tout en ayant plus de mémoire.
L’arduino a de son coté l’avantage d’avoir plus de GPIO et d’A/D
FTDI est la famille et le CH340 un de ses membres. Donc quand t’utilise un CH340, tu utilises un FDTI
Sur mon site, il y a des tutos.
Bonjour auriez vous un lien pour la fameuse carte Support d’extension entrées/sorties, en effet les breadboards pour débuter c’est plus difficile.
Merci pour votre travail.
Un exemple ici : https://fr.aliexpress.com/item/NANO-I-O-Expansion-Capteur-Bouclier-Module-Pour-arduino-UNO-R3-Nano-V3-0-3-3/32864304852.html
on trouve en générale 2 modèles, j’aime bien celui-ci car sur la carte les pins ont des couleurs, noir=masse, rouge=+ et bleu, la pin de l’arduino.
Comme ça on se trompe pas, alors que y’a des modèles où tout est de la même couleur.
ne pas oublier l’alim et les cables dupont femelle-femelle
Bonjour
La différence majeure est que l Arduino est temps réelle du fait de l’absence de système d’exploitation. On peut donc maîtriser le timing des signaux bien en dessous de la milliseconde.
C’est quasiment impossible avec une RPi du fait de la présence d’un OS. Même si on peut modifier Linux pour le rendre temps réel (ou presque) il est difficile d’atteindre le même résultat.
C’est à mon avis là que se trouve la complémentarité majeure entre ces deux cartes.
Et pis, moyennant les bons logiciels, scratch génère directement le code pour Arduino. o_O
On peut alors automatiser sans aucune notion d’informatique ni d’électronique, un régal pour nos petites têtes blondes;
bonjour,
j’ai une question prix… pourquoi le site arduino nous dit:
https://store.arduino.cc/usa/arduino-nano
22€
?
https://store.arduino.cc/usa/arduino-nano
22 euros
Salut à tous. Assez surprenant pour un blog consacré à la Raspberry de parler de l’Arduino. A moins de me tromper, l’arduino est plus destiné à faire de l’électronique, et la raspberry de l’informatique
N’ayant aucune connaissance en électronique et pour cause j’ai une formation d’ingénieur en informatique, il m’est assez difficile de savoir comment bidouiller un simple montage comme celui que vous nous présentez.
A commencer par le choix de l’Arduino. Il y a pléthore comme la uno, due, mega, léonardo, MKR, Yun, Educaduino, Mo, Esplora, Mini, Micro, Nano, et j’en ai certainement oublié. Et je ne parle même pas de leur déclinaison. Donc pour débuter, je ne sais pas trop quoi prendre. Le hasard a voulu que l’on vous offre une Arduino nano, mais pour ceux qui ont autre chose, ils font comment ?
Ensuite, l’équipement de base pour faire des montages. Je suppose une plaque d’expérimentation, une alimentation en 5V ou 3.3V, puis des câbles, des leds, et des tas d’autres choses.
Déjà à mon niveau, j’ignore la différence entre une led et une diode. Surtout que dans les accéssoires à se procurer, il est dit de s’achter une led RGB mais après on parle de diode RGB.
Ensuite, le sujet aborde une résistance afin de ne pas griller la diode, mais on ne sait pas de quoi il s’agit, ni comment faire le montage, ni de quelle type de résistance il s’agit et comment éviter la catastrophe.
Le schéma semble à son concepteur facile à comprendre, mais je ne vois qu’un paquet de câbles branchés sur la plaque, sans trop bien savoir comment les relier à l’arduino. Pour relier à l’arduino, vous parlez de PIN, mais je n’ai pas le descriptif des PINs de l’arduino Nano.
Je le cherche sur le net et je trouve ceci : https://www.arduinoplanet.ma/wp-content/uploads/2017/04/5-2.png
Nulle part, il est indiqué les PINs 4, 5 et 6. Je sais, je n’y connais rien et déchiffrer un schéma est un vrai casse-tête pour moi. Et dans le montage, je ne vois pas où se trouve l’alimentation.
Je suppose que le programme est du ‘C’. Sauf que je ne reconnais pas la structure classique du ‘c’, à savoir la procédure « main() », la déclaration des biliothèques où est fait la référence aux fonctions « pinmode() », « digitalRead() », « digitalWrite() ».
A la fin vous nous parlez du capteur, et des potentiomètres de réglages. Ou se trouve vos potentiomètres dans le schema ?
Comme je suis un fidèle lecteur de ce blog, je sais que M. François Mocq a déjà abordé le composant HC-SR501 dans ce billet : https://www.framboise314.fr/scratch-raspberry-pi-composants/module-detecteur-de-presence-pir/
C’est peut-être évident pour vous, et je vous remercie d’avoir fait l’effort de nous communiquer votre montage, mais je n’y comprends rien !
Et enfin en ce qui concerne les prix, je ne sais pas d’où ils viennent mais ce n’est pas ce que je trouve sur le net.
Par exemple, l’arduino nano est à 22,80€ chez GoTronic : https://www.gotronic.fr/art-module-arduino-nano-12422.htm
Le cordon USB qui est spéciale à l’Arduino est à 2,60€ : https://www.gotronic.fr/art-cordon-usb161-5-broches-15302.htm
Il vous faut un shield E/S DFR0012 pour la nano à 9,90€ : https://www.gotronic.fr/art-shield-e-s-dfr0012-pour-nano-19256.htm
Ou bien Une plaque de montage à 2,60€ : https://www.gotronic.fr/art-plaque-de-montage-rapide-23858.htm
Une alimentation avec une fiche d’alimentation 5,5 x 2,1 mm qui est différente de celle de la raspberry puisque micro USB à 12,90€ : https://www.gotronic.fr/art-adaptateur-mv530n-8000.htm
Ce n’est pas une critique contre vous, mais mettez-vous à la place d’un ignare en électronique comme moi, vous comprendrez qu’ils manquent des tas de choses pour rendre votre billet plus facile à comprendre.
@+
Bonjour
si vous faites une recherche sur le blog framboise314 avec « Arduino » https://www.framboise314.fr/?s=arduino
vous verrez qu’on en parle régulièrement
Comme le Raspberry Pi, l’arduino permet de piloter des composants électroniques
Simplement il n’a pas de système d’exploitation et on programme directement le microcontroleur
Le Raspberry Pi embarque un OS mais ses GPIO donnent accès au monde extérieur et on peut faire plus que de « l’informatique » avec le Raspberry Pi
j’ai animé des formations Arduino (https://www.framboise314.fr/atelier-arduino-starinux-13-juin-2015/) et je viens du monde Arduino que je n’ai jamais abandonné
Les schémas de cet article indiquent comment connecter les fils
Si vous avez du mal à décoder tout ça je vous conseille le cours de Frédéric http://www.edurobot.ch/?p=2476
il permet de démarrer avec l’Arduino et les composants plus facilement
vous reviendrez sur cet article par la suite et tout ira mieux 🙂
Pour les composants et arduino jetez un coup d’œil sur des sites comme Bangood ou Aliexpress
Difficile de mettre dans le même article les bases d’électronique (LED, diode, résistance, condensateur) et une init au démarrage de l’Arduino. Je sais bien qu’on aimerait tout avoir d’un coup mais ce n’est pas envisageable, l’article serait immense !
J’ai commencé une présentation des composants ici https://www.framboise314.fr/scratch-raspberry-pi-composants/
j’en ajoute quand j’ai un peu de temps mais vous pouvez commencer par là.
vous verrez que cet article est noté « pour les novices »
je vous souhaite une bonne exploration du monde de l’Arduino
cordialement
François
Beaucoup de questions sur les prix des éléments, voici quelques liens vers du matériel chez Aliexpress, j’espère que dans le temps les liens resteront valides
Arduino nano:
https://fr.aliexpress.com/item/Freeshipping-Nano-3-0-controller-compatible-with-arduino-nano-CH340-USB-driver-with-CABLE-NANO-V3/2035514330.html
Alim arduino :
https://fr.aliexpress.com/item/AC-100-v-240-v-Adaptateur-Convertisseur-DC-9-v-1A-Alimentation-DC-5-5mm-x/32838945430.html
Support arduino nano :
https://fr.aliexpress.com/item/NANO-I-O-Expansion-Capteur-Bouclier-Module-Pour-arduino-UNO-R3-Nano-V3-0-3-3/32864304852.html
Plaque de montage :
https://fr.aliexpress.com/item/SYB-170-Mini-Solderless-Prototype-Breadboard-170-Tie-points-for-ATMEGA-PIC-Arduino-UNO-Dropshipping/32293151024.html
Capteur de présence :
https://fr.aliexpress.com/item/Free-shipping-HC-SR501-HC-SR501-NEW-Adjust-Infrared-IR-PIR-Motion-Sensor-Detector-Module-Security/1835243998.html
Salut François.
Ces derniers temps vous vous orientez plus vers l’arduino au détriment de la Raspberry.
Ce n’est pas une critique de ma part, mais une constatation, au bénéfice des électroniciens (ce que vous êtes) et au détriment des informaticiens (ce que je suis).
Les sujets sont intéressant mais trop orienté vers l’électronique. Je sais, je peux ne pas les lire et me contenter des autres sujets.
Faire mumuse avec des leds, c’est pas trop mon truc, et surtout il faut investir dans des tas de composants électronique.
Un sujet qui m’a plus, concernait le tuner TV Hat, autrement dit le shield que l’on branche sur la raspberry.
Si je suis venu à la Raspberry, c’était pour faire du linux et non de l’électronique.
Je ne suis pas contre l’acquisition de shields où l’aspect électronique est déjà fait par quelqu’un d’autre.
Les sujets qui m’intéressent sont les aspects système (la multiprogrammation, la communication), le réseau, la domotique, la météo, …
Pour l’arduino, il est vrai qu’un stage de formation me ferait plaisir, au moins pour son aspect découverte, mais dans ma région, la dordogne, il n’y a rien.
Merci à vous, M. François Mocq, pour ce retour d’expérience et surtout à l’auteur de cet article, M. Christophe CILLIER pour nous avoir fait découvert l’arduino au travers de son sujet.
Cordialement.
@+
Bonjour
en fait ce sont des auteurs qui me proposent des sujets sur l’Arduino,
et comme ça peut intéresser des lecteurs je les accepte avec plaisir (à mon avis Arduino et Raspberry Pi sont fait pour fonctionner ensemble 🙂 )
Le problème de l’informatique en temps que telle sur le Raspberry Pi, c’est … que ce n’est plus du Raspberry Pi
Quand j’ai des questions sur un serveur web tournant sur Raspberry Pi, ce sont des soucis de Serveur web, pas de Raspberry Pi
et c’est vrai dans de nombreux cas. Pour la domotique il y a un côté programmation, mais aussi beaucoup d’interactions avec des capteurs ou des actionneurs. Ce n’est pas simple de trouver un juste milieu
idem pour le réseau, il y a des particularités liées à Raspbian mais généralement ce sont des problèmes de gestion réseau sous Linux, le Raspberry Pi en lui même n’intervient pas
Il faut aussi voir qu’écrire un article « sérieux » est chronophage et qu’en fonction des périodes c’est plus ou moins facile.
Juste pour info, depuis fin février j’ai participé à 3 jour de Tech Inn Vitré en Bretagne avec un stand et 2 conférences Raspberry Pi et Scratch, à la semaine des Maths (11 au 15 mars) avec du Scratch et du Python dans des collèges et lycées de Limoux et Carcassonne, et hier j’étais à Lyon pour une conférence Raspberry Pi et Radioamateur. La préparation des maquettes pour les stands, la prépa des conférences ou des interventions auprès des élèves (on a allumé des LED et fait tourner des servomoteurs avec python) nécessite aussi du tepps de prépa. Ajoutez les plus de 3400 Km de route et vous comprendrez pourquoi le mois de mars a été moins riche en articles que les mois précédents 😀
mais tout ça participe à la promo du Raspberry Pi et du codage 🙂
cordialement
François
Bonjour M. François Mocq.
Je n’ai rien contre l’Arduino, tout au contraire, mais dans un cadre électronique.
Comme je me positionne surtout dans un cadre informatique, aborder cette question me semble hors sujet.
Maintenant, vous soulevez une question fort intéressante, à savoir où se situe le juste milieu entre l’informatique et l’électronique ?
Comme dit un peu plus haut, ce sont les shields qui m’intéresse, soit un juste milieu entre informatique et électronique.
Pas de fer à souder, juste un plug and play, et de la programmation et ça me convient parfaitement.
Maintenant à quoi est destiné la Raspberry Pi ? Je pense que la réponse est dans l’usage que veux en faire son acquéreur.
Oui sauf que l’acquéreur ne sait pas s’en servir, suite à un cadeau qu’on lui a fait ou plus simplement, il a été tenté par l’achat peu onéreux.
Ils s’inscrivent dans votre forum framboise314 et posent des tas de questions.
Cela ne me choque pas, que l’on pose des questions sur l’informatique, au sujet de la Raspberry Pi.
Au cas où vous l’auriez oublié, c’est un petit ordinateur et non un micro-controleur.
Vous dites : « Le problème de l’informatique en temps que telle sur le Raspberry Pi, c’est … que ce n’est plus du Raspberry Pi ».
A vrai dire, la Raspberry Pi a été détourné de son premier usage, à savoir donner le gout de l’apprentissage de l’informatique à l’école.
–> http://binaire.blog.lemonde.fr/2015/12/28/raspberry-pi-la-petite-histoire-dune-grande-idee/
D’ailleurs, dans cet article, vous êtes cités comme « référence francophone ».
Maintenant, c’est quoi le Raspberry Pi ? la réponse ne sera pas la même si l’on est électronicien ou informaticien.
Vous aviez fait une remarque concernant le billet « Remise des prix Raspberry Pi GEII à l’IUT du Creusot » fort intéressante :
>>>Mais vous avez raison, souvent ce n’est pas la peine de sortir la grosse artillerie peut être qu’au moment de la recherche de stage ils n’ont pas encore assez d’éléments pour effectuer un choix éclairé<<<
Pourquoi utiliser la Raspberry Pi quand on peut le faire avec une Arduino ? J'interprète cela de plusieurs façons :
1) qui peut le plus, peut le moins, d'où parfois un redimensionnement dans le choix du matériel Raspberry Pi au détriment de l'Arduino).
2) une mauvaise connaissance de ce qui peut exister par ailleurs. On est fréquemment tenté par ce que l'on connait déjà.
En 2015, dans le forum developpez, un membre parlait de la Raspberry Pi. Je ne connaissais pas du tout, et encore moins l'Arduino.
J'avais au travers de mon hébergeur (AlwaysData), la possibilité de faire du débian.
En 2016, j'ai fait l'acquisition de ma première Raspberry Pi, et j'ai aimé pouvoir bidouiller dessus, sans restriction, comme chez AlwaysData.
C'est pas cher, et on peut faire des tas de choses fort intéressante (du système), comme du temps où je faisais de l'Unix.
Un système embarqué comme l'Arduino peut m'intéresser, sauf que c'est l'aspect électronique qui me dérange.
A vrai dire, c'est le coté logiciel qui m'intéresse et non la bidouille électronique avec tous les composants qu'il faut acquérir.
En gros, non n'avons pas les mêmes centres d'intérêts.
Je sais qu'écrire un billet est chronophage et que votre temps est précieux.
Je trouve vos articles fort intéressant, surtout quand vous aborder les extensions de la Raspberry Pi.
Sinon pourquoi nommer votre blog "framboise314" si c'est pour consacrer des articles sur l'arduino ?
@+
Bonjour,
Merci pour le projet, c’est bien expliqué et pratique.
J’ai une question, peut-on utilisé les transitions temporelles du capteur de présence HC-SR501 afin d’en déduire la distance entre le capteur et l’objet en mouvement ?
Merci d’avance.
Bonjour,
Je suis éberlué de voir à quel point on peut être aussi sectaire. Comment un ingénieur en informatique peut-il dédaigner l’électronique à ce point ? Si la Raspberry était seulement un petit ordinateur, on ne se serait pas embêté à lui adjoindre des GPIO …
L’Arduino est un parfait complément de Raspberry, … pour celui qui en a l’utilité. Mais devrait-on l’ignorer simplement parce que ce n’est pas de l’informatique ?
Quand on ne connait pas la différence entre une led et une diode, on fait une toute petite recherche sur le net, c’est un niveau largement accessible à n’importe quel ingénieur qu’il soit agronome, commercial, informatique …
Merci François pour ce que tu fais, continue de nous faire partager tes passions !
Merci 😊 ma foi avant le RasPi j’ai usé de l’Arduino, j’ai même animé quelques formation sur cette carte hyper puissante que j’utilise toujours quand c’est nécessaire 😃😄
Ping : Gestion de plaque tournante PECO avec un Arduino Nano - Framboise 314, le Raspberry Pi à la sauce française....