L’Arduino et Python3

linux & fun

L’Arduino et Python3

Cette photo a été prise pendant les tests, l’installation est provisoire. La breadboard ou planche de prototypage en français sera retiré au profit de soudure, tout comme les câbles qui seront raccourcis au maximum seul l’emplacement est définitif.

Le Matériel utilisé

  • Un Arduino ( dans mon cas un clone Arduino uno )
  • Un écran LCD 16X2 ( référence HD44780 )
  • Une breadboard
  • Une résistance 220ohm
  • Un lot de câbles Dupont
  • Un câble Usb A B
  • Un potentiomètre 10k ohm (optionnelle)
  • Un boîtier de protection pour Écran LCD 1602 en Acrylique (optionnelle)

Ci-dessous l’arrière du clavier ou est branché l’Arduino.

Introduction

Il existait déjà cette ensemble de programmation sous python 2.7 dans différente variante. Ceci est juste un fork modifié pour mon usage sous python3 vous pouvez retrouver ici l’article qui m’a servi de base en anglais. Plusieurs différences à noter dont la principale est l’Arduino en lui-même qui est un original là ou moi j’utilise un clone cela implique un changement dans les lignes de code, je vous l’explique un peu plus bas.

Ensuite la suppresion du module click qui n’as aucune utilité pour moi. Et évideament la conversion du script de python 2.7 vers 3.8.5 .

Premiers pas

J’ai donc récupéré les scripts afin de les modifier à ma guise. Commençons part le programme a initialisé dans l’Arduino, là rien de bien sorcier seul modification à faire pour ma part est la chaîne de caractère permettant de s’assurer que l’on veut communiquer avec l’écran LCD. Mais d’abord il m’a fallu déterminer le nom sous lequel apparaît mon clone avec la fonction Serial.

Pour cela rien de plus simple, l’IDE Arduino a des exemples inclus qui permette de faire cela.

Fichier -> Exemples -> LiquidCrystal ->SerialDisplay

Une fois l’exemple ouvert il faut le télécharger sur l’Arduino, puis ouvrir le shell.

pip install pyserial
python -m serial.tools.miniterm

Voici ce que me donne la commande serial.tools chez moi.

Je connais donc comment l’Arduino apparait en serial. Je prends note du nom qui servira pour le script python.

Pour la conversion du script et sa modification je me suis aidé du site PythonConverter qui m’a réglé quelques soucis. Une fois converti il faut néanmoins vérifier et modifier quelques lignes a la main.

Premièrement l’ajout de .encode qui permet d’encoder pour envoyer sur le LCD, les communications réseaux et série doivent se faire avec des objets de type bytes. Ensuite la partie qui permet de détecter automatiquement l’Arduino avec le module RE, comme j’utilise un clone et non un Arduino officiel il n’apparaîtra pas comme Arduino, mais comme « Usb2.0Serial ». Pour finir je modifie également la variable START_MAKER avec seulement un « @ » qui permet de s’assurer que l’on veut envoyer des informations a l’Arduino.

Il reste plus qu’as modifier également le programme de l’Arduino en téléchargeant cette foissi le script du site sans oublier de modifier la chaine  » Clujlusjarr7  » part simplement  » @ « .

Si vous le désirez vous retrouverez l’ensemble des scripts sur mon Gitlab.

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.