Arduino 07Carduino_goodfields_64.jpg07c HARDWARE : afficheurs LCD ...
 
Sommaire

Afficheur  LCD Afficheur LCD Câblage  basique Câblage basique Documentations  LCD Documentations LCD
Photos Photos
La page principale ... La page principale ...
   
Vers le début Vers Page 2 Vers sommaire Afficheur LCD
Un moyen assez courant pour avoir des informations lisibles est l'afficheur LCD. L'ARDUINO n'échappe pas à cette technologie, et c'est même la base pour la plupart de mes montages, avec des LCD de 2 lignes de 16 caractères.
J'a testé et utilise les solutions suivantes :
- 1 LCD 2x16 en câblage basique nécéssitant 7 E/S et 9 fils (avec clavier analogique)
- 1 LCD 4x20 en câblage série 19,2kb (récupéré d'un application PIC BAsic !)
- 1 LCD LxC en câblage I2C (non testé en Janvier 2017) : on trouve des petites plaquettes pratiques pour cet usage. L'intérêt est d'éconmiser pas mal d'E/S, le bus I2C étant quasiment standard.
- 4 à 16 LCD 2x16 avec Enable démultiplé avec un circuit CMOS 4051 (voir module _27_lcd_multiples_TCP). Ce système multiple est le premier que j'ai mis au point. Il a l'inconvénient de nécessiter quelque électronique d'interface, et le CD4051 n'est pas très adapté (mais je n'ai pas trouvé d'autres multiplexeur CMOS, sauf à voir peut-être avec un 4094 ? A tester !).
- n LCD 2x16 avec 'Enable's verrouillés par ARDUINO : applicable seulement si on a assez d'E/S, et en tout cas facile pour 2 LCD (voir plsu loin). L'idée est la suivante : les LCD sont câblés en paralèlle, comme pour le système précédent, mais les Enable à traver une résistance de 10K. chaque Enable est également relié à une E/S ARDUINO. Pour écrire sur une LCD donné, il suffit de mettre la sortie 'Valide-Enable' du LCD concerné en mlode INPUT, donc haute impédance et d'envoyer le 'lcd.print', les autres 'Valide-Enable' étant en mode OUTPUT et mis à 0.
Avec 2 LCD seulement, on peut se contenter d'un seul 'Valide-Enable' sur le 2°, sachnat que lorsque l'on écrit sur le 2°, le 1° va aussi être modifié, mais il suffit d'afficher à nouveau sur le 1° pour qu'on y voie que du feu ...
L'intérêt de ce câblage est sa mise en oeuvre très simple, mais consomme pas mal d'E/S au delà de 3 ou 4 LCD (donc plutôt avec un MEGA).
Non testé en Janvier 2017.
- J'ai également testé un ARDUINO AUTONOME, gérant le nombre de LCD que vous voulez avec les méthodes ci-dessus, et recevant des 'ordres' sur une voie série, ou un bus I2C, ou SPI (voire Ethernet UDP!!!).

La plupart de ces modes sont exploités dans la suite 'GerDom Domotique GoodFields' par des routines appropriées.

cliquez pour agrandir : photo/07_LCD_Optrex.bmp Le fonctionnement et le brochage des LCD est (maintenant) "assez normalisé" : la connexion est faite sur une rangée de 14 ou 16 pins comprenant tous les signaux nécessaires, quelques soient la taille et le nombre de lignes et de caractères. Voici quelques infos :

DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 E R/W RS VO
(1)
VDD
+5V
VSS
GND
A led
+V (2)
K led
0V GND
STANDARD Pin No 14 13 12 11 10 9 8 7 6 5 4 3 2 1 15(K) 16(A)
OPTREX PWB51848B(4)
SUNLAND 1602A4(4)
16 15 14 13 12 11 10 9 8 7 6 5 4 3 1(4)(A) 2(4)(K)

Notes :
(A) anode rétroéclairage, +5 Volts à travers une résistance (100 Ohms pour essais)

(K) cathode rétroéclairage, -, GND

(1) entrée de contraste. Connecter au curseur d'un ajustable de 10Komhs câblé entre le +5 Volts et la masse GND. Prépositionner à 90% côté GND. Ajuster ensuite.

(2) Pour le rétro-éclairage, c'est la forêt amazonienne ! Les polarités sont parfois inversées, ou inversables (par des straps qui peuvent aussi mettre en service ou non des résistances intégrées), les broches 15 et 16 sont parfois à côté de la 1, il y a aussi parfois des 17 et 18 pour la 2° led.
Pour plus de prudence, toujours mettre une résistance de limitation en série (100 Ohms dans un premier temps) pour les premiers essais, ET - c'est une sage précaution - une diode type 1N4007 en inverse sur les A et K du rétroéclairage (au plus près du ..), Cathode de la 1N4007 (trait) sur le point A et Anode sur le point K; ceci évitera de détruire les diodes de rétro-éclairage qui ne supportent pas la tension inverse (j'ai en stock plusieurs afficheurs avec rétro-éclairage HS ...). En général, un courant de 20mA est largement suffisant, augmenter n'est pas trsè efficace même si on peut parfois monter à 90 mA (voir DataSheets) ...

