Skip to content

Afficher un message sur un afficheur LCD i2C

Ce que l'on va faire ici

Voici comment utiliser un afficheur I2C avec Micropython. Ici avec la carte Pi Pico

Le matériel

  • La carte micropython

  • Un module afficheur LCD 1602 I2C (l'afficheur utilise un HD44780 et la com' I2C est faite via un PCF8574) - conso = 1.1mA + Led - Vcc=5V (Si 3.3V fonctionne mais affichage pas terrible..)

Le montage

Sur la Pi Pico, on connecte :

  • les broches SDA/SCL du module connectées en GP16(SDA) /GP17 (SCL) qui corresponde à I2C n°0

  • Vbus (=5V alim USB) ou VSys idéalement ~5V et GND de la carte vers Vcc / GND du module.

Pré-requis

Les fichiers suivant sont à copier sur la flash :

Le plus simple c'est à l'aide de notre utilitaire copy.sh à partir du répertoire où se trouvent les libs.

Dispo ici : https://github.com/dhylands/python_lcd/tree/master/lcd

Le code

from machine import I2C, Pin # import class I2C
from pico_i2c_lcd import I2cLcd # import lib

# The PCF8574 has a jumper selectable address: 0x20 - 0x27
DEFAULT_I2C_ADDR = 0x27

"""Test function for verifying basic functionality."""
print("Running test_main")
i2c = I2C(0,scl=Pin(17), sda=Pin(16), freq=400000) # création de l'objet i2C
lcd = I2cLcd(i2c, DEFAULT_I2C_ADDR, 2, 16) # création de l'objet LCD i2c

lcd.putstr("Hello world !")
#delay(3000)
#lcd.clear()

Notes

Si on ne voit rien ou pas bien, il faut modifier le contraste en tournant le potentiomètre à l'arrière jusqu'à avoir une visibilité correcte. .

Bon à savoir

Pour apprendre à utiliser un afficheur i2C avec micropython, le plus intéressant est de le faire dans l'interpréteur. Voir la page dédiée à la librairie i2c lcd par ailleurs sur ce site pour plus de détails.