Différences entre versions de « Rasp-Hack-Afficheur-LCD-Breadboard »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
Ligne 174 : Ligne 174 :
 
{{traduction}}
 
{{traduction}}
 
== A propos du MCP23017 ==
 
== A propos du MCP23017 ==
One problem with using a character LCD is that you give up a lot of GPIO pins to talk to the LCD. Four pins are used to send data, two pins are used for write and clock signals, and another pin or three are used for the backlight for a total of ~6-9 total pins! On a platform like the Raspberry Pi model A/B with only a dozen or so GPIO pins you can quickly run out of pins for other parts of your project. However with chips like the MCP23008 or {{pl|218|MCP23017}} you can easily add extra GPIO pins to your development board through an I2C interface!
+
Un problème d'utiliser un afficheur LCD est qu'il utilise beaucoup de GPIO pour dialoguer avec le LCD. 4 broches sont utilisées pour envoyer les données, 2 broches pour l'écriture et Four pins are used to send data, two pins are used for write and clock signals, and another pin or three are used for the backlight for a total of ~6-9 total pins! On a platform like the Raspberry Pi model A/B with only a dozen or so GPIO pins you can quickly run out of pins for other parts of your project. However with chips like the MCP23008 or {{pl|218|MCP23017}} you can easily add extra GPIO pins to your development board through an I2C interface!
  
 
If you aren't familiar with the MCP230xx series of chips, there's [[Rasp-Hack-MCP230XX|a great guide that describes their usage with a Raspberry Pi]]. Note that you don't need to install the library or code from the guide, it's only provided for reference.
 
If you aren't familiar with the MCP230xx series of chips, there's [[Rasp-Hack-MCP230XX|a great guide that describes their usage with a Raspberry Pi]]. Note that you don't need to install the library or code from the guide, it's only provided for reference.

Version du 30 janvier 2017 à 11:52

Afficheur LCD monochrome

L'afficheur LCD

Rasp-Hack-Afficheur-LCD-Montage-01.jpg

Lorsque vous rencontrez un afficheur LCD qui dispose d'un connecteur 16 broches comme celui ci, il y a de fortes chances pour que celui-ci utilise un contrôleur d'affichage HD44780. Ces dispositifs fournissent habituellement le même brochage (même organisation de broches/same pinouts) ce qui fait qu'il est relativement aisé de travailler avec eux.

L'afficheur LCD utilise une interface parallèle, ce qui signifie que nous aurons besoin de plusieurs broches de notre Raspberry PI pour le contrôler. Dans ce tutoriel, nous allons utiliser 4 broches de données (mode 4-bit) et deux broches de contrôle.

Les data pins (broche de données) parlent d'elles même. Elles envoent les données vers l'afficheur (en plaçant leurs états a haut/bas... high/low en anglais). Nous allons uniquement utiliser le mode d'écriture pour afficher du texte et n'allons pas lire de données stockées dans la mémoire du LCD.

