Différences entre versions de « FEATHER-MICROPYTHON-OLED »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
Ligne 87 : Ligne 87 :
  
 
==== Remplir ====
 
==== Remplir ====
Remplir un écran ou un rectangle de point blanc (allume tous les Pixels).
+
Remplir un écran ou un rectangle de point blanc (allume tous les Pixels) ou points noir (éteint les pixels).
 
 
 
<syntaxhighlight lang="python">  
 
<syntaxhighlight lang="python">  
# Rempli l'écran en blanc
+
lcd.fill(1) # Rempli l'écran en blanc
display.fill(1)
+
lcd.show() # Afficher!
display.show() # Afficher!
 
  
 
# Remplis un rectangle en noir
 
# Remplis un rectangle en noir
 
# fill_rect( x, y, w, h, c )  
 
# fill_rect( x, y, w, h, c )  
display.fill_rect( 10,10, 20, 4, 0 )
+
lcd.fill_rect( 10,10, 20, 4, 0 )
display.show()
+
lcd.show() # Afficher!
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Version du 16 septembre 2018 à 21:44

Introduction

MicroPython permet d'utiliser très facilement un écran OLED I2C basé sur le contrôleur ssd1306.

Ce tutoriel couvre plusieurs modèles de cartes sous MicroPython:

Installer la bibliothèque

Cette bibliothèque est un pilote SSD1306 I2C et SPI (MicroPyhton GitHub) pour écran OLED ssd1306 pouvant être utilisé avec MicroPython.

L'utilisation de ce pilote requière l'installation d'une bibliothèque spécifique. Vous la trouverez ici:

Download-icon.pngTéléchargez la bibliothèque ssd1306

Le pilote pour bus I2C utilise l'adresse 0x3c par défaut.

Vous devrez copier les fichiers suivant sur votre carte MicroPython

  • ssd1306.py dans le répertoire racine.

Pour savoir comment copier vos fichiers sur votre carte MicroPython, vous pouvez vous référer aux ressources suivantes:

Ampy

Tlogo-micropython-Debugger.jpg

Outil simplifié de transfert de fichiers et de contrôlez de carte depuis une connexion série. ESP8266 compatible.

RSHell

Tlogo-micropython-Debugger.jpg

Transférez des fichiers et contrôlez votre carte depuis une simple connexion série. ESP8266 compatible.

 

Puis utiliser le code suivant pour faire fonctionner votre interface. Tester le code dans une session REPL ou WebREPL.

Brancher

OLED Featherwing

Le FeatherWing OLED s'insère simplement sur la carte Feather (ex: Feather ESP8266) et propose une résolution de 128 x 32 pixels.

FEATHER-MICROPYTHON-OLED-10a.png FEATHER-MICROPYTHON-OLED-10b.png

Le bus I2C (SDA, SCL) utilise respectivement les broches 4 et 5 (avec des pull-up de 2.2K).

La carte propose par ailleurs 3 boutons A, B, C branchés respectivement sur les broches 0, 16, 2 du Feather.

Utiliser

Pour tester la bibliothèque, il faut créer une instance du pilote SSD1306.

Celle-ci sera stockée dans le variable lcd. Voir la section "Créer lcd" correspondant à votre cas de figure puis poursuivre dans la section "Tester lcd".

Détecter l'adresse I2C

Si vous ne connaissez pas l'adresse I2C utilisé par votre écran OLED, vous pouvez faire un scan du bus I2C.

from machine import Pin, I2C
i2c = I2C( sda=Pin(4), scl=Pin(5) )
i2c.scan()

Ce qui produit le résultat suivant correspondant à 0x3C dans le cas d'un FeatherWing OLED:

[60]

Créer lcd

pour FeatherWing OLED

FEATHER-MICROPYTHON-OLED-10b.png

from machine import Pin, I2C
i2c = I2C( sda=Pin(4), scl=Pin(5) )
import ssd1306
lcd = ssd1306.SSD1306_I2C( 128, 32, i2c )

Tester lcd

Dans les exemples ci-dessous, voici les paramètres que vous retrouverez dans les différents appels de fonction: FEATHER-MICROPYTHON-OLED-position.png

  • x : position du point par rapport au côté gauche de l'écran.
  • y : position du point par rapport au dessus de l'écran.
  • w : largeur (du mot Width).
  • h : hauteur (du mot Height).
  • c : couleur (1=point allumé, 0=point éteint)

Remplir

Remplir un écran ou un rectangle de point blanc (allume tous les Pixels) ou points noir (éteint les pixels).

 
lcd.fill(1) # Rempli l'écran en blanc
lcd.show()  # Afficher!

# Remplis un rectangle en noir
# fill_rect( x, y, w, h, c ) 
lcd.fill_rect( 10,10, 20, 4, 0 )
lcd.show()  # Afficher!

Où acheter