3.5. La classe LED

L’élément matériel le plus simple de la caméra est constitué de ses LED embarquées. La plupart des cartes possèdent une LED RVB (rouge, verte, bleue). machine.LED est la classe dédiée à leur contrôle ; pas de numéro de broche, pas de résistance, pas de circuit – la recherche, la limitation de courant et le câblage sont gérés par la caméra elle-même.

import time
from machine import LED

red = LED("LED_RED")
red.on()
time.sleep(5)
red.off()

Un « hello world » matériel complet : importer la classe, construire une instance avec le nom de la couleur, l’allumer, attendre, l’éteindre. La LED reste visiblement allumée pendant la pause de cinq secondes.

Le red.off() de fin est symétrique au red.on() de début et rend le nettoyage explicite. Les LED embarquées se réinitialisent aussi automatiquement à la fin du script. À mesure que les scripts s’allongent, se reposer sur le nettoyage de fin de script devient fragile ; associer chaque .on() à un .off() explicite est l’habitude qui rend les longs scripts prévisibles.

3.5.1. Constructeur et méthodes

Le constructeur prend l’une des valeurs "LED_RED", "LED_GREEN" ou "LED_BLUE". Chaque instance expose quatre méthodes :

  • on() – l’allumer.

  • off() – l’éteindre.

  • toggle() – inverser l’état actuel.

  • value() – sans argument, renvoie l’état actuel (0 ou 1) ; avec un argument, le définit.

Un clignotant, utilisant le motif de boucle principale :

import time
from machine import LED

led = LED("LED_RED")

while True:
    led.toggle()
    time.sleep_ms(500)

Utilisez les LED embarquées à des fins d’indication et d’état : un battement de cœur qui clignote chaque seconde, un flash rouge en cas d’erreur, une impulsion verte lorsqu’une lecture de capteur est dans la plage attendue.