La broche register select (registre de sélection) a deux utilisation. Lorsqu'elle est placée sur LOW (niveau bas) il est possible d'envoyer des commandes au LCD (comme positionner le curseur ou effacer l'écran). Cela est identifier comme écrire vers le registre d'instruction/de commande ('writing to the command register). Lorsqu'elle est placée au niveau HIGH (haut) le registre de sélection passe en mode donnée (data mode) qui sera utilisé pour envoyer des données à l'écran.

La broche read/write (lecture/écriture) sera placée et niveau bas (LOW)... indiquant ainsi que nous ne ferons que des opérations d'écriture (write) sur l'afficheur LCD.

La broche enable (activer) sera positionnée pour écrire des données dans les registres.

Brochage du LCD

  1. La masse (Ground/GND)
  2. VCC - l'alimentation 5v (et non du 3.3v!)
  3. Ajustement du contraste (VO) depuis un potentiomètre
  4. Register Select (RS, registre de sélection). RS=0: mode commande, RS=1: mode donnée (Data)
  5. Read/Write (R/W, Lecture/Ecriture).
    R/W=0: Ecriture (Write), R/W=1: Lecture (Read).
    Nous n'utiliserons pas cette broche.
  6. Clock (Enable, activée). Activation lorsque le signal passe du niveau haut à bas (Falling edge triggered).
  7. Bit 0 (non utilisé en mode 4-bit)
  8. Bit 1 (non utilisé en mode 4-bit)
  9. Bit 2 (non utilisé en mode 4-bit)
  10. Bit 3 (non utilisé en mode 4-bit)
  11. Bit 4
  12. Bit 5
  13. Bit 6
  14. Bit 7
  15. Anode (+) de la LED du rétro-éclairage
  16. Cathode (-) de la LED du rétro-éclairage

A propos du câblage

Suivez les étapes ci-dessous pour brancher l'afficheur LCD sur votre carte de développement. Comme il y a beaucoup de connexion à réaliser, faites bien attention à connecter chaque fils sur la bonne broche.

Note: Le raccordement utilisé ci-dessous est destiné à un écran LCD avec rétro-éclairage RGB. Si vous utilisez un afficheur monochrome vous pouvez utiliser le même câblage (en ignorant les fils correspondant à la LED verte et bleu). Le fil utilisé pour le rétro-éclairage rouge contrôlera le rétro-éclairage de l'afficheur monochrome.

Diagramme de câblage

Rasp-Hack-Afficheur-LCD-Montage-a02.png

Le montage ci-dessus peut être réalisé plus facilement unPi-Cobbler PLUS.

Premièrement, connectez les broches d'alimentation du cobbler sur les rails d'alimentation du breadboard. +5.0V du cobbler est raccordé sur le rail marqué d'une ligne rouge (le fil rouge). Et la broche GND du cobbler est raccordé sur le rail marqué d'une ligne bleue (le fil noir)

Pour pouvoir envoyer des données sur le LCD, nous allons effectuer les raccordements comme suit:

  • Connectez le +5V d'alimentation du Pi sur le rail d'alimentation du breadboard.
    Depuis le rail d'alimentation, faite un raccordement vers:
    • Le potentiomètre,
    • Broche 2 du LCD (VDD),
    • Broche 15 du LCD (LED+).
  • Connectez la masse Pi (GND/Ground) sur le rail de masse/GND du breadboard.
    Depuis le rail de masse connectez:
    • Un fil sur une des broches du potentiomètre,
    • la broche 1 du LCD (VSS)
    • et la broche 5 du LCD (R/W).
  • Connectez la broche du milieu du potentiomètre sur sur la broche 3 du LCD (V0/contrast).
  • Connectez la broche 27 du Pi (ou 21 d'une ancienne révision de Pi) sur la broche 4 du LCD LCD (RS).
  • Connectez la broche 22 du Pi sur la broche 6 du LCD (E/clock enable).
  • Connectez la broche 25 du Pi sur la broche 11 (DB4).
  • Connectez la broche 24 du Pi sur la broche 12 (DB5).
  • Connectez la broche 23 du Pi sur la broche 13 (DB6).
  • Connectez la broche 18 du Pi sur la broche 14 (DB7).
  • Connectez la broche 4 du Pi sur la broche 16 (-R/Rouge/Red).
  • Connectez la broche 17 du Pi sur la broche 17 (-G/Vert/Green).
  • Connectez la broche 7 / CE1 du Pi sur la broche 18 (-B/Bleu/Blue).

N'oubliez pas de raccorder le potentiomètre de réglage du contraste comme suit:

  • La broche gauche sur la masse/GND/ground (fil noir)
  • La broche droite raccordée à +5V (fil rouge)

Pi-Cobbler ou Pi-Cobbler-Plus?

Avec l'arrivée du Raspberry Pi 3, Raspberry Pi-2 et Raspberry Pi-B PLUS, Raspberry Pi Zero W vient également un GPIO étendu de 40 broches rétro-compatible avec le GPIO des premières générations du Raspberry-Pi qui, lui, n'avait que 26 broches.

GPIO-Compatibility-00v3.jpg

La seule vraie différence réside dans la longueur du GPIO du modèle Pi-3, Pi-2 ou B+ qui contient des broches en plus... et le Pi-Cobbler PLUS qui à également grandi pour accueillir les broches en plus.

Avec l'apparition du Pi Zero, nous pouvons reparler de la correspondance des GPIO.

Pour notre plus grand bonheur, le GPIO du Pi Zero et du Pi 3 (ou Pi 2) sont identiques :) chouette.

RASP-PIZERO-Correspondance-GPIO v2.jpg
Cliquez pour agrandir

Afficheur LCD 5V et Pi 3.3v

Les broches GPIO du Raspberry Pi sont conçu pour du 3.3v, mais notre afficheur est un périphérique 5v.

Ce n'est pas un problème d'utiliser un afficheur 5v, mais uniquement si nous envoyons des données depuis le Pi.

Nous n'allons pas utiliser la tension 3.3v du Cobbler et nous allons raccorder la broche RW (read/write, lecture/écriture) de l'afficheur sur GND.

De la sorte, nous n'allons pas (et ne voulons pas) envoyer de signal 5v depuis l'afficheur vers le Pi... cela le détruirait le GPIO du Pi.

N'inverser les connexion!

Préparer le LCD

Avant de commencer, assurez vous d'avoir la rangée de pinHeader (empattement 2.54mm) et le potentiomètre.

Rasp-Hack-Afficheur-LCD-Montage-LCD-01.jpg

La plupart des afficheurs LCD disposent d'une série de 16 pastilles de connexion sur le dessus. Si votre rangée de pinHeader est plus long, utilisez une pince coupante ou une pince à bec pour couper la rangée à la longueur désirée.

Rasp-Hack-Afficheur-LCD-Montage-LCD-02.jpg

Vous aurez ensuite besoin de souder le pinHeader sur l'afficheur LCD. Il est nécessaire de le faire. presser et maintenir le LCD en place ne suffira pas!

Rasp-Hack-Afficheur-LCD-Montage-LCD-03.jpg


Commencez par connecter le fils 5V et GND (masse) du cobbler vers le breadboard. Connectez ensuite les broches #1, #2 et #15, #16 sur les rails d'alimentation comme montré sur le plan de montage. Le rétro-éclairage devrait se mettre en marche. Vérifiez vos raccordement si ce n'est pas le cas!

Rasp-Hack-Afficheur-LCD-Montage-LCD-04.jpg

Rasp-Hack-Afficheur-LCD-Montage-LCD-05.jpg

Ensuite, raccordez le potentiomètre de contraste comme présenté ci-dessus, avec la broche du milieu connectée sur la broche 3 de l'afficheur LCD et les deux autres broches sur 5V et la masse/GND/ground.

Tournez ensuite le potentiomètre jusqu'au moment où la première ligne du LCD est remplie de carré. Vérifiez vos raccordement si ce n'est pas le cas!

Rasp-Hack-Afficheur-LCD-Montage-LCD-06.jpg

Finissez les raccordement des autres broches comme présenté sur le schema-ci-dessus.

Rasp-Hack-Afficheur-LCD-Montage-LCD-07.jpg

C'est fini! Maintenant, vous êtes prêt a exécuter les scripts Python qui affiche du texte à l'écran!

Afficheur LCD RGB

A propos de l'afficheur LCD RGB

Les afficheurs LCD RBG ont deux broches de plus sur leur connecteur (17 et 18). Ces broches sont utilisées respectivement pour les LED VERTE et LED BLEUE.

La connexion de rétro-éclairage standard n'est plus utilisé pour une LED blanche mais, cette fois, pour une LED ROUGE.

A propos du câblage

Suivez les étapes suivantes pour raccorder l'afficheur LCD sur votre Raspberry-Pi. Faites bien attention à connecter chaque fil sur la bonne broche car il y a de nombreux raccordements à réaliser.

Note: les raccordements ci-dessous concerne les écrans LCD avec rétro-éclairage. Si vous utiliser un rétro-éclairage monochrome, vous pouvez utiliser le raccordement tel-quel en omettant les fils pour les LEDs verte et bleur (respectivement green et blue). Dans le cas d'un rétro-élcairage monochrome, c'est le fils de la LED rouge qui contrôle le rétro-éclairage.

Diagramme de câblage

Rasp-Hack-Afficheur-LCD-Montage-a02.png

Le montage ci-dessus peut être réalisé plus facilement unPi-Cobbler PLUS.

Premièrement, connectez les broches d'alimentation du cobbler sur les rails d'alimentation du breadboard. +5.0V du cobbler est raccordé sur le rail marqué d'une ligne rouge (le fil rouge). Et la broche GND du cobbler est raccordé sur le rail marqué d'une ligne bleue (le fil noir)

Pour pouvoir envoyer des données sur le LCD, nous allons effectuer les raccordements comme suit:

  • Connectez le +5V de votre RaspberryPi sur le rail d'alimentation du breadboard. Depuis le rail d'alimentation, connectez un fil:
    • vers une des broches externes du potentiomètre,
    • Le broche 2 (VDD) du LCD,
    • la broche 15 (LED+) du LCD.
  • Connectez la masse/GND du Raspberry-Pi sur le rail de masse/gnd du breadboard. Depuis le rail de masse, connectez un fil::
    • Sur l'autre broche externe du potentiomètre (la broche centrale du potentiomètre doit rester libre).
    • La broche 1 (VSS) du LCD,
    • La broche 5 (R/W) du LCD.
  • Connectez la broche du milieu du potentiomètre sur la broche 3 (V0/contrast) du LCD.
  • Connectez la broche 27 du Raspberry-Pi sur la broche 4 (RS) du LCD.
  • Connectez la broche 22 du Raspberry-Pi sur la broche 6 (E/clock enable) du LCD.
  • Connectez la broche 25 du Raspberry-Pi sur la broche 11 (DB4) du LCD.
  • Connectez la broche 24 du Raspberry-Pi sur la broche 12 (DB5) du LCD.
  • Connectez la broche 23 du Raspberry-Pi sur la broche 13 (DB6) du LCD.
  • Connectez la broche 18 du Raspberry-Pi sur la broche 14 (DB7) du LCD.
  • Connectez la broche 4 du Raspberry-Pi sur la broche 16 (-R/red) du LCD.
  • Connectez la broche 17 du Raspberry-Pi sur la broche 17 (-G/green) du LCD.
  • Connectez la broche 7 / CE1 du Raspberry-Pi sur la broche 18 (-B/blue) du LCD.

N'oubliez pas de raccorder le potentiomètre de réglage du contraste comme suit:

  • La broche gauche sur la masse/GND/ground (fil noir)
  • La broche droite raccordée à +5V (fil rouge)

MCP23017 IO Expander + LCD

A propos du MCP23017

Un problème d'utiliser un afficheur LCD est qu'il utilise beaucoup de GPIO pour dialoguer avec le LCD. 4 broches sont utilisées pour envoyer les données, 2 broches pour l'écriture et Four pins are used to send data, two pins are used for write and clock signals, and another pin or three are used for the backlight for a total of ~6-9 total pins! On a platform like the Raspberry Pi model A/B with only a dozen or so GPIO pins you can quickly run out of pins for other parts of your project. However with chips like the MCP23008 or MCP23017 you can easily add extra GPIO pins to your development board through an I2C interface!

If you aren't familiar with the MCP230xx series of chips, there's a great guide that describes their usage with a Raspberry Pi. Note that you don't need to install the library or code from the guide, it's only provided for reference.

Câblage

To use an MCP230xx chip with a character LCD you will need to wire the MCP chip to your board's I2C pins, and then wire the LCD to the MCP chip. Below are examples of wiring an MCP23017 to the Raspberry Pi or BeagleBone Black.

If you'd like to use an MCP23008 instead of the MCP23017 the wiring is similar, however consult the MCP23008 datasheet to see which pins are for power, ground, I2C, and GPIO.

Wire your MCP23017 and LCD as follows:

{{{2}}}
Crédit: AdaFruit Industries www.adafruit.com

  • Connect Pi 3.3V power to the power rail of the breadboard, and connect the MCP VDD and RESET to 3V power. Be careful to connect the 3.3 volt and not 5 volt power to these pins!
  • Connect Pi ground to the ground rail of the breadboard, and connect the MCP VSS and address pins, one outer lead of the potentiometer, the LCD ground, and the LCD R/W pin to the ground rail.
  • Connect Pi 5V power to the other outer lead of the potentiometer, LCD power, and LCD backlight+ pins. Note that 5 volt and not 3.3 volt power is used to power the LCD!
  • Connect the middle pin of the potentiometer to the LCD contrast/V0 pin.
  • Connect Pi I2C SCL to MCP I2C SCL.
  • Connect Pi I2C SDA to MCP I2C SDA.
  • Connect MCP GPIOA0 to LCD RS.
  • Connect MCP GPIOA1 to LCD EN/clock enable.
  • Connect MCP GPIOA2 to LCD DB4.
  • Connect MCP GPIOA3 to LCD DB5.
  • Connect MCP GPIOA4 to LCD DB6.
  • Connect MCP GPIOA5 to LCD DB7
  • Connect MCP GPIOA6 to LCD -R/red backlight.
  • Connect MCP GPIOA7 to LCD -G/green backlight.
  • Connect MCP GPIOB0 to LCD -B/blue backlight.



Source: Character LCD with Raspberry Pi or BeagleBone Black écrit par Tony Dicola pour Adafruit Industries.

Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.