Raspberry Pi et Arduino sont les deux cartes open source les plus populaires de la communauté électronique. Ils ne sont pas seulement populaires parmi les ingénieurs en électronique, mais aussi parmi les étudiants et les amateurs, en raison de leur facilité et de leur simplicité. Même certaines personnes ont commencé à aimer l'électronique à cause de Raspberry Pi et Arduino. Ces cartes ont de grands pouvoirs, et on peut construire des projets très compliqués et Hi-fi en quelques étapes simples et peu de programmation.
Nous avons créé un certain nombre de projets et de tutoriels Arduino, des plus simples aux plus complexes. Nous avons également créé une série de tutoriels sur Raspberry Pi, à partir desquels tout le monde peut commencer à apprendre à partir de «zéro». Il s'agit d'une petite contribution à la communauté électronique de notre part et ce portail s'est révélé être une excellente ressource d'apprentissage pour l'électronique. Nous réunissons donc aujourd'hui ces deux excellentes cartes en interfaçant Arduino avec Raspberry Pi.
Dans ce tutoriel, nous allons établir une communication série entre Raspberry Pi et Arduino Uno. PI n'a que 26 broches GPIO et aucun canal ADC, donc lorsque nous réalisons des projets comme une imprimante 3D, PI ne peut pas faire toutes les interactions seul. Nous avons donc besoin de plus de broches de sortie et de fonctions supplémentaires, pour ajouter plus de fonctions à PI, nous établissons une communication entre PI et UNO. Avec cela, nous pouvons utiliser toutes les fonctions de UNO comme des fonctions PI.
Arduino est une grande plate-forme pour le développement de projets, ayant de nombreuses cartes comme Arduino Uno, Arduino Pro mini, Arduino Due, etc. Ce sont des cartes basées sur des contrôleurs ATMEGA conçues pour les ingénieurs électroniques et les amateurs. Bien qu'il existe de nombreuses cartes sur la plate-forme Arduino, Arduino Uno a reçu de nombreuses appréciations, pour sa facilité à réaliser des projets. L'environnement de développement de programme basé sur Arduino est un moyen facile d'écrire le programme par rapport aux autres.
Composants requis:
Ici, nous utilisons Raspberry Pi 2 Model B avec Raspbian Jessie OS et Arduino Uno. Toutes les exigences matérielles et logicielles de base, concernant Raspberry Pi, sont décrites précédemment, vous pouvez les rechercher dans l'introduction de Raspberry Pi, à part ce dont nous avons besoin:
- Broches de connexion
- Résistance 220Ω ou 1KΩ (2 pièces)
- LED
- Bouton
Explication du circuit:
Comme indiqué dans le schéma de circuit ci-dessus, nous connecterons UNO au port USB PI à l' aide d'un câble USB. Il existe quatre ports USB pour PI; vous pouvez le connecter à n'importe lequel d'entre eux. Un bouton est connecté pour initialiser la communication série et une LED (clignote) pour indiquer que les données sont envoyées.
Explication de fonctionnement et de programmation:
Partie Arduino Uno:
Programmons d'abord l'UNO, Connectez d'abord l'UNO au PC, puis écrivez le programme (section Vérifier le code ci-dessous) dans le logiciel Arduino IDE et téléchargez le programme sur l'UNO. Déconnectez ensuite l'UNO du PC. Fixez l'UNO au PI après la programmation et connectez une LED et un bouton à l'UNO, comme indiqué sur le schéma de circuit.
Maintenant, le programme initialise ici la communication série de UNO. Lorsque nous appuyons sur le bouton attaché à l'UNO, l'UNO envoie quelques caractères au PI en série via le port USB. La LED attachée au PI clignote pour indiquer les caractères envoyés.
Partie Raspberry Pi:
Après cela, nous devons écrire un programme pour PI (section Vérifier le code ci-dessous), pour recevoir ces données envoyées par UNO. Pour cela, nous devons comprendre quelques commandes indiquées ci-dessous.
Nous allons importer un fichier série depuis la bibliothèque, cette fonction nous permet d'envoyer ou de recevoir des données en série ou par port USB.
importation de série
Maintenant, nous devons indiquer le port de l'appareil et le débit binaire pour que le PI reçoive les données de UNO sans aucune erreur. La commande ci-dessous indique que nous activons la communication série de 9600 bits par seconde sur le port ACM0.
ser = serial.Serial ('/ dev / ttyACM0', 9600)
Pour connaître le port auquel l'UNO est attaché, allez au terminal de PI et entrez
ls / dev / tty *
Vous aurez la liste de tous les périphériques connectés sur PI. Connectez maintenant l'Arduino Uno à Raspberry Pi avec un câble USB et entrez à nouveau la commande. Vous pouvez facilement identifier le port connecté UNO à partir de la liste affichée.
La commande ci-dessous est utilisée comme boucle permanente, avec cette commande les instructions à l'intérieur de cette boucle seront exécutées en continu.
Alors que 1:
Après avoir reçu les données en série, nous afficherons les caractères sur l'écran de PI.
imprimer (ser.readline ())
Ainsi, après avoir appuyé sur le bouton, attaché à l'UNO, nous verrons les caractères imprimés sur l'écran PI. Par conséquent, nous avons établi une poignée de main de communication de base entre Raspberry Pi et Arduino.