MicroPython: Mini I2C Moteur & joystick 5 Position de SeeedStudio (Grove)
Bonjour à tous,
J'ai eu l'occasion de développer deux nouveaux pilotes MicroPython. Cela concerne les modules Mini I2C driver (DRV8830) de SeeedStudio et Joystick 5 positions de SeeedStudio (mais fonctionne aussi pour le 6 positions DIP switch).
Mini i2C Motor, Joystick I2C, 6 Positions DIP switch |
L'intérêt de ces modules est qu'ils disposent d'une connectique Grove I2C... donc facile à brancher sur un Arduino.
En utilisant un Level Shifter compatible I2C, il est très facile de les brancher sur des microcontrôleurs 3.3V comme le Raspberry-Pi Pico.
Voici donc les deux schémas de raccordement utilisés.
Brancher le Mini I2C Motor sur un Pico (source: esp8266-upy) |
Brancher le Joystick 5 positions sur un Pico (source: esp8266-upy) |
Du code
Dans les deux cas, il est très simple d'utiliser les modules grâce aux pilotes publiés sur GitHub (voir section Ressources ci-dessous).
Voici, par exemple, le contrôle du mini I2C moteur.... rien de compliqué:
from machine import I2C from drv8830mot import DRV8830 import time # Pico - I2C(0), sda=IO8, scl=IO9 i2c = I2C(0, freq=100000) # Activer les deux controleurs moteurs mot1 = DRV8830( i2c, address=0x65 ) # Chanel 1 mot2 = DRV8830( i2c, address=0x60 ) # Chanel 2 print( 'Marche avant plein vitesse' ) mot1.drive( 63 ) mot2.drive( 63 ) time.sleep( 2 ) print( 'Stop' ) mot1.stop() mot2.stop() time.sleep( 1 ) print( 'Marche Arrière mi-vitesse' ) mot1.drive( -32 ) mot2.drive( -32 ) time.sleep( 2 ) print( 'Freiner les moteurs' ) mot1.brake() mot2.brake() time.sleep( 1 ) print( 'Stop moteurs' ) mot1.stop() mot2.stop() print( 'Thats all folks' )
Ressources
- Pilote MicroPython pour Mini I2C Motor controler (esp8266-upy)
- Pilote MicroPython pour Joystick 5 Positions (6 DIPs) (esp8266-upy)
Bon amusement
Écrire un commentaire