Bibliothèque RoboEyes pour MicroPython
Bonjour à tous,
Il arrive de temps à autre que l'on tombe sur une petite perle du net.
A propos de RoboEyes
Il y a quelques mois, j'ai découvert RoboEyes pour Arduino (de FluxGarage.com).
![]() |
Credit: RobotEye par FluxGarage.com |
dont il est possible de voir les caractéristiques sur cette vidéo et cette autre vidéo.
Je suis instantanément tombé sous le charme... <3
RoboEyes pour MicroPython
Comme je suis plutôt MicroPython qu'Arduino, j'ai voulu faire un portage sous MicroPython pour pouvoir jouer avec cette magnifique bibliothèque.
Voila qui est fait! La bibliothèque micropython-roboeyes est maintenant publiée sur GitHub.
Brancher un écran est très facile... surtout si c'est écran OLED I2C:
Et le résultat est plutôt convaincant comme en témoigne la vidéo ci-dessous:
Pour, au final, un code assez facile à appréhender:
from machine import I2C, Pin from roboeyes import * import ssd1306 i2c = I2C( 1, sda=Pin.board.GP6, scl=Pin.board.GP7 ) lcd = ssd1306.SSD1306_I2C( 128, 64, i2c, addr=0x3d ) def robo_show( roboeyes ): global lcd lcd.show() # Plug RoboEyes on any FrameBuffer descendant robo = RoboEyes( lcd, 128, 64, frame_rate=100, on_show = robo_show ) robo.set_auto_blinker( ON, 3, 2) robo.set_idle_mode( ON, 2, 2) while True: robo.update() # update eyes drawings
La bibliothèque offre de nombreuses possibilités de création géométrique pour les yeux (voyez l'exemple test_basic.py).
Les fonctionnalités sont également détaillées dans les exemples et la documentation de l'API RoboEyes vous permettra de rapidement prendre le contrôle des yeux.
Avantages apportés par MicroPython
Le FrameBuffer
Comme l'implémentation est basée sur le FrameBuffer de MicroPython, tous les écran dérivant de FrameBuffer peuvent être utilisés avec RoboEyes.
Autrement dit, la majorité des afficheurs graphiques sous MicroPython fonctionneront :-)
Portabilité
RoboEyes est Platform Agnostic, il fonctionnera donc sur toutes les plateformes MicroPython. La seule vrai dépendance est le FrameBuffer de MicroPython.
Envie d'en savoir plus?
- Dépôt micropython-roboeyes (GitHub MCHobby)
Écrire un commentaire