Go Down

Topic: Changer de pins pour le LCD (Read 869 times) previous topic - next topic

GeoTrouveRien

Bonjour!

J'ai fait l'exemple CrystalBall du StarterKit, un exemple d''utilisation de l'afficheur LCD 1602.

1/ Puis-je sans conséquence grave changer les pins, employer les 6 et 7 sur Arduino au lieu des 12 et 11 indiquées sur l'exemple, en modifiant l'initialisation :
     LiquidCrystal lcd(12, 11, 5, 4, 3, 2);     ->     LiquidCrystal lcd(7,6, 5, 4, 3, 2);

2/ Puis-je utiliser une pin OUTPUT HIGH comme source de tension haute pour le potentiomètre de réglage de polarisation du lcd, ou la consommation de courant sera trop élevée ? La valeur 10K du potar est-elle critique, ou bien puis-je prendre un vieux 2,2K qui traîne dans mon tiroir ?

3/ Où puis-je trouver des explications détaillées sur l'afficheur (rw, rs, enable ?) et le constructeur LiquidCrystal(); ?

Merci!

68tjs

Question 1 :
A priori je ne vois pas d'inconvénient.

Question 2 :
Atmel le fabricant du micro-controleur recommande de ne pas dépasser 20 mA.
Avec 2,2 k  le courant sera égal à I= 5/2200= 2,3 mA  -> Bête application de la Loi d'Ohm U= R*I.
Donc oui tu peux le faire.
Mais c'est une très mauvaise idée. Quel est l'intérêt ? Je n'en vois strictement aucun, par contre les risques de fausses-manip désastreuses comme une sortie en court-circuit je les vois très bien.
Il existe une sortie 5V sur les connecteurs des cartes Arduino, elle est destinée à alimenter les cartes externes.

Question 3 :
Bien comme d'habitude dans les datasheets.
On trouve absolument partout, y compris sur le site arduino, que le circuit de gestion des afficheurs est un circuit Hitashi HD44780
Donc un coup de google et c'est gagné.
Je vais même t'indiquer un équivalent du HD44780 qui a l'avantage d'avoir une datasheet plus claire : le Sitronix ST7066.

GeoTrouveRien

Merci pour tes lumières, merci aussi pour les gros caractères sinon je n'aurai pas su lire.

Je ne demandais pas des détails sur l'afficheur mais sur la classe LyquidCrystal et son constructeur...
Et j'aimerais comprendre comment réinitialiser l'afficheur, car il semble conserver des instructions (création de glyphe) même après upload d'un nouveau sketch.

Encore merci!

68tjs

Quote
Je ne demandais pas des détails sur l'afficheur mais sur la classe LyquidCrystal et son constructeur.
Et j'aimerais comprendre comment réinitialiser l'afficheur,

Où puis-je trouver des explications détaillées sur l'afficheur (rw, rs, enable ?)

Pas de chance la base de ces renseignements se trouvent dans la datasheet du HD44780.
Où tu appliques la classe LyquidCrystal sans chercher a voir ce qu'il y a dedans en faisant un init(), où tu cherche à comprendre le principe de l'initialisation et là tu es obligé de :
- commencer par étudier le fonctionnement du circuit intégré qui est très particulier à l'initialisation.
- lire le fichier LyquidCrystal.cpp qui se trouve dans le répertoire Library de l'IDE arduino. Tu verra tout ce que fait le constructeur.
Quote
LiquidCrystal_I2C::LiquidCrystal_I2C(uint8_t lcd_Addr,uint8_t lcd_cols,uint8_t lcd_rows)
{
  _Addr = lcd_Addr      ;
  _cols = lcd_cols      ;
  _rows = lcd_rows      ;
  _backlightval = LCD_NOBACKLIGHT   ;
}

skywodd

Bonjour,

Sans aller dans les détails bas niveau du contrôleur HD44780 la doc complète de LiquidCrystal est disponible ici :
http://arduino.cc/en/Reference/LiquidCrystal

Constructeurs : http://arduino.cc/en/Reference/LiquidCrystalConstructor
Initialisation (ou ré-initialisation) : http://arduino.cc/en/Reference/LiquidCrystalBegin
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

GeoTrouveRien

Merci skywodd,
j'ai regardé les pages de références (que j'avais lu avant même d'aller acheter mon kit...) mais je ne sais toujours pas précisément ce que signifient et comment employer rs, rw, enable et autres variables non documentées. De façon générale, je trouve que les pages de références sont assez peu bavardes...

Go Up