(3) position relative du connecteur, afficheur vu côté utile

(4) OPTREX/SUNLAND : numérotation décalée ! 16 à 3 = 14 à 1 du tableau "standard", et rétro-éclairage inversé KA !!!

(5) brochage vu côté afficheur

Un catalogue de ce que j'ai eu sous la main :
Marque Modèle LigxCar taille
mm
couleur
car/fond
rétro brochage (5) position (3)
connecteur
POWERTIP
SAMSUNG
SAMSUNG
PC1602-L
SMC-1623A
HK333
2x16 44x122 noir/jaune non 14-1 bas-gauche
OPTREX PWB51848B 2x16 44x122 blanc/bleu oui 16(DB7)-3(VSS),2(K),1(A) (4) bas-gauche
SUNLAND 1602A4 2x16 44x122 blanc/bleu oui 16-3,2(K),1(A) (4) bas-gauche J6 et J9 pontés
DISPLAYTECH 162F E218318 2x16 44x122 blanc/bleu oui 14-1,L+(A),L-(K) bas-gauche J1 ponté
BATRON FDCC1602L 1847964 2x16 37x66 noir/jaune non 1-14,15(-),16(-) bas-gauche
CCM CCM-1620CBW 2x16 35x80 blanc/bleu oui 1-14,15(A),16(K) haut-gauche
XIAMEN GDM1602K 2x16 36x80 - - 1-14,15,16 haut-gauche
LUMEX LCM-S01602DTR/M 2x16 25x65 - - 14-1,16(-),15(-) bas-gauche
KL U16265 2x16 35x75 noir/jaune oui 16(A),15(K),14-1 bas-droit

(-) signifie 'inutilisé, non câblé'

   
Vers le début Vers Page 2 Vers sommaire Câblage basique
Dans la plupart des cas, on va câbler en mode "4bits" sur l'ARDUINO (c'est plus économique en E/S). La déclaration des E/S se fait avec la ligne de programme :
// LiquidCrystal lcd(RS, Enable, D4, D5, D6, D7)
Par exemple :
LiquidCrystal lcd(4, 2, 6, 7, 8, 9);

D'où le câblage du LCD :
* LCD pin 1 to GND
* LCD pin 2 to VCC 5V
* LCD pin 3 : contraste sur le point milieu d'un potentiomètre de 10K entre le GND et le VCC (réglé très près de la masse)
* LCD pin 4 RS to digital pin 4 ARDUINO
* LCD pin 5 RW to GND
* LCD pin 6 Enable pin to digital pin 2 ARDUINO
* LCD pin 11 D4 pin to digital pin 6 ARDUINO
* LCD pin 12 D5 pin to digital pin 7 ARDUINO
* LCD pin 13 D6 pin to digital pin 8 ARDUINO
* LCD pin 14 D7 pin to digital pin 9 ARDUINO
* éventuellement : fil du clavier analogique vers pin A0 ARDUINO

