- Conditions préalables:
- Installation de VPython sur votre ordinateur:
- Programmation VPython:
- Préparer votre Arduino:
- Travail:
Dans notre tutoriel précédent, nous avons appris comment installer python sur notre machine Windows et comment interfacer Arduino avec python à l'aide d'un simple projet de contrôle de LED. Si vous êtes nouveau, je vous recommande fortement de revenir au tutoriel précédent car ce tutoriel est une continuation du même.
Vous avez peut-être déjà commencé à vous demander pourquoi nous aurions besoin de python avec Arduino si tout ce qu'il pouvait faire était simplement de communiquer via le port série. Mais Python est une plate-forme de développement très puissante sur laquelle de nombreuses applications intéressantes dans lesquelles l'apprentissage automatique, la vision par ordinateur et bien plus encore peuvent être intégrés. Dans ce didacticiel, nous allons apprendre comment créer une petite interface graphique à l'aide de Python. Pour ce faire, nous aurons besoin d'un module appelé Vpython. Le tutoriel suivant est applicable uniquement pour les utilisateurs Windows puisque pour les utilisateurs Mac ou Linux, la procédure est différente.
À la fin de ce didacticiel, nous allons apprendre comment créer une interface graphique simple à l'aide de Python. Nous allons faire une petite animation qui répond à la valeur du capteur à ultrasons qui est attaché à l'Arduino. Cette application suit l'objet à l'aide d'un capteur à ultrasons et l'affiche sous forme graphique sur ordinateur à l'aide de VPython. Lorsque nous déplaçons l'objet, le capteur à ultrasons détecte la distance et envoie ces informations au programme Python en utilisant Arduino et il déplacera également l'objet dans l'ordinateur. Cela semble intéressant, non! Alors commençons…
Conditions préalables:
- Arduino (toute version)
- Capteur à ultrasons HC-SR04
- Connexion des fils
- Ordinateur avec Python
- Connaissances sur le tutoriel précédent
Installation de VPython sur votre ordinateur:
Dans notre précédent tutoriel, nous avons déjà appris comment installer python sur votre machine et comment se déplacer et créer un programme simple avec Arduino. Nous avons maintenant installé Visual Python (VPython) en plus de cela afin que nous puissions créer des graphiques sympas en utilisant Python pour Arduino. Pour les étapes simples ci-dessous pour démarrer avec VPython
Étape 1. Assurez-vous que Python est déjà installé conformément aux instructions du tutoriel précédent.
Étape 2. Cliquez sur VPython pour télécharger le fichier exe pour Visual Python. Ne choisissez pas d'installer une version 64 bits même si votre ordinateur fonctionne sur 64 bits. Suivez simplement le lien donné.
Étape 3. Lancez le fichier exe et suivez la configuration. Ne modifiez pas le chemin du répertoire par défaut et assurez-vous d'avoir sélectionné «installation complète».
Étape 4. Une fois installée, vous devriez trouver une nouvelle application nommée «VIDLE (VPython)» sur votre bureau ou panneau d'application comme indiqué ci-dessous.
Étape 5. Lancez l'application et vous devriez obtenir une fenêtre comme indiqué ci-dessous.
Étape 6. C'est la fenêtre dans laquelle nous taperons le programme pour VPython. Mais, pour l'instant, vérifions si Vpython fonctionne en ouvrant un exemple de programme. Pour ce faire, sélectionnez Fichier-> Ouvrir-> Rebondir
Étape 7. Vous devriez ouvrir un exemple de programme. Essayez de lancer le programme en utilisant Exécuter -> Exécuter le module . Si tout fonctionne comme prévu, vous devriez obtenir l'écran suivant.
Vous devriez voir la fenêtre Shell (à gauche) avec deux >>> indiquant une compilation réussie et la fenêtre réelle (avant) qui montre une balle rebondissant.
Étape 8. Vous pouvez également essayer d'autres programmes d'exemple pour découvrir la puissance de VPython, par exemple le programme d'exemple appelé «moteur électrique» vous étonnera par l'écran suivant.
Étape 9. Cela signifie que votre VPython est prêt à être utilisé et que vous pouvez passer à la rubrique « Programmer votre Vpython ».
Étape 10. Sinon, si vous faites partie des nombreuses personnes qui obtiennent une "erreur numpy" , ne perdez pas espoir car nous réglerons ce problème dans les étapes suivantes
Étape 11. Ouvrez Mon ordinateur -> lecteur C -> Python 27 -> Scripts -> local.bat . Cela lancera une invite de commande comme indiqué ci-dessous
Étape 12. Tapez maintenant "pip install --upgrade numpy" et appuyez sur Entrée. La nouvelle version de Numpy devrait être installée sur votre machine. Vous devrez peut-être attendre un certain temps si votre connexion Internet est lente.
Étape 13. Une fois terminé, vous pouvez revenir à l'étape 4 et essayer un exemple de programme et vous devriez pouvoir le faire fonctionner.
Programmation VPython:
Ensuite, nous commençons à programmer dans notre fenêtre VPython. Dans ce programme, nous allons créer deux objets rectangulaires 3D, l' un sera placé au centre de l'écran de référence au capteur ultrasonique stationnaire et l'autre sera à un emplacement dynamique basé sur la distance entre le capteur américain et l'objet (papier).
Le code Python complet se trouve à la fin de cette page. Plus bas, j'ai expliqué ce code python en les divisant en petits jonques significatifs.
La première ligne serait d' importer la bibliothèque visuelle afin que nous puissions créer des objets 3D. La ligne ci-dessous fait de même.
depuis l'importation visuelle *
Vous devriez être familier avec les quatre lignes suivantes, car nous les avons déjà utilisées dans notre tutoriel précédent. Ils sont utilisés pour importer la bibliothèque série et temporelle et également établir une connexion série avec Arduino à COM18 avec 9600 en baudrate
import serial #Serial importé pour le temps d'importation de la communication série #Requis pour utiliser les fonctions de délai ArduinoSerial = serial.Serial ('com18', 9600) #Créer un objet de port série appelé arduinoSerialData time.sleep (2) # wait for 2 secounds for the communication to s'établir
Maintenant, il est temps de créer des objets. J'ai créé deux rectangles 3D nommés obj et wall. Le wallL est un mur fixe de couleur cyan placé au centre de l'écran et l' obj est l'objet mobile de couleur blanche. J'ai également placé un texte «capteur américain» près de l'objet mural.
obj = box (pos = (- 5,0,0), size = (0,1,4,4), color = color.white) wallL = box (pos = (- 1,0,0), size = (0,2, 12,12), color = color.cyan) text (text = 'US sensor', axis = (0,1,0), pos = (- 2, -6,0), depth = -0,3, color = color.cyan)
Je suis sûr que les trois lignes ci-dessus seraient apparues en grec et en latin pour la plupart des premiers lecteurs, mais avec le temps, vous seriez en mesure de le comprendre. Tout ce qui est mentionné entre parenthèses est des coordonnées (x, y, z). Et ces coordonnées sont très similaires à celles que nous trouvons dans notre classe de géométrie du secondaire, comme indiqué ci-dessous.
Maintenant, le graphique et le port série sont prêts, il ne nous reste plus qu'à lire les données et à placer le «obj» (rectangle blanc) à un endroit en fonction des données provenant de l'Arduino. Cela peut être fait par les lignes suivantes, où obj.pos.x contrôle la position de coordonnée X de l'objet (rectangle blanc).
t = int (ArduinoSerial.readline ()) #lisez les données série et imprimez-les sous forme de ligne t = t * 0,05 obj.pos.x = t
Préparer votre Arduino:
Le script Python est prêt à écouter les valeurs du port COM et à animer les graphiques en conséquence, mais notre Arduino n'est pas encore prêt. Nous devons d'abord connecter le capteur à ultrasons à l'Arduino selon le schéma de circuit suivant. Si vous êtes complètement nouveau sur le capteur américain et Arduino, vous devez vous rabattre sur le didacticiel de mesure de distance basé sur Arduino et ultrasons.
Ensuite, téléchargez le programme Arduino donné à la fin de cette page. Le programme est auto-expliqué en utilisant des lignes de commentaires. Nous savons que le capteur à ultrasons fonctionne en calculant le temps nécessaire à l'impulsion pour frapper un objet et revenir en arrière. Cette valeur est calculée en utilisant la fonction PulseIn dans Arduino. Plus tard, le temps pris est converti en distance en utilisant la ligne ci-dessous.
dist = (prise de temps / 2) / 2,91;
Ici, la distance est calculée en millimètres (mm).
Travail:
Le fonctionnement du projet est simple. Lancez le programme Python et placez un objet avant le capteur américain comme indiqué ci-dessous:
Maintenant, lancez le programme python et vous devriez être en mesure de remarquer le déplacement du rectangle blanc avec votre papier, la distance entre votre papier et le capteur sera également affichée dans la fenêtre de la coque comme le montre l'image ci-dessous.
C'est ainsi que nous pouvons suivre le mouvement de l'objet à l'aide d'un capteur à ultrasons et de Python avec Arduino.
J'espère que vous avez compris le projet et que vous avez aimé en construire un. Ce n'est qu'une étape subtile vers Python, mais vous pouvez créer beaucoup plus de choses créatives en utilisant cela. Si vous avez une idée de ce qu'il faut construire avec ce message, postez-les dans la section des commentaires et utilisez les forums pour obtenir de l'aide technique. Rendez-vous avec un autre projet python intéressant.