Je termine un projet - un réveil de jeu LED. Étant donné qu'il s'agit d'une horloge, j'ai besoin d'avoir un moyen d'économiser de l'énergie, que mon Uno R3 + mange actuellement comme un politicien. Ma question est la suivante: comment éteindre l'écran ou éteindre le rétroéclairage à l'aide d'un logiciel uniquement sur un écran LCD Hitachi HD44780 16x2? Ou comment définir un mode veille sur un composant? La façon dont je prévois de l'éteindre est avec un télémètre à ultrasons, si je m'approche, il s'allume à l'écran. Si quelque chose que je dis n'a pas de sens, demandez-moi de clarifier, je suis un peu pressé.
arduino-uno
lcd
M. Floppy
la source
la source
Réponses:
Placez un transistor en série avec une résistance 33R entre la broche LCD 16 (masse du rétroéclairage) et GND et allumez et éteignez le transistor avec une broche numérique. De cette façon, vous pourrez activer et désactiver le rétro-éclairage.
Vous pouvez avoir un contrôle plus fin de la luminosité si vous mettez une impulsion PWM sur ladite broche. Appelez simplement
analogWrite(D3, value)
où sevalue
trouve la luminosité souhaitée.Les schémas sont ci-dessous. Il s'agit de l' écran LCD Freetronics 16x2 .
la source
Au lieu de lier le rétro-éclairage directement à V + et GND, connectez-le à une broche PWM (vous devrez peut-être utiliser un pilote séparé si la broche ne peut pas générer / absorber suffisamment de courant). Cela vous permettra de contrôler la luminosité via
analogWrite()
.Éteignez l'écran LCD (
LiquidCrystal::noDisplay()
) lorsque vous ne l'utilisez pas activement. Le contenu restera en mémoire mais les segments LCD ne seront pas entraînés.Réglez les différents bits dans le
PRR
registre pour désactiver les périphériques non utilisés.Et n'oubliez pas de mettre le processeur en veille lorsqu'il n'a pas besoin de fonctionner . Consultez la section «Gestion de l'alimentation et modes veille» de la fiche technique pour plus d'informations à ce sujet et sur le
PRR
registre, ainsi que la<avr/sleep.h>
documentation d'AVR Libc.la source