Certains LCD peuvent nécessiter le câblage des pins D0-D3 à la masse.

Voir chapitre 9 pour un exemple de programme Voir chapitre 9 pour un exemple de programme
cliquez pour agrandir : photo/07_LCD_Optrex.bmp cliquez pour agrandir : photo/09_LCD_multiples_cablage.jpg cliquez pour agrandir : photo/09_LCD_multiples_ini.jpg
07_LCD_Optrex 09_LCD_multiples_cablage 09_LCD_multiples_ini
cliquez pour agrandir : photo/09_LCD_multiples_test.jpg cliquez pour agrandir : photo/16_lcd_jumbo.jpg cliquez pour agrandir : photo/36_afficheur_LCD1602.jpg
09_LCD_multiples_test 16_lcd_jumbo 36_afficheur_LCD1602
cliquez pour agrandir : photo/36_afficheur_LCD1602_clavier.jpg cliquez pour agrandir : photo/LCD_std.jpg cliquez pour agrandir : photo/LCD1602.jpg
36_afficheur_LCD1602_clavier LCD_std LCD1602
cliquez pour agrandir : photo/LCD2x16_16bb.jpg cliquez pour agrandir : photo/LCD2x16_b.jpg cliquez pour agrandir : photo/LCD2x16_h.jpg
LCD2x16_16bb LCD2x16_b LCD2x16_h
cliquez pour agrandir : photo/shield_lcd_boutons_import.jpg
shield_lcd_boutons_import

   
Vers le début Vers Page 2 Vers sommaire Documentations LCD
LCD_2040_a.pdf LCD_2040_a.pdf LCD_2040_b.pdf LCD_2040_b.pdf LCD_BAtron_55mm_1536577.pdf LCD_BAtron_55mm_1536577.pdf
LCD_Batron_65mm_653681.pdf LCD_Batron_65mm_653681.pdf LCD_Batron_65mm_653682.pdf LCD_Batron_65mm_653682.pdf LCD_CCM1620.pdf LCD_CCM1620.pdf
LCD_Evebouquet_80mm_20775.pdf LCD_Evebouquet_80mm_20775.pdf LCD_Everbouquet_65mm_MC16021E8_20805.pdf LCD_Everbouquet_65mm_MC16021E8_20805.pdf LCD_Everbouquet_80mm_20775.pdf LCD_Everbouquet_80mm_20775.pdf
LCD_HD61602.pdf LCD_HD61602.pdf LCD_Keypad_Shield_SCH.pdf LCD_Keypad_Shield_SCH.pdf LCD_optrex_51848aad_drawing.pdf LCD_optrex_51848aad_drawing.pdf
LCD_optrex_51848aae.pdf LCD_optrex_51848aae.pdf LCD_optrex_catalog.pdf LCD_optrex_catalog.pdf LCD_optrex_datasheet.pdf LCD_optrex_datasheet.pdf
LCD_optrexDMC16207.pdf LCD_optrexDMC16207.pdf LCD_POWERTIP_CODING.pdf LCD_POWERTIP_CODING.pdf LCD_POWERTIP_PC1602.pdf LCD_POWERTIP_PC1602.pdf
LCD_POWERTIP_PC1602G.pdf LCD_POWERTIP_PC1602G.pdf LCD_POWERTIP_PC1602L.pdf LCD_POWERTIP_PC1602L.pdf LCD_U16265.pdf LCD_U16265.pdf
LCD_U16265_a.pdf LCD_U16265_a.pdf LCD_User_Manual.pdf LCD_User_Manual.pdf LCD_VI611_JUMBO.pdf LCD_VI611_JUMBO.pdf
LCD_XIAMEN_GDM1602K.pdf LCD_XIAMEN_GDM1602K.pdf LCD_XIAMEN_GDM1602K_doc.pdf LCD_XIAMEN_GDM1602K_doc.pdf LCD_XIAMEN_GDM1602SFLYBS-19064598659.pdf LCD_XIAMEN_GDM1602SFLYBS-19064598659.pdf
LCD_XIAMEN_GDM2004DNS_W_BBS0A-19064878889.pdf LCD_XIAMEN_GDM2004DNS_W_BBS0A-19064878889.pdf LCD8Evebouquet_80mm_20775.pdf LCD8Evebouquet_80mm_20775.pdf LCD.txt LCD.txt

   
Vers le début Vers Page 2 Vers sommaire Photos
cliquez pour agrandir : photo/07_boitier.jpg cliquez pour agrandir : photo/07_boitier_arrierefaceavant.JPG cliquez pour agrandir : photo/07_boitier_face.JPG
07_boitier 07_boitier_arrierefaceavant 07_boitier_face
cliquez pour agrandir : photo/07_boitier_interieur.JPG cliquez pour agrandir : photo/07_boitier_modem.JPG cliquez pour agrandir : photo/07_boitier_std.JPG
07_boitier_interieur 07_boitier_modem 07_boitier_std
cliquez pour agrandir : photo/07_boitier_std_arduino_pb.JPG cliquez pour agrandir : photo/07_boitier_std_arduino_pile.JPG cliquez pour agrandir : photo/07_boitier_std_porte.JPG
07_boitier_std_arduino_pb 07_boitier_std_arduino_pile 07_boitier_std_porte
cliquez pour agrandir : photo/07_clavier_analogique.jpg cliquez pour agrandir : photo/07_entree.jpg cliquez pour agrandir : photo/07_LM2596_alim_3A.jpg
07_clavier_analogique 07_entree 07_LM2596_alim_3A
cliquez pour agrandir : photo/07_LM2596_alim_chargeur_batterie.jpg cliquez pour agrandir : photo/07_monprotoshiel_ar.jpg cliquez pour agrandir : photo/07_monprotoshield.jpg
07_LM2596_alim_chargeur_batterie 07_monprotoshiel_ar 07_monprotoshield
cliquez pour agrandir : photo/07_monprotoshield_ar.jpg cliquez pour agrandir : photo/07_monprotoshield_detail.jpg cliquez pour agrandir : photo/07_monshield.jpg
07_monprotoshield_ar 07_monprotoshield_detail 07_monshield
cliquez pour agrandir : photo/07_monshield_soudures.jpg cliquez pour agrandir : photo/07_MP3_sparkfun.jpg cliquez pour agrandir : photo/07_planchette.jpg
07_monshield_soudures 07_MP3_sparkfun 07_planchette
cliquez pour agrandir : photo/07_proto_shield_enplace.JPG cliquez pour agrandir : photo/07_relais.jpg cliquez pour agrandir : photo/07_shield_proto.jpg
07_proto_shield_enplace 07_relais 07_shield_proto
cliquez pour agrandir : photo/07_shield_proto_complete.jpg cliquez pour agrandir : photo/07_shield_proto_monte.jpg cliquez pour agrandir : photo/07_shield_proto_vide.jpg
07_shield_proto_complete 07_shield_proto_monte 07_shield_proto_vide
cliquez pour agrandir : photo/07_sortie_NPN.jpg cliquez pour agrandir : photo/07_sorties.jpg cliquez pour agrandir : photo/07_sorties_esp.jpg
07_sortie_NPN 07_sorties 07_sorties_esp
cliquez pour agrandir : photo/07_V9.jpg cliquez pour agrandir : photo/07_velleman2853.jpg
07_V9 07_velleman2853

Page 7a : HARDWARE général ... Page 7a : HARDWARE général ... Page 7b : ARDUINO autonome ... Page 7b : ARDUINO autonome ... la suite ... la suite ...
La page principale ... La page principale ...

Dernière mise à jour : 11:39:56 18/09/2020