Accueil > Matériel, Raspberry > Utilisation de l’afficheur LCD Hitachi HD44780 avec le Raspberry

Utilisation de l’afficheur LCD Hitachi HD44780 avec le Raspberry

Dans un ancien article, j’avais testé le fonctionnement de cet afficheur 2×16 caractères avec un Arduino Uno; aujourd’hui je vais le tester avec le Raspberry Pi.

Le câblage à effectuer à l’aide du PI Cobber sera le suivant :

image

Un potentiomètre permet de régler le contraste de l’afficheur. Les ports utilisés sont les suivants :

Broches LCD

Ports Raspberry

1    masse  
2    +5v  
3    contraste  
4    RS (sélection registre) GPIO 25
5    R/W à la masse pour Lecture uniquement  
6    Horloge/Enable GPIO 24
11  D4 (données bit 4) GPIO 23
12  D5 (données bit 5) GPIO 17
13  D6 (données bit 6) GPIO 21
14  D7 (données bit 7) GPIO 22
15  LED+ (éclairage fond) à +5v  
16  LED- (éclairage fond) à la masse  

Maintenant il va falloir s’occuper da la programmation en Python. Le site Adafruit fournit un programme Python qui permet de gérer entre autre ce type d’afficheur LCD; il est possible de le télécharger à l’adresse suivante : https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code/tree/master/Adafruit_CharLCD

Le programme qui nous intéresse se nomme ‘Adafruit_CharLCD.py’; télécharger le et copier le dans un dossier sur le Raspberry.

Maintenant si vous possédez le Raspberry Pi version 2 (512 Mo), il faut éditer le fichier afin de modifier la ligne :

def __init__(self, pin_rs=25, pin_e=24, pins_db=[23, 17, 21, 22], GPIO = None):

en

def __init__(self, pin_rs=25, pin_e=24, pins_db=[23, 17, 27, 22], GPIO = None):

Une fois le fichier copié dans le dossier, créer le programme suivant qui permettra d’afficher la température du Chipset en clignotant afin de présenter l’utilisation de la librairie fournie par Adafruit :

#!/usr/bin/python
from Adafruit_CharLCD import Adafruit_CharLCD
import os
import time

# on recupere la temperature du Chipset
cmd = ‘/opt/vc/bin/vcgencmd measure_temp’
result = os.popen(cmd).readline().strip()
# le resultat est temp=xx.x’C donc on traite le resultat
# pour ne garder xx.x
temp = result.split(‘=’)[1].split("’")[0]

# initialisation du LCD
lcd = Adafruit_CharLCD()
lcd.begin(16,2)

while 1:
    lcd.clear()
    lcd.noCursor()
    lcd.display()
    lcd.message((temp) + ‘ C’)
    time.sleep(1)
    lcd.noDisplay()
    time.sleep(1)

Je vous conseille de regarder le contenu de la librairie Adafruit. Maintenant, vu le peu de ports GPIO disponible par le Raspberry, je commence à réfléchir à une communication entre le Raspberry et l’Arduino Uno.

Publicités
Catégories :Matériel, Raspberry Étiquettes : , , ,
  1. 28/11/2013 à 11:46

    Salut,
    Déjà super document qui m’a été bien utile et je te remercie pour ça.

    Mais c’est juste pour être sûr, mais je crois qu’il y a une erreur sur le schéma du câblage, t’as mis le potentiomètre à la masse sur les deux pins alors qu’une deux deux pins à la masse doit être sur le 5V.

    • 28/03/2014 à 19:00

      Bonjour effectivement il y a une erreur. Merci je vais essayer de corriger cela

  1. No trackbacks yet.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :