- Matériaux nécessaires:
- Installation de Python sur votre ordinateur:
- Obtenir PySerial en Python:
- Notre premier programme Arduino Python:
- Contrôle de la LED avec Python et Arduino:
Arduino a toujours été une plate-forme d'apprentissage / de développement puissante et facile à utiliser en matière de développement de matériel open source. Dans le monde moderne d'aujourd'hui, chaque matériel est alimenté par un langage de programmation généraliste de haut niveau pour le rendre plus efficace et convivial. Un de ces langages est Python. Python est un langage de programmation interprété, orienté objet et de haut niveau avec une sémantique dynamique avec des structures de données intégrées de haut niveau, combinées à un typage dynamique et à une liaison dynamique, le rendent très attrayant pour le développement rapide d'applications.
Combiner la puissance d'Arduino et de Python ouvrira les portes à de nombreuses possibilités puisque python a une productivité accrue avec sa capacité à interagir avec d'autres plates-formes comme openCV, Matlab etc. Donc dans ce tutoriel nous allons apprendre comment nous pouvons installer python sur notre ordinateur et comment l'utiliser avec Arduino pour basculer la LED embarquée d'Arduino.
Alors, commençons….
Matériaux nécessaires:
- Arduino Uno (ou toute carte Arduino)
- Ordinateur avec connexion Internet
Installation de Python sur votre ordinateur:
De toute évidence, la première étape de ce tutoriel serait d'installer Python sur notre ordinateur. Les étapes mentionnées ci-dessous s'appliquent uniquement aux utilisateurs de Windows exécutant un système d'exploitation 32 bits ou 64 bits. La procédure d'installation pour MAC et Linux est différente.
- Cliquez sur Python-2.7.9 32 bits et cela installera le Python IDLE 32 bits sur votre ordinateur. Ne téléchargez pas la version 64 bits ou les versions mises à jour car elles ne prennent pas en charge nos bibliothèques Arduino. Même si votre ordinateur fonctionne sur 64 bits, vous pouvez utiliser Python 32 bits lui-même.
- Ouvrez le fichier exe téléchargé et suivez les instructions. Ne changez pas le répertoire dans lequel le python est installé. Ce sera C: \ Python27 par défaut et laissez-le tel quel.
- Pendant l'installation, vous pourriez recevoir un avertissement de votre antivirus (le cas échéant), dans ce cas, cliquez sur Autoriser.
Voilà !, python est installé avec succès sur notre ordinateur. Vous pouvez le vérifier en recherchant «Python IDLE» dans la zone de recherche Windows et en l'ouvrant.
Une fois ouvert, vous devriez obtenir l'écran suivant. Cette fenêtre s'appelle le shell Python et nous l'appellerons désormais « shell Python ».
Cet écran s'appelle le shell Python. Vous pouvez directement coder ici et obtenir la sortie sur le même écran ou créer un nouveau fichier et y écrire le programme et vérifier le programme ici. Nous entrerons plus tard dans les détails de la création d'un programme python, pour l'instant vérifions si python fonctionne.
Pour ce faire, tapez simplement « imprimer (1 + 1) » et appuyez sur Entrée. Vous devriez voir le résultat s'imprimer comme indiqué ci-dessous.
Obtenir PySerial en Python:
La prochaine étape consiste à installer pyserial. PySerial est un module API Python qui est utilisé pour lire et écrire des données série sur Arduino ou tout autre microcontrôleur.
Cliquez sur Pyserial Windows pour télécharger PySerial. Le téléchargement résultant sera un fichier exe qui peut être directement installé. Ne modifiez aucun paramètre lors de l'installation. Laissez-le au répertoire par défaut et aux paramètres par défaut.
Maintenant, vérifions si PySerial est correctement installé. Pour ce faire, ouvrez à nouveau Python Shell et saisissez
importation de série . Si la bibliothèque a été installée avec succès, vous ne devriez pas recevoir de messages d'erreur comme indiqué dans l'image ci-dessous. Si vous rencontrez des erreurs, publiez-les dans la section des commentaires et nous essaierons de les résoudre.
Ce didacticiel suppose que vous êtes familier avec Arduino et que vous avez de l'expérience dans le téléchargement de projets sur Arduino. Alors passons directement à notre programme Python. Si vous êtes un débutant avec Arduino, consultez nos projets Arduino et commencez par le clignotement des LED avec Arduino.
Notre premier programme Arduino Python:
Comme indiqué précédemment, nous contrôlerons la LED de la carte Arduino intégrée à l'aide du script Python. Commençons par le code Arduino.
Programme pour Arduino:
Le programme complet de ce tutoriel Arduino python est donné à la fin de cette page. Lisez la suite pour savoir comment cela fonctionne.
À l'intérieur de la fonction de configuration , nous initialisons la communication série à un débit de 9600 bauds et déclarons que nous utiliserons la LED intégrée comme sortie et la réduisons au démarrage du programme. Nous avons également envoyé un message de bienvenue à python via l'impression en série, comme indiqué ci-dessous:
void setup () {Serial.begin (9600); // initialise COM série à 9600 baudrate pinMode (LED_BUILTIN, OUTPUT); // rend la broche LED (13) comme sortie digitalWrite (LED_BUILTIN, LOW); Serial.println ("Salut !, je suis Arduino"); }
Dans la fonction de boucle , nous lisons toutes les données qui arrivent en série et attribuons la valeur à la variable «data». Maintenant, en fonction de la valeur de cette variable («data»), nous basculons la led intégrée comme indiqué ci-dessous.
void loop () {while (Serial.available ()) {data = Serial.read (); } if (data == '1') digitalWrite (LED_BUILTIN, HIGH); else if (data == '0') digitalWrite (LED_BUILTIN, LOW); }
Programme pour Python:
Le programme python complet pour ce tutoriel est donné à la fin de cette page. Lisez la suite pour savoir comment écrire et utiliser le même.
- Ouvrez votre shell Python (Python IDLE) et cliquez sur Fichier-> Nouveau
- Cela ouvrira un nouveau fichier texte dans lequel vous pourrez taper votre programme.
- Avant de taper quoi que ce soit, sauvegardons le fichier, par Ctrl + S. Tapez n'importe quel nom et cliquez sur Enregistrer. Cela enregistrera automatiquement votre fichier dans l'extension «.py».
- Maintenant, tapez le programme ou collez le code python donné à la fin de cette page. L'explication de la même chose est donnée ci-dessous et enfin exécutez le programme.
Dans notre programme, la première étape serait d' importer la bibliothèque périodique et temporelle. La bibliothèque série, comme indiqué précédemment, sera utilisée pour lire et écrire des données série et la bibliothèque de temps sera utilisée pour créer des retards dans notre programme. Ces deux bibliothèques peuvent être importées dans notre programme en utilisant les deux lignes suivantes:
import serial #Serial importé pour le temps d'importation de la communication série #Required to use delay functions
La prochaine étape serait d' initialiser un objet série à l'aide de notre bibliothèque série. Dans ce programme, nous avons nommé notre objet série comme «ArduinoSerial» . Dans cette ligne, nous devons mentionner le nom du port COM auquel notre Arduino est connecté et à quelle vitesse de transmission il fonctionne comme indiqué ci-dessous.
ArduinoSerial = serial.Serial ('com18', 9600)
Remarque: il est très important de mentionner le nom du port COM correct. Il peut être trouvé en utilisant le gestionnaire de périphériques sur votre ordinateur.
Dès que l'objet série est initialisé, nous devons maintenir le programme pendant deux secondes pour que la communication série soit établie. Cela peut être fait en utilisant la ligne ci-dessous:
temps de sommeil (2)
Maintenant, nous pouvons lire ou écrire n'importe quoi depuis / vers notre carte Arduino.
La ligne suivante lira tout ce qui vient d'Arduino et l'imprimera sur la fenêtre shell
imprimer ArduinoSerial.readline ()
Vous pouvez également affecter la valeur à une variable et l'utiliser pour les calculs.
La ligne suivante écrira la valeur du paramètre sur la carte Arduino.
ArduinoSerial.write ('1')
Cette ligne écrira «1» sur l'Arduino. Vous pouvez envoyer n'importe quoi, des décimales aux chaînes en utilisant la même ligne.
Maintenant, revenons à notre programme, à l'intérieur de la boucle while infinie, nous avons les lignes suivantes
var = raw_input () #get input from user print "you enter", var #print the input for confirmation if (var == '1'): # if the value is 1 ArduinoSerial.write ('1') #send 1 print ("LED allumée") time.sleep (1) if (var == '0'): #if la valeur est 0 ArduinoSerial.write ('0') #send 0 print ("LED éteint") time.sommeil (1)
La ligne var = raw_input obtiendra toute valeur qui est tapée dans le script Shell et affectera cette valeur à la variable var .
Plus tard, si la valeur est 1, il imprimera «1» en série sur Arduino et si 0, il imprimera «0» en série sur Arduino. Le code de notre programme Arduino (discuté ci-dessus) nous fera basculer la LED en fonction de la valeur reçue.
Une fois le programme complet terminé, votre script devrait ressembler à ceci ci-dessous
Cliquez maintenant sur Exécuter -> Exécuter le module ou appuyez sur F5, cela pourrait vous demander de sauvegarder le programme, puis de le lancer.
Contrôle de la LED avec Python et Arduino:
Le fonctionnement de ce projet est assez simple. Téléchargez le programme sur votre Arduino et vérifiez qu'il est connecté au même port COM que celui mentionné dans le programme python. Ensuite, lancez le programme Python comme mentionné ci-dessus.
Cela lancera un script shell python comme indiqué ci-dessous. La fenêtre de gauche est la fenêtre shell montrant la sortie et la fenêtre de droite est le script montrant le programme.
Comme vous pouvez le voir, la chaîne «Salut !, je suis Arduino» entrée dans le programme Arduino est reçue par le Python et affichée sur sa fenêtre shell.
Lorsque la fenêtre shell demande d'entrer des valeurs, nous pouvons entrer 0 ou 1. Si nous envoyons 1, la LED sur la carte Arduino s'allumera et si nous envoyons 0, la LED sur notre carte Arduino s'éteindra. Montrer une connexion réussie entre notre programme Arduino et Python.
Il existe deux programmes ci - dessous, l'un à télécharger et à exécuter à partir d'Arduino et le second à exécuter à partir de Python Shell dans Windows.
J'espère que vous avez compris le projet et que vous avez pu le faire fonctionner. Sinon, postez votre problème dans le commentaire ci-dessous et je serai heureux de vous aider. Dans notre prochain projet, nous allons apprendre ce qui peut être fait d'autre avec Python et Arduino en explorant en profondeur d'autres modules python comme Vpython, gamepython, etc. Jusque-là, restez à l'écoute….