oled_i2c.py

Raspberry Pi Model B+ (2014) — Fiche de carte · Fichier : oled_i2c.py · Langage : Python · Usage : Afficher une information locale (capteurs, état) sur un petit écran OLED I2C 0,96"

L'écran OLED SSD1306 128x64 se branche sur le bus I2C (GPIO2/GPIO3, broches 3 et 5) et s'initialise par une séquence de commandes. Le script active le bus, efface le framebuffer puis laisse la main. Sur model-b-plus, activer I2C via raspi-config ou config.txt avant de lancer.

Matériel requis

Une Raspberry Pi Model B+ (BCM2835, connecteur GPIO 40 broches, alimentation micro-USB, audio 3,5 mm 4 pôles). Un module OLED SSD1306 I2C (4 broches), fils dupont.

Câblage

VCC sur 3,3 V, GND sur GND, SDA sur GPIO2 (broche 3), SCL sur GPIO3 (broche 5). Le connecteur J8 de 40 broches groupe ces broches en bout de rangée.

Fonctionnement

smbus écrit l'octet de contrôle 0x00 (commande) ou 0x40 (données) suivi des octets vers l'adresse 0x3C ; la séquence configure charge de pompe, contraste et scan.

Exécution

Copiez le script sur la carte (scp), puis lancez-le avec python3 (ou bash). Installez gpiozero avec sudo apt install python3-gpiozero si absent. Le brochage du connecteur 40 broches figure sur le schéma officiel et dans le site Raspberry Pi.

Variantes

Bibliothèque luma.oled pour texte et polices ; deux écrans via un multiplexeur TCA9548A. Pas de Wi-Fi intégré : Ethernet ou clé USB ; alimentation micro-USB 5 V/1,2 A.

oled_i2c.py

# oled_i2c.py — affiche texte et courbe sur OLED SSD1306 en I2C.
# Deps: sudo apt install python3-smbus i2c-tools (activer i2c_arm)
import time
import smbus

ADDR = 0x3C
bus = smbus.SMBus(1)

def cmd(c):
    bus.write_byte_data(ADDR, 0x00, c)

def data(buf):
    bus.write_i2c_block_data(ADDR, 0x40, buf)

for c in [0xAE, 0xD5, 0x80, 0xA8, 0x3F, 0xD3, 0x00, 0x40, 0x8D, 0x14,
          0xA1, 0xC8, 0xDA, 0x12, 0x81, 0xFF, 0xD9, 0xF1, 0xDB, 0x40,
          0xA4, 0xA6, 0xAF]:
    cmd(c)

data([0xF0] * 1024)  # efface le framebuffer 128x64
print("OLED initialise, i2cdetect -y 1 pour verifier")

← Retour à la fiche