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

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
 
(3 versions intermédiaires par le même utilisateur non affichées)
Ligne 2 : Ligne 2 :
  
 
= Afficheur LCD monochrome =
 
= Afficheur LCD monochrome =
{{traduction}}
 
 
== L'afficheur LCD ==
 
== L'afficheur LCD ==
  
Ligne 172 : Ligne 171 :
  
 
= MCP23017 IO Expander + LCD =
 
= MCP23017 IO Expander + LCD =
{{traduction}}
 
 
== A propos du MCP23017 ==
 
== 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 le signal d'horloge. Une autre broche (ou trois autres) est utilisée pour le rétro-élcairage. '''Cela fait un total de 6 à 9 broches selon les circonstances'''! Sur une plateforme comme le Rapsberry-Pi qui n'a qu'une quinzaine de GPIO disponible cela fait beaucoup de GPIO utilisés et donc peu de GPIO encore disponible pour le restant de votre projet.
 
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 le signal d'horloge. Une autre broche (ou trois autres) est utilisée pour le rétro-élcairage. '''Cela fait un total de 6 à 9 broches selon les circonstances'''! Sur une plateforme comme le Rapsberry-Pi qui n'a qu'une quinzaine de GPIO disponible cela fait beaucoup de GPIO utilisés et donc peu de GPIO encore disponible pour le restant de votre projet.
Ligne 181 : Ligne 179 :
  
 
== Câblage ==
 
== Câblage ==
{{traduction}}
+
Pour utiliser un MCP230xx avec un afficheur LCD sur votre Pi, il faudra brancher le MCP sur le bus I2C du GPIO -puis- brancher l'afficheur LCD sur le MCP23017.
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.
+
Les raccordements restent similaires si vous voulez utiliser un MCP23008 à la place d'un MCP23017. Il faudra cependant consulter la fiche technique du MCP23008 pour identifier les broches d'alimentation, masse, I2C et GPIO.
  
Wire your MCP23017 and LCD as follows:  
+
Branchez le LCD sur le MCP23017 comme suit:  
  
 
{{ADFImage|Rasp-Hack-Afficheur-LCD-Breadboard-a20.png}}
 
{{ADFImage|Rasp-Hack-Afficheur-LCD-Breadboard-a20.png}}
  
* 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!
+
* Connectez l'alimentation 3.3V du Pi:
* 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.
+
** Sur le rail d'alimentation +3.3V du breadboard,  
* 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!
+
** Connectez les broches VDD et RESET du MCP23017 sur le rail d'alimentation 3V.<br /><font color="red">'''FAITES BIEN ATTENTION a connecter le 3.3V et PAS le 5V sur ces broches!'''</font>
* Connect the middle pin of the potentiometer to the LCD contrast/V0 pin.
+
* Connectez la masse/GND du Pi  
* Connect Pi I2C SCL to MCP I2C SCL.
+
** Sur le rail DE MASSE du breadboard
* Connect Pi I2C SDA to MCP I2C SDA.
+
** les broches d'adresse et VSS du MCP23017 sur le rail de masse.
* Connect MCP GPIOA0 to LCD RS.
+
** l'une des broches extérieure du potentiomètre sur le rail de masse
* Connect MCP GPIOA1 to LCD EN/clock enable.
+
** La masse/gnd du LCD sur le rail de masse
* Connect MCP GPIOA2 to LCD DB4.
+
** La broche R/W du LCD sur le rail de masse
* Connect MCP GPIOA3 to LCD DB5.
+
* Connectez l'alimentation 5V du Pi sur:
* Connect MCP GPIOA4 to LCD DB6.
+
** L'autre broche externe du potentiomètre
* Connect MCP GPIOA5 to LCD DB7
+
** L'alimentation du LCD
* Connect MCP GPIOA6 to LCD -R/red backlight.
+
** Et la/les broche(s) du rétro-éclairages.  
* Connect MCP GPIOA7 to LCD -G/green backlight.
 
* Connect MCP GPIOB0 to LCD -B/blue backlight.
 
  
{{ambox|text=Make sure you've enabled I2C on the Raspberry Pi if you haven't done so already.}}
+
{{ambox|text=Les tensions 3.3V et 5V sont utilisée pour alimenter le LCD!}}
 +
{{ambox|text=Il est plus facile d'identifier les broches SDA et SCL de votre Pi sur vous utiliser un GPIO-Ref ou un Pi-Cobbler!}}
  
 +
* Connectez la broche centrale du potentiomètre sur la broche contrast/V0 de l'afficheur LCD.
 +
* Connectez la broche SCL du bus I2C du pi sur la broche SCL I2C du MCP23017.
 +
* Connectez la broche SDA du bus I2C du pi sur la broche SDA I2C du MCP23017.
 +
* Connectez la broche GPIOA0 du MCP2307 sur la broche RS du LCD.
 +
* Connectez la broche GPIOA1 du MCP2307 sur la broche EN/''clock enable''  du LCD.
 +
* Connectez la broche GPIOA2 du MCP2307 sur la broche DB4 du LCD.
 +
* Connectez la broche GPIOA3 du MCP2307 sur la broche DB5 du LCD.
 +
* Connectez la broche GPIOA4 du MCP2307 sur la broche DB6 du LCD.
 +
* Connectez la broche GPIOA5 du MCP2307 sur la broche DB7 du LCD.
 +
* Connectez la broche GPIOA6 du MCP2307 sur la broche -R/''red backlight'' du LCD.
 +
* Connectez la broche GPIOA7 du MCP2307 sur la broche -G/''green backlight'' du LCD.
 +
* Connectez la broche GPIOB0 du MCP2307 sur la broche -B/''blue backlight'' du LCD.
 +
 +
{{ambox|text=Assurez vous également d'avoir activé le support I2C sur votre Raspberry-Pi. Cela se fait par l'intermédiaire de l'utilitaire '''sudo raspi-config'''}}
  
 
{{Rasp-Hack-Afficheur-LCD-TRAILER}}
 
{{Rasp-Hack-Afficheur-LCD-TRAILER}}

Version actuelle datée du 31 janvier 2017 à 11:51

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 le signal d'horloge. Une autre broche (ou trois autres) est utilisée pour le rétro-élcairage. Cela fait un total de 6 à 9 broches selon les circonstances! Sur une plateforme comme le Rapsberry-Pi qui n'a qu'une quinzaine de GPIO disponible cela fait beaucoup de GPIO utilisés et donc peu de GPIO encore disponible pour le restant de votre projet.

Heureusement, grâce à un composant comme MCP23008 ou le MCP23017 qui permet d'ajouter des GPIO sur votre carte de développement par l'intermédiaire de l'interface I2C!

Si vous n'êtes pas encore familiarisé avec la série des composants MCP230xx, nous proposons un chouette guide qui décrit leur utilisation avec un Raspberry Pi. Notez qu'il ne sera pas nécessaire d'installer la bibliothèque ou le code du guide, ce lien est fournit à titre de référence.

Câblage

Pour utiliser un MCP230xx avec un afficheur LCD sur votre Pi, il faudra brancher le MCP sur le bus I2C du GPIO -puis- brancher l'afficheur LCD sur le MCP23017.

Les raccordements restent similaires si vous voulez utiliser un MCP23008 à la place d'un MCP23017. Il faudra cependant consulter la fiche technique du MCP23008 pour identifier les broches d'alimentation, masse, I2C et GPIO.

Branchez le LCD sur le MCP23017 comme suit:

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

  • Connectez l'alimentation 3.3V du Pi:
    • Sur le rail d'alimentation +3.3V du breadboard,
    • Connectez les broches VDD et RESET du MCP23017 sur le rail d'alimentation 3V.
      FAITES BIEN ATTENTION a connecter le 3.3V et PAS le 5V sur ces broches!
  • Connectez la masse/GND du Pi
    • Sur le rail DE MASSE du breadboard
    • les broches d'adresse et VSS du MCP23017 sur le rail de masse.
    • l'une des broches extérieure du potentiomètre sur le rail de masse
    • La masse/gnd du LCD sur le rail de masse
    • La broche R/W du LCD sur le rail de masse
  • Connectez l'alimentation 5V du Pi sur:
    • L'autre broche externe du potentiomètre
    • L'alimentation du LCD
    • Et la/les broche(s) du rétro-éclairages.
  • Connectez la broche centrale du potentiomètre sur la broche contrast/V0 de l'afficheur LCD.
  • Connectez la broche SCL du bus I2C du pi sur la broche SCL I2C du MCP23017.
  • Connectez la broche SDA du bus I2C du pi sur la broche SDA I2C du MCP23017.
  • Connectez la broche GPIOA0 du MCP2307 sur la broche RS du LCD.
  • Connectez la broche GPIOA1 du MCP2307 sur la broche EN/clock enable du LCD.
  • Connectez la broche GPIOA2 du MCP2307 sur la broche DB4 du LCD.
  • Connectez la broche GPIOA3 du MCP2307 sur la broche DB5 du LCD.
  • Connectez la broche GPIOA4 du MCP2307 sur la broche DB6 du LCD.
  • Connectez la broche GPIOA5 du MCP2307 sur la broche DB7 du LCD.
  • Connectez la broche GPIOA6 du MCP2307 sur la broche -R/red backlight du LCD.
  • Connectez la broche GPIOA7 du MCP2307 sur la broche -G/green backlight du LCD.
  • Connectez la broche GPIOB0 du MCP2307 sur la broche -B/blue backlight du LCD.

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.