Pour établir une bonne communication entre le monde humain et le monde des machines, les unités d'affichage jouent un rôle important. Ils constituent donc une partie importante des systèmes embarqués. Les unités d'affichage - grandes ou petites, fonctionnent sur le même principe de base. Outre les unités d'affichage complexes telles que les affichages graphiques et les affichages 3D, il faut savoir travailler avec des écrans simples comme les unités 16x1 et 16x2. L'unité d'affichage 16x1 aura 16 caractères et sont sur une seule ligne. L'écran LCD 16x2 aura 32 caractères au total 16 en 1ère ligne et 16 autres en 2ème ligne. Ici, il faut comprendre que dans chaque caractère il y a 5x10 = 50 pixels donc pour afficher un caractère, tous les 50 pixels doivent fonctionner ensemble. Mais nous n'avons pas à nous en soucier car il y a un autre contrôleur (HD44780) dans l'unité d'affichage qui fait le travail de contrôler les pixels. (vous pouvez le voir dans l'unité LCD,c'est l'œil au beurre noir à l'arrière).
Dans ce tutoriel, nous allons interfacer un écran LCD 16x2 avec ARDUINO UNO. Contrairement aux cartes de développement normales, l'interfaçage d'un écran LCD à un ARDUINO est assez simple. Ici, nous n'avons pas à nous soucier de l'envoi et de la réception de données. Nous devons juste définir les numéros de broches et il sera prêt à afficher les données sur l'écran LCD.
Composants requis
Matériel: ARDUINO UNO, alimentation (5v), JHD_162ALCD (16x2LCD), condensateur 100uF.
Logiciel: Arduino IDE (Arduino tous les soirs).
Schéma de circuit et explication
Dans l'écran LCD 16x2, il y a 16 broches sur tout s'il y a un rétro-éclairage, s'il n'y a pas de rétro-éclairage, il y aura 14 broches. On peut alimenter ou laisser les broches du rétroéclairage. Or, dans les 14 broches, il y a 8 broches de données (7-14 ou D0-D7), 2 broches d'alimentation en énergie (1 et 2 ou VSS et VDD ou GND et + 5v), 3 ème broches de la commande de contraste (VEE-contrôle l'épaisseur des caractères doivent être illustré) et 3 broches de commande (RS & RW & E).
Dans le circuit, vous pouvez observer que je n'ai pris que deux broches de contrôle, cela donne de la flexibilité. Le bit de contraste et READ / WRITE ne sont pas souvent utilisés afin qu'ils puissent être court-circuités à la masse. Cela met l'écran LCD en mode de contraste et de lecture le plus élevé. Nous avons juste besoin de contrôler les broches ENABLE et RS pour envoyer des caractères et des données en conséquence.
Les connexions effectuées pour l'écran LCD sont indiquées ci-dessous:
PIN1 ou VSS à la terre
Alimentation PIN2 ou VDD ou VCC à + 5v
PIN3 ou VEE à la masse (donne le meilleur contraste pour un débutant)
PIN4 ou RS (sélection de registre) à PIN0 de ARDUINO UNO
PIN5 ou RW (lecture / écriture) à la terre (met l'écran LCD en mode lecture facilite la communication pour l'utilisateur)
PIN6 ou E (Activer) à PIN1 d'ARDUINO UNO
PIN11 ou D4 à PIN8 d'ARDUINO UNO
PIN12 ou D5 à PIN9 d'ARDUINO UNO
PIN13 ou D6 à PIN10 d'ARDUINO UNO
PIN14 ou D7 à PIN11 d'ARDUINO UNO
L'IDE ARDUINO permet à l'utilisateur d'utiliser l'écran LCD en mode 4 bits. Ce type de communication permet à l'utilisateur de diminuer l'utilisation des broches sur ARDUINO, contrairement aux autres, l'ARDUINO n'a pas besoin d'être programmé séparément pour l'utiliser en mode 4 it car par défaut l'ARDUINO est configuré pour communiquer en mode 4 bits. Dans le circuit, vous pouvez voir que nous avons utilisé la communication 4 bits (D4-D7).
Donc, à partir de la simple observation du tableau ci-dessus, nous connectons 6 broches de l'écran LCD au contrôleur dans lequel 4 broches sont des broches de données et 2 broches pour le contrôle.
La figure ci-dessus montre le schéma de circuit de l'écran LCD 16x2 connecté à l'ARDUINO UNO.
Travail
Pour interfacer un écran LCD avec l'ARDUINO UNO, nous devons savoir quelques choses.
|
Comme dans le tableau ci-dessus, il suffit de regarder ces quatre lignes pour établir une communication entre un ARDUINO et un LCD.
Nous devons d'abord activer le fichier d'en-tête ('#include
Deuxièmement, nous devons indiquer à la carte le type d'écran LCD que nous utilisons ici. Depuis que nous avons tellement de types différents de LCD (comme 20x4, 16x2, 16x1 etc.). Ici, nous allons interfacer un écran LCD 16x2 avec l'UNO afin d'obtenir 'lcd.begin (16, 2);'. Pour 16x1, nous obtenons 'lcd.begin (16, 1);'.
Dans cette instruction, nous allons dire à la carte où nous avons connecté les broches. Les broches qui sont connectées doivent être représentées dans l'ordre comme «RS, En, D4, D5, D6, D7». Ces broches doivent être correctement représentées. Puisque nous avons connecté RS à PIN0 et ainsi de suite comme indiqué dans le schéma de circuit, nous représentons le numéro de broche à embarquer comme «LiquidCrystal lcd (0, 1, 8, 9, 10, 11);». Les données qui doivent être affichées sur l'écran LCD doivent être écrites sous la forme «cd.print (" hello, world! ");». Avec cette commande, l'écran LCD affiche «bonjour, monde!».
Comme vous pouvez le voir, nous ne devons nous soucier de rien d'autre, nous devons simplement initialiser et l'UNO sera prêt à afficher les données. Nous n'avons pas besoin d'écrire une boucle de programme pour envoyer ici les données BYTE par BYTE.
Le mode de communication entre LCD et UNO est expliqué étape par étape dans le code C ci-dessous: