User manual
16 17
3.6. Écran LC
L’écran LC est idéal pour donner les valeurs du capteur et les messages de notifications,
lorsque le robot n’est pas relié à un ordinateur. La sortie de l’écran LC fonctionne exacte-
ment comme sur une interface séquentielle – mais il y a bien évidemment quelques
particularités. Regardez au maximum les programmes d’exemples, vous comprendrez
plus facilement comment vous pouvez utiliser l’écran LC.
Cette fonction doit toujours être appelée au démarrage du programme, afin d’initialiser le
LCD.
Cette fonction (et write4BitLCDData) ne nécessite rien de particulier – nous ne faisons
que décrire ici pour vous expliquer rapidement comment est commandé l’écran.
Le LCD doit fonctionner en mode 4 Bit, impliquant l’utilisation de 4 lignes de données
et de 2 circuits de commande (Enable (EN) et Register Select (RS), Read/Write (R/W)
est relié en permanence à la masse, le LCD ne servant qu’à l’écriture. La lecture n’est
pas possible et pas nécessaire). Les 4 lignes de données sont branchées au registre
de glissement comme les LED, afin de garder des ports libres. De façon analogue à la
fonction setLED, setLCDD fixe les lignes de données du LCD. Toutefois, cette fonction
fixe également le signal Enable, afin que le LCD prenne en charge les données.
Les bytes à transmettre sont partagé afin de transférer les ordres et les données 8 bit
au LCD. La fonction write4BitLCDData prend en charge ce processus : les données 8 bit
sont partagées en 4 « Nibbles » puis transférées.
Cette fonction appelle write4BitLCDData et fixe les lignes RS sur low afin d’émettre une
commande au LCD.
Envoie au LCD la commande d’effacer son contenu.
Efface une plage particulière de l’écran. Les paramètres sont : ligne, position de départ
de la ligne et longueur de la plage à effacer.
Exemple :
Fixe le curseur texte à une position précise sur l’écran. Le paramètre « line » est 0 pour
la ligne supérieur et 1 pour la ligne inférieure. Le paramètre « pos » doit être compris
entre 0 et 15 pour les LCD 2 x 16.
Envoie un caractère à l’écran - cela fonctionne de la même manière que la fonction
writeChar pour les interfaces séquentielles. Vous devez vous assurer que le curseur de
l’écran se trouve à la bonne position. Sinon le module n’affichera pas votre message !
Exemple :
De la même manière que pour la fonction des interfaces séquentielles, writeStringLCD
envoie une cha
îne de caractères terminée par zéro du SRAM au LCD. Vous ne devez utiliser
cette fonction que si le texte est r
éellement dans la RAM et non pas prédéfini. Le macro :
Convient mieux, puisque du texte va directement être lu depuis la mémoire, sans un
détour par la mémoire vive.
Grâce à cette fonction, vous pouvez afficher un texte d’une longueur précise sur le LCD.
Les paramètres sont identiques dans la mesure où il s’agit de la même fonction pour les
interfaces séquentielles.
Afin de simplifier l’émission du texte sur le LCD, vous pouvez écrire sur les deux lignes
du LCD avec cette fonction et un appel.
Exemple
Qui est déjà une fonction connue pour les interfaces séquentielles pour afficher les
calculs dans les formats BIN, OCT, DEC ou HEX sur le LCD.
Le writeIntegerLenghtLCD est identique, jusqu’au nom, à une fonction connue pour les
interfaces séquentielles.
3.7. Bus SPI et EEPROM SPI
Sur le bus SPI (=Serial Peripheral Interface) sont reliés l’EEPROM et le registre à
glissement 8 Bit. Un socle pour un autre AT25256 compatible EEPROM (par exemple ST
M 95256 avec un bo
îtier DIP à 8 pôles) peut être soudé. Vous pourriez contrôler d’autres
IC SPI, mont
és en cascade sur la carte mère avec le registre à glissement – nous
vous conseillons cependant de pr
éférer l’usage de bus I²C et de limiter ces méthodes
alternatives pour des utilisations pr
écises, dans lesquelles un bus I²C ne peut être utilisé !
Nous avons prévu le système avec les fonctions spécifiques pour accéder à l’EEPROM
et le registre à glissement. Ainsi, nous vous déconseillons d’utiliser directement le bus
SPI pour votre programme. Mais si vous avez besoin d’accéder au bus SPI, les fonctions
suivantes vous seront utiles.
Transfère un byte de données sur un bus SPI.