Connexion d’un écran LCD au Raspberry Pi : le grand saut à moins de 10€ !
Pour une fois, nous n’allons pas faire un tutoriel sur comment installer tel ou tel outil mais profiter de l’interface GPIO du Raspberry Pi pour y connecter un écran LCD. L’électronique, une grande première pour moi !
Alors je dois dire que je commence un peu à regretter mon manque d’attention pendant le peu de cours de physique/électronique de ma jeunesse ! Résultat ,maintenant, résistance, transistor et autres « shift register » ressemblent à un mélange de chinois et ouzbèque ! Bref j’y comprends rien. Pourtant en lisant le blog d’Idleman, et plus particulièrement cet article sur un écran LCD, j’ai voulu faire comme les grands !
J’ai donc passé commande de l’autre coté du globe pour un petit écran LCD pour la somme de 4,13€ frais de port compris. Plus quelques câbles femelle-femelle pour 3,74€ toujours frais de port inclus. Une fois le paquet reçu, il fallait donc passer à la soudure ! Et là c’était aussi une grande première, surtout avec le fer à souder de mon grand père qui doit avoir bien vécu vu sa tête :
Le même vu de face :
J’ai encore des progrès à faire mais les soudures sont en place, reste à brancher sur le Raspberry ! Pour cela, le blog d’Idleman, toujours lui, a un schéma ultra clair et efficace :
Le schéma d’idleman sur la connexion de l’écran au Raspberry Pi
Un grand merci car voici le résultat :
Reste maintenant à tester tout ça :
- Installer la librairie C qui va permettre d’accéder facilement au port GPIOapt-get update && apt-get upgrade
apt-get update && apt-get upgrade apt-get install git-core git clone git://git.drogon.net/wiringPi cd wiringPi git pull origin ./build
- Charger l’exemple du blog d’Idleman
wget http://projet.idleman.fr/domopi/data/piScreen/lcd.zip unzip lcd.zip
Vous avez maintenant un répertoire lcd qui contient le programme ‘screen‘ qui va permettre d’envoyer du texte sur l’écran.
Problème : le contraste
Grosse déception au premier lancement de la commande : rien à l’écran. Je regarde les soudures, ça avait l’air ok … En parcourant les commentaires, il semble que chaque écran nécessite un règle.
Je suis donc allé dans le code, à la ligne qui contient :
LcdWrite(LCD_C, 0x98 ); // Set LCD Vop (Contrast).
Et j’ai modifié la valeur de cette ligne, en partant de la valeur 0x00 et en recompilant ensuite le programme pour refaire un test.
g++ screen.cpp -o screen -lwiringPi ; ./screen -p Test
A chaque fois j’augmente la valeur de 0x10 (0x00, 0x10, 0x20, etc.), recompile et reteste. Ca m’a permis de trouver la valeur de mon contraste entre 0xB0 et 0xC4 (en gros) :
Ouf !
Voilà ma première expérience électronique avec le Raspberry Pi ! J’avoue maintenant ne pas trop savoir quoi en faire mais j’ai de l’imagination 🙂 Il y a des possibilités avec des librairies et pourquoi pas interagir depuis un site web …
A vos fers à souder ! 🙂