Environnement virtuel Python

Il est possible de travailler en Python dans des environnements isolés afin d’éviter des incompatibilités au niveau des versions et des dépendances de modules Python.

Pour installer l’environnement virtuel ’virtualenv’ pour Python 2.x, taper la commande :

Lire la suite…
Catégories :python, Raspberry Étiquettes :

Utilisation d’une carte SD en MicroPython

Un petit article sur l’utilisation d’une carte SD en MicroPython. Pour les tests, je vais utiliser un ESP32 Wrover TTGO T8 qui a l’avantage d’intégrer un lecteur SD :

Le lecteur SD est accessible en utilisant le protocole SPI et utilise les broches suivantes qui sont indiquées sur le module ESP32 :

Il faut télécharger un module qui prend en charge l’utilisation du SD à l’adresse suivante sur Github.

Je vous livre un petit programme de test qui permet de créer un fichier sur la carte SD :

#
# Utilisation carte SD
#
# Matériel :
#             ESP32 Wrover TTGO T8 v1.7
#             MicroPython 1.10
#
# Auteur : iTechnoFrance
#
from machine import SPI, Pin
import os, esp32, time
# module sdcard à télécharger sur
# https://github.com/micropython/micropython/tree/master/drivers/sdcard
import sdcard
# déclaration SPI SD CARD TTGO T8
spi = SPI(1, sck=Pin(14), mosi=Pin(15), miso=Pin(2))
# déclaration SD CARD (CS --> GPIO13)
sd = sdcard.SDCard(spi, Pin(13))
# déclaration LED interne TTGO T8
led_interne = Pin(21, Pin.OUT) # GPIO21
os.mount(sd, '/sd')
compteur = 1
while True:
    with open("/sd/compteur.txt", "a") as fichier:
        led_interne.value(True)  # LED interne on pour indiquer une écriture
        fichier.write(str(compteur) + "\n")  # écrit dans le fichier
        led_interne.value(False)  # LED interne off pour indiquer la fin d'écriture
        time.sleep(1)
        if compteur == 10:  # effectue 10 écritures
            fichier.close()  # ferme le fichier
            os.umount('/sd')  # démonte la carte SD
            break  # quitte le programme
        compteur += 1

Catégories :ESP32 Étiquettes : , ,

Créer une station météo sans capteurs en MicroPython

Aujourd’hui, nous allons étudier la possibilité de créer une station météo sans utilisation de capteurs spécifiques.
Notre station devra être capable :
– D’afficher la date et l’heure.
– D’afficher la température, la pression Atmosphérique et le taux d’humidité.
– D’afficher la vitesse du vent et son orientation.
– D’afficher le lever et le coucher de soleil.

Voilà pour le cahier des charges et tout cela en MicroPython; pour les tests nous pourrons utiliser un ESP32 ou un ESP8266.

Lire la suite…

Catégories :ESP32, NodeMCU Étiquettes : , , , ,

Finalisation du bras robotique

Ce projet touche à sa fin, j’ai décidé d’apporter les modifications suivantes au bras :

  • Ajout d’un écran OLED SSD1306.
  • Ajout d’un capteur de gestes PAJ7620.
  • Impression du couvercle.

Le but de ces modification est d’apporter une interface humaine au bras robotique. Effectivement, en lançant le programme, un menu s’affichera sur l’écran OLED et on pourra sélectionner l’action à effectuer grâce au capteur de gestes PAJ7620. Nous y reviendrons dans la suite mais pour l’instant voyons la partie éléctronique et mécanique.

J’ai écrit un certain nombre d’article sur l’utilisation du capteur PAJ7620 en MicroPython (je vous propose de les lire) :

Lire la suite…

Catégories :ESP32, Matériel Étiquettes : , , , ,

Piloter le bras robotique via le capteur de gestes PAJ7620 en MicroPython

Dernièrement, j’ai implémenté en MicroPython l’utilisation du capteur de gestes PAJ7620 (voir l’article https://itechnofrance.wordpress.com/2019/03/13/utilisation-du-capteur-de-gestes-paj7620-en-micropython/ ) puis j’ai mis en œuvre un bras robotique piloté par un ESP32 en MicroPython (voir l’article https://itechnofrance.wordpress.com/2019/03/14/bras-robotise-5-servos-sg90-pilote-par-un-esp32-en-micropython/ ).

Aujourd’hui je vous propose la possibilité de piloter le bras robotique à partir de gestes.

L’article sera bref et je vous donne le programme en MicroPython qui permet cela :

Lire la suite…

Une interface humaine à l’aide du capteur de geste PAJ7620 en MicroPython

Après avoir adapté la librairie du capteur PAJ7620 en MicroPyhon (voir l’article), aujourd’hui je vous propose de mettre en oeuvre le capteur de geste pour l’utilisation de menus et actions sur un écran OLED SSD1306.

L’intérêt principal est d’éviter l’emploi de boutons pour se diriger dans les différents menus.

L’exemple qui suit utilisera 4 gestes pour se diriger dans les menus :

  • Haut / Bas : permet de sélectionner une option dans un menu.
  • rotation Horaire / Anti-horaire : sens horaire valide l’option et ainsi affiche un second menu ou exécute une action; sens anti-horaire permet de revenir sur le menu précédent.

Voici le contenu du programme :

Lire la suite…

Catégories :ESP32, Matériel Étiquettes : , , , ,

Bras robotisé 5 servos SG90 piloté par un ESP32 en MicroPython

Ayant depuis peu une imprimante 3D Geeetech A10, j’ai effectué une recherche sur le fameux site Thingiverse et je suis tombé sur la modélisation d’un bras miniature pour des servos SG90.

Depuis le temps que je souhaitais en réaliser un, voici un rêve qui devient réalité. Désolé mais le tuto est long…

Le matériel nécessaire à la réalisation de ce petit bras sera le suivant :

  • Une imprimante 3D et télécharger les fichiers nécessaires sur le site Thingiverse afin d’imprimer les différentes pièces.
  • 5 servos moteur SG90.
  • Un ESP32 avec Micropython installé.
  • Une plaque Breadboard pour monter la partie électronique.
  • Je vais également prévoir l’impression d’un support boitier pour le bras qui hébergera l’électronique.

La première étape est d’imprimer les différentes pièces du bras; pour ma part j’ai utilisé du PLA blanc avec une impression à 0.15 mm. Attention à bien choisir les fichiers qui ont dans le nom ‘mm’.

Lire la suite…

Catégories :ESP32, impression 3D Étiquettes : , , ,