Pages: [1]   Go Down
Author Topic: Menu LCD simple  (Read 1895 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Full Member
***
Karma: 0
Posts: 128
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Je souhaiterai réaliser un menu simple sur LCD 2 lignes. Juste afficher ceci sur chaque "page".

Quote
"titre param"
valeur param


Ma question porte juste sur de la conception lié uniquement à l'affichage des données qui sont aussi gérées par d'autres classes. Les transitions seront commandés directement par le main pour l'instant.

Typiquement j'ai déjà implémenté une classe alarm et une classe alarmManager qui permettent de programmer des alarmes basées sur les informations tirées du composant DS1307 (horloge sur pile CMOS).

J'ai donc commencé ma classe LcdMenu et voici le genre de questions que me pose:
- dois-je utiliser une machine à état pour gérer mes transitions d'affichage de "page" ou autrement avec un simple indice qui permet de passer d'un item de tableau au suivant.
- est-ce ma classe LcdMenu qui doit contenir le container (queue tableau etc...) si oui quel type est préférable.

Un exemple concret d'affichage serait :
Quote
ALARM 01
06:40:00

Ces données, le titre et l'heure sont déjà gérées par la classe AlarmManager d'où ma question, ma classe LcdMenu doit elle gérer un container tout de même tel une queue ou autre.

Par écran je n'aurais que 2 String à afficher.

Si vous  avez des tutos merci de m'indiquer les liens.
Merci
Logged

Sophia-Antipolis (06)
Offline Offline
God Member
*****
Karma: 4
Posts: 618
Rejoignez le club !
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Le plus simple est effectivement un tableau et un indice.
Tu peux faire un tableau d'un type complexe (nouvelle classe menuItem) qui référence les deux lignes (et sera étendable plus tard avec par exemple un temps d'affichage avant saut automatique).

Note que dans un microcontrôleur, les appels de fonctions consomment beaucoup de mémoire (et sont limités par la taille de la pile). Fais donc attention aux appels en cascade d'une classe à l'autre (méthode "refresh" qui appellerait une fonction "display" de la classe menuItem).

Il n'y aura pas de tuto spécial. Même si quelqu'un l'a déjà fait, tu es déjà suffisamment avancé pour le faire à ta propre mode.
Logged

France, Nice
Offline Offline
Full Member
***
Karma: 3
Posts: 194
www.Zartronic.fr
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour epanda,

a) La librairie menu existe déjà pour Arduino voir :

La librairie Menu d'Arduino :
http://www.arduino.cc/playground/Code/Menu

Voir aussi les idées dans :
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1273349195

b) C'est souvent aussi bien de développer sa propre librairie, mais tu peux aussi améliorer celle qui existe et soumettre la nouvelle version à la communauté.

c) n'oublie pas que tu es sur un micro avec 2K de mémoire et pas un pc avec 4 Go ... , pour la performance : machine a état, le moins de c++ possible, éviter les strings ...

A+ Teiva

www.Zartronic.fr : Votre source Arduino en France

Logged


www.Zartronic.fr : Arduino & Robotique

Pages: [1]   Go Up
Jump to: