Ce post est le onzième d’une liste de tutoriels sur le raspberry PI, cliquez ici pour accéder au sommaire ! 😀
Aujourd’hui nous allons apprendre à faire ça :
Mais non pas la boite bande de péquenauds incultes (wink wink nudge nudge), mais ce magnifique écran LCD, à l’origine utilisé sur les vieux téléphones nokia (ben oui on est pas des nouilles molles).
Le but de ce tuto sera donc de brancher un petit écran LCD rétro éclairé (a 2,50€ sur ebay cela dit) et d’y afficher un texte choisis.
Je suis partis du principe que je voulais, lorsque je branche mon raspberry au labo ou autre part, récupérer l’adresse ip qui lui est automatiquement attribué par le réseau sur lequel je me connecte, et l’afficher sur l’écran afin que je puisse me connecter au rpi en ssh sans avoir a demander a l’admin du réseau cette fameuse ip.
(oui je sais la ça n’est pas une IP réseau mais j’ai perdu l’autre photo alors on vas s’en contenter )
Ce sera donc notre fil rouge , je vous rassure tout de suite, l’intro est longue, mais le tuto lui est très court, je m’en voudrait de vous tuer une seconde fois après le tuto sur la réception radio .
Le matériel
- Un raspberry Pi (holala quelle surprise ! )
- Un écran LCD nokia 5110 à 10€ sur sparkfun, 4,89 € sur ebay, voir même à 2,50€ si vous cherchez encore sur ebay et peut être moins cher ailleurs
- Quelques fils qui trainent, un peu d’étain, et un fer à souder
Les branchements
Notez que l’écran possède deux rangée de 8 Trous à l’opposée l’une de l’autre, vous pouvez utiliser l’une ou l’autre des rangées ça ne fais aucune différence, nous utiliserons celle avec les inscriptions de chaque pin afin d’être sûr de ne pas faire d’erreurs.
Les 4 trous sur les coins sont uniquement la a titre de fixation, ils ne sont reliés à rien
Voila le branchement en image, fiez vous aux couleurs pour le fils qui sont un peu cachés :
ATTENTION : sur mon écran l’alimentation principale est en 5V, cependant il semble que plusieurs sous modèle de la même référence n”acceptent que du 3v en entrée, aussi ne reliez comme ci dessous qu’après avoir regardé la fiche technique de votre écran.
Si votre écran n’accepte que du 3V, reliez le fil rouge coté rpi au pin 1 et non au pin 2.
Le programme
Pour installer le programme , ouvrez la console SSH de votre rpi, et tapez les commandes suivantes :
Téléchargement du programme
nb: la source est dans le zip pour ceux qui voudraient comprendre plus en détail le fonctionnement du script :).
sudo wget http://idleman.fr/ressources/PHP/piScreen/lcd.zip
Décompression
sudo unzip lcd.zip
Déplacement
sudo mv lcd /etc/lcd
Le programme est installé
Utilisation
En ligne de commande
/etc/lcd/screen -p "Hello world"
Options
- -hcommande d’aide
- -iaffiche l’ip LAN de la machine courante à l’écran
- -naffiche le nom de la machine courante (hostname) à l’écran
- -p[text] affiche le texte spécifié à l’écran
- -p [text] [0-10] affiche le texte spécifié à l’écran et définis le contraste de l’écran
Obtenir son IP sur l’écran lorsqu’on se connecte a un réseau
Comme vous avez u le voir dans les options, la commande
/etc/lcd/screen -i
Il nous suffit donc de lancer un CRON (une tâche planifiée) qui vas lancer cette commande toutes les x minutes (moi j’ai mis toutes les 1 minutes, mais bon c’est mieux d’augmenter un peu histoire de ne pas flooder non plus).
Ouvrez votre crontab
crontab -e
Ajoutez la ligne
* * * * * /etc/lcd/screen -i
Enregistrez, fermez et hop ! Tuto terminé
A voir aussi
La même chose, avec un écran couleur et tactile de 36€ pour ceux qui ont les moyens
Encore la même chose, avec un écran moins cher (mais du coup de moindre capacité) a base de librairie python, très bien expliqué par notre amis Zem
Vu au labo, expliqué sur le blog ! Merci !
Par contre je trouve ta solution en C un peu lourde pour le coup, pas moyen de faire ça uniquement en script avec python comme avec l’article sur zem.fr ?
Ça serait plus léger (pas besoin de compiler toussa), pourquoi a tu choisis C ?
C’est pourtant difficile de faire plus rapide et léger que le C ^^, après si tu parle en terme de compilation c’est certain que c’est plus chiant, mais bon le but du programme est surtout de pouvoir l’appeler depuis une ligne de commande et donc pas forcement de toucher aux sources (même si je les ai laissées au cas ou), de cette manière il est possible d’utiliser le programme depuis python, PHP, shell, C etc… sans se prendre la tête avec du code supplémentaire.
Bref, c’est tout à fait possible de le faire en n’importe quel langage :), j’ai choisis le C pour sa performance, sa portabilité et sa facilité d’utilisation, après c’est relativement simple d’adapter en python si tu es plus python :), quelques noms de fonctions à changer tout au plus
Ha oui c’est sûr que les performances de C ne sont plus a prouver. Je te parlais surtout de la simplicité du langage ^^. On va dire qu’on s’en fiche un peu des performances brutes d’une application qui affiche une IP sur un écran non ? ^^
Enfin ça reste mon avis, je pense que je ferai du full python quand je recevrai le mien … Que j’attends … Toujours …
C’est certain :), après comme je te l’ai dis je ne compte pas vraiment le recompiler 10 000 fois ^^, il y a aussi un avantage a utiliser le C : on peux utiliser la librairie wiring Pi qui simplifie pas mal la vie sur les fonctions types shiftOut ou pulseIn, cela dis mon argument n’est pas très valable puisque visiblement quelqu’un a sortie un équivalent python ^^’
Courage, l’attente est longue, mais ça vaut le coup :), ça fait plusieurs mois que je l’ai, et je ne m’en suis toujours pas lassé, j’ai acheté des trucs a bien plus de 30€ qui m’ont tenu bien moins longtemps en haleine ^^
Au labo ? Tu bosse dans quoi ?
Je bosse dans l’informatique, comme beaucoup ici ^^, je parle du l@bx, aussi nommé labo, labo sauvage, lab, hackerspace, ou encore hacklab (ben oui les fondateurs du principes arrivaient pas a se décider sur une seule dénomination ^^), j’aime l’idée du labo sauvage, ça fait très repaire de savants fous, c’est très adapté au décor et à la population qui l’habite :p
Merci, encore ^^
Je peux savoir dans quel ville ce trouve ton labo?
Le l@bx se trouve à Bordeaux ^^, mais pour ce qui est des hackerspace il y en a un peu partout en France (moins qu’aux E-U évidemment, mais ça reste honorable)
Je croyais un labo de sciences 🙁 (je fantasmais déjà son implication dans des calculs scientifique génial style SF)
Sinon http://korben.info/35918.html, ça devrais te plaire 😉
Sympa le rpi store ^^, faudra que je mate ça.
Le hacklab est on ne peux plus scientifique, bien qu’il y ai aussi des artistes qui y passent, les domaines majeurs évoqué sont électronique, physique, et informatique.
Après c’est plus proche de la pratique à taton que de la pure théorie si c’est ce que tu entends par labo scientifique ^^
Je ne connaissais pas cette commande ^^, cela dit je l’ai testé hier au lab par curiosité, ça m’a sortis une 20 aine d’ip différente dont aucune ne correspondait au PI ^^, c’est sensé retourner quoi?
Sympa la cottonCandy, dommage qu’il n’y ai pas un peu plus d’accès bas niveau ça aurait presque pu se substituer au rpi 🙂
Ah bizarre, normalement ça devrait sortir les IP du LAN. J’utilise ça depuis toujours mais j’avoue que j’ai pas trop creusé le fonctionnement. Sinon essaye un ping en broadcast avant puis arp -a.
Ça dois beaucoup dépendre du niveau de sécurité du réseau, je tenterais ça a ma prochaine visite au labx 🙂
Salut,
Déjà, c’est mon premier commentaire, je tennais a te dire que tes articles sont excellent.
Maintenant j’ai une question. cet écran pourrait me plaire mais une chose me chagrine :
le GPIO4 que j’utilise pour le senseur de température DS18B20. je suis débutant avec le raspberry et je voudrais savoir s’il n’y aurais pas un moyen de combiner les deux ?
Merci
Salut 🙂 !!
Qu’entends tu par combiner les deux ? Si tu veux dire par la : utiliser le gpio4 pour le lcd ET pour le senseur, non ce n’est pas possible (enfin techniquement c’est possible mais c’est tellement tordu que même moi (qui suis pourtant bien tordu) je ne m’y risquerais pas) mais bon rien ne t’empêche de changer les pin du lcd :).
Si tu entendait juste : afficher la température du senseur sur le lcd, la c’est tout a fait possible, il suffit juste de rcuperer ta temperature et d’exécuter mon programme via la commande /etc/lcd/screen -p “ta_temperature”
ce que j’entends c’est utiliser le capteur de température pour mesurer la température ambiante et l’ecran pour afficher d’autre information. peut-on en editant les sources par exemple deplacer le gpio4 de l’ecran ?
Oui tout à fait :), c’est juste une constante en début de fichier à changer 🙂 (la seule qui est a 4) puis recompiler le programme (en oubliant pas de lier la librairie wiringPi)
Super, je te remercie grandement. j’ai commander cet ecran a cause (ou grace) a toi 🙂 dès que je le reçois je regarderais ca 🙂
Mille merci et continu comme ca
Salut falimero,
Ton capteur m’intéresse. Peux-tu m’en dire plus sur son fonctionnement ?
D’après ce que j’ai pu voir, on ne peut récupérer que des 0 ou 1 avec un port gpio.
Donc comment ça marche pour récupérer par exemple 20° ?
Je ne connais pas son capteur, mais je suppose que les informations se transmettent de la même manière que celle utilisée par les protocole radio etc…
A savoir qu’il n’utilise qu’un pin GPIO et transmet un signal de “n” bits (0/1) avec un écart de temps entre chaque bits.
Bref le 0/1 permet d’envoyer n’importe quelle information a partir du moment ou le transmetteur et le récepteur sont d’accord sur le protocole
D’abord un grand merci a idleman pour son site qui est super intéressant.
Si tu souhaites en savoir plus sur le montage d’un capteur de température sur le rpi tu peux suivre ce lien http://webshed.org/wiki/RaspberryPI_DS1820#How_to_use_DS18x20_1-wire_temperature_sensors_with_the_Raspberry_PI
Merci, je l’ai vu, mais mon raspian ne comprend pas oneWire ^^, et puis comme je fais tous ça via la radio, j’utilise un arduino de transition 🙂
Bonsoir et t’il possible d utiliser cette écran
http://cgi.ebay.fr/204-20X4-20-4-2004-Blue-Character-LCD-Module-Display-LCM-Compatible-HD44780?item=221137744528&cmd=ViewItem&_trksid=p5197.m7&_trkparms=algo%3DLVI%26itu%3DUCI%26otn%3D5%26po%3DLVI%26ps%3D63%26clkid%3D4415305568448211658
Si oui comment augmenter le nombre de ports gpio du raspberry pour permettre un affichage et la gestion de relais physique 8 voir plus ?
Les deux questions sont bien distinctes 🙂
Mais oui il semble que cet afficheur convienne tout à fait pour le rapsberry PI, il te faudra en revanche coder toi même la gestion des registres de données pour afficher tes données a l’écran (comme je l’ai fait pour le nokia) bref tu ne peux pas réutiliser mon code avec cet afficheur (mais je suppose que tu t’en doutais ^^).
Pour ce qui est d’augmenter le nombre de pin GPIO, tu peux utiliser un shift register, c’est une petite puce qui permet de transformer 3 pin en 7 pin , sachant qu’il est possible de les monter en série et donc de disposer d’un nombre quasi infinis de pin avec seulement 3 pins du raspberry réellement prises.
Tu peux trouver une très bonne doc en français sur la question ici : http://www.zem.fr/decouverte-du-composant-74hc595-8-bit-shift-register/
Salut,
Pas con l’astuce de l’écran pour afficher l’IP, c’est vrai que c’est bien pratique.
Je compte également domotiser un peu mon appartement, la programmation c’est mon truc mais l’électronique pas du tout (études d’ingé en informatique) alors je me retrouve beaucoup dans les posts que tu rédiges.
Ton blog est une véritable source d’informations pour les gens qui veulent se mettre au “bricolage électronique” comme moi, et même si je commente rarement sur les blogs je n’ai pas pu me retenir de te féliciter pour ce site.
Merci encore, ce site est super, je te souhaite bon courage pour le continuer 🙂
PS: Comment comptes tu relier le reste des équipements de ta maison à ton Rasp ? j’ai bien saisi le principe de la carte relais mais bon si faut passer des cables dans les murs autant faire du KNX ^^ Par radio justement ? Je vois que tu as commencé à travailler avec.
Sinon pour la bibliothèque de reconnaissance vocale, plutôt que de dépendre d’un PC fixe avec Windows (même si l’api speech de microsoft est vraiment pas mal du tout) tu peux utiliser la bibliothèque Sphinx 4 qui fonctionne en java et peut donc être lancée directement sur le Raspberry Pi 🙂
Je suis content d’être utile aux mêmes informaticiens éléctro(nico)-handicapés de mon genre 😀
Je compte effectivement passer par la radio avec une solution maison et donc peu couteuse (bien que je puisse encore réduire le prix, j’y travaille), mon tuto est en préparation (en fait il est fait mais je dois vérifier que le code que je met en ressource est bien à jour), la future présentation de ce tuto est déjà en ligne ici si ça t’intéresse : https://vimeo.com/56237967.
Concernant sphinx, je l’avais testé mais, même en anglais, il n’est pas parvenu a comprendre un seul de mes mots sur les 10 premiers essais, je suis donc resté sur la solution microsoft qui, malgrès toutes ses tares, fonctionne étonnamment bien ! Je n’ai pas encore essayé avec un micro adapté mais avec un micro standard inclus dans le portable, le taux de réussite est d’approximativement de 19/20, ce qui est admirable :), après c’est peut être juste ma voix qui passe bien a l’analyseur XD
Bonjour
Super le tuto! Peut on afficher la température des composants. Les vitesse cpu ou la durée de la battrie ?
On peut afficher n’importe quel type de texte, donc si tu récupere ces valeurs quelque part il te suffit de les transmettre à la commande :
./etc/lcd/screen -p "Vitesse du PU xxx"
merci poir l info
perso j ai recuperer un vieiller ecran 7 pouce tactile qui avai les cables vga /rca ect mai decouper je me suis pris la tete mais ca marche en rca
Bien joué :), ça n’a pas du être simple ^^
bonjour j ai reçus mon ecran et j avoue etre perdu ….
j ai c pin la
vss
vdd
vo
rs
rw
e
D0
D1
D2
D3
D4
D5
D6
D7
A
K
Oui, comme je te le disais la dernière fois, la gestion d’un écran LCD varie d’un écran a l’autre, si tu n’es pas trop balèze en électronique, mieux vaut prendre le même modèle que moi et suivre le tuto a la lettre.
Il faut que tu te réfère a la datasheet de l’écran comme je l’ai fait pour le mien, la comme ça ça ne m’évoque pas grand chose non plus a part peut être :
vdd = alimentation de l’écran
vss = alimenation de la backlight ?
e = ground?
rs = reset?
rw = read/write : définis si on veux lire la valeur de l’écran ou écrire une valeur ?
D0-D7 = pins de données?
salut a toi. j’ai une question. j’ai reçu mon écran et par contre a chaque commande que je tape il incrémente les caractère, j’ai pas l’impression que le reset fonctionne 🙁 as-tu ce problème .
Non, ca provient peut être de ton branchement?
nop, en prenant ce code : http://binerry.de/post/25787954149/pcd8544-library-for-raspberry-pi ca marcje nikel … je comprends pas.
Avec le même branchement ? Si tu tape un espace tout court ça donne quoi?
Au pire utilise l’autre librairie qui fonctionne, je ne me vexerais pas ^^
re bonsoir voici le lien de l ecran … desole de demander toujour de l aide je comprend que sa devienne lassant mais j ai cherche a comprendre /:
http://www.dz863.com/downloadpdf-nacfxgloki-DC1602A.pdf
Can’t find this page 404 error ,you will be redirected to home page after 5 seconds!
Hello,
Je me demandais a quoi servaient les deux connecteurs plats et verticaux, qui ressemble a des prises SATA mais plus larges.
D’apres http://elinux.org/RPi_Hardware il s’agit de prise DSI (http://www.mipi.org/specifications/display-interface) et CSI (Camera) qui sont prévus pour faire ce genre de d’affichage.
Bon, certes, c’est beaucoup moins rigolo et plus facile que de tout reverser soi même 🙂
L’avantage de cette interface, c’est quelle n’utilise pas les (rares) pin GPIO.
La liste des panels “supportés” est decrite ici:
http://elinux.org/Rpi_Screens#interfacing_to_Raw_LCD_panels
Nice, sinon pour augmenter le nombre de pin il y a les shift registers
exact page inaccessible j ai heberger le pdf voici le lien http://www.terafiles.net/v-177240.html
Merci
C’est un peu court comme doc, tu n’arrivera a rien avec ça a mon avis, il doit y avoir une datasheet plus complète ailleurs sur le web…
salut j ai recu mon ecran hier http://snootlab.com/adafruit/295-nokia-5110-3310-monochrome-lcd-fr.html
j ai tout bien brancher (et verifier) aujourdhui je vient vers toi car j ai un message d erreur mon ecran est celui du portable nokia
pi@raspberrypi / $ /etc/lcd/screen -p “Hello world”
-bash: /etc/lcd/screen: Permission non accordée
pi@raspberrypi / $ sudo /etc/lcd/screen -p “Hello world”
sudo: /etc/lcd/screen: command not found
pi@raspberrypi / $
c est grave docteur Idleman ???
Conneries à part, essaye :
sudo ./etc/lcd/screen -p "hello world"
./
car c est un scripte ???
Sa ne fonctionne toujours pas …
./ parce que c’est un programme a executer et non une commande linux native, essaye :
su
cd /etc/lcd
chmod 7777 screen
./screen -p "Hello world"
( le mot de pass root avant ca n etait pas cree je vient de le faire a l instant même .
plus d erreur mais mon écran est tout noir ..)
essaye de regarder l’ecran sous différents angles, c’est peux être juste un problème de contraste trop élevé, ça m’arrive parfois mais je n’ai pas encore trouvé d’ou ça viens
j ai débrancher re brancher et c ok par contre c est clair le contraste moyen aller encore merci byby
J’ai re-compilé ma version pour avoir un meilleur contraste si ça t’intéresse
j ai le meme probleme
pi@raspberrypi:~$ sudo unzip lcd.zip
Archive: lcd.zip
creating: lcd/
inflating: lcd/LICENCE
inflating: lcd/README
inflating: lcd/screen
inflating: lcd/screen.cpp
pi@raspberrypi:~$ sudo mv lcd /etc/lcdsudo mv lcd /etc/lcd
mv: la cible « /etc/lcd » n’est pas un répertoire
pi@raspberrypi:~$ sudo ./etc/lcd/screen -p “hello world”
sudo: ./etc/lcd/screen: command not found
Salut,
Visiblement tu as un problème de commandes linux basique la ^^
Essaye avec sudo mv -R lcd /etc/lcd
voila je suis bloquer la
pi@raspberrypi:~$ sudo wget http://projet.idleman.fr/domopi/data/piScreen/lcd.zipsudo wget http://projet.idleman.fr/domopi/data/piScreen/lcd.zip
–2013-01-22 20:45:52– http://projet.idleman.fr/domopi/data/piScreen/lcd.zipsudo
Résolution de projet.idleman.fr (projet.idleman.fr)… 85.68.150.50
Connexion vers projet.idleman.fr (projet.idleman.fr)|85.68.150.50|:80…connecté.
requête HTTP transmise, en attente de la réponse…404 Not Found
2013-01-22 20:45:53 ERREUR 404: Not Found.
–2013-01-22 20:45:53– http://wget/
Résolution de wget (wget)… échec: Nom ou service inconnu.
wget : impossible de résoudre l’adresse de l’hôte «wget»
–2013-01-22 20:45:53– http://projet.idleman.fr/domopi/data/piScreen/lcd.zip
Réutilisation de la connexion existante vers projet.idleman.fr:80.
requête HTTP transmise, en attente de la réponse…200 OK
Longueur: 13764 (13K) [application/zip]
Sauvegarde en : «lcd.zip.4»
100%[======================================>] 13 764 –.-K/s ds 0,06s
2013-01-22 20:45:53 (241 KB/s) – «lcd.zip.4» sauvegardé [13764/13764]
FINISHED –2013-01-22 20:45:53–
Total wall clock time: 1,7s
Downloaded: 1 files, 13K in 0,06s (241 KB/s)
pi@raspberrypi:~$ sudo unzip lcd.zipsudo unzip lcd.zip
unzip: cannot find or open lcd.zipsudo, lcd.zipsudo.zip or lcd.zipsudo.ZIP.
pi@raspberrypi:~$ sudo mv lcd /etc/lcd
mv: impossible d’évaluer « lcd »: Aucun fichier ou dossier de ce type
pi@raspberrypi:~$
Yop, je pense que tu devrait utiliser des utilitaires types winScp ou regarder la doc d’ubuntu concernant les commandes SSH, car tous tes problemes viennent de mauvaises manip fichiers avec les commandes.
Salut Idleman, j’ai le même écran que matt, seulement moi mon ecran n’est pas noir au contraire il est ultra lumineux, mais rien ne s’affiche, la question s’adresse donc aussi à matt, comment à tu fait les branchement (qui ne sont pas identique que celui de idleman) et commment puis-je faire pour essayer d’eteindre l’écran (histoire de voir si celui-ci est bien connecté a mon Rpi? )
Merci
Salut Idleman,
super tuto. J’ai tout suivi à la lettre et mon écran n’affiche rien.
Mon branchement : http://www.imagebam.com/image/a48dc5231763690
La LED de l’écran est allumée au bleu, j’ai testé la continuité du Pi Header à l’écran : tout est bon.
Vois-tu quelque chose ?
Merci @+
Kin.
La continuité “super tuto –> mon écran n’affiche rien” m’a beaucoup faite rire 😀
Je note que ton écran n’a pas l’air d’être similaire au mien, quelle est ta référence? Sympa le Pi Header, je ne connaissait pas (mais j’aurais du me douter qu’un truc comme ça existait :p)
Quelle est la commande que tu tape dans le ssh ? Il y a une erreur?
Nb: Tu devrais prendre du noir pour le ground et du rouge pour le vcc, ça t’aiderais (et moi aussi au passage ^^) a distinguer les branchements plus simplement
Ca charie ? 😉 Je voulais dire que ton tuto était exactement ce que je cherchais. A voir les comms je me doute bien que tout est suffisamment bien expliqué pour que ça marche, mais je rencontre quand même un problème.
J’ai testé un peu tout ce que ton prog fournissait :
sudo /etc/lcd/screen -i
sudo /etc/lcd/screen -p “test”
Aucun message d’erreur. Je retourne au prompt après l’exécution de la commande donc à priori elles passent.
J’ai également testé avec une autre source, celle qu’a testé falimero : http://binerry.de/post/25787954149/pcd8544-library-for-raspberry-pi
Et que dalle.
Pour l’écran je l’ai commandé sur un site qui proposait le même que le tien (le rouge) et cette version bleue m’a été livrée. Après recherche c’est bien le même écran (Nokia 5110). Les pins sont juste à un endroit différent. C’est pour cette raison que je t’ai fourni une photo de mon circuit, pour que tu puisses voir les quelques changements.
Pour les couleurs de câble, c’est pas faux 😉
Kin.
Oh non je ne me permettrais pas ^^, mais on est samedi soir, j’ai trois ou quatres pelforth dans le nez, un rien me fait rigoler 😀
tu tu fait :
su
puis
cd /etc/lcd
puis
./screen -p "coucou"
Il ne se passe rien du tout nulle part ? Si c’est le cas, ça doit effectivement venir tu branchement mais le fait que tu utilise un header PI, une carte avec des pin mélangés et que je vois double ne m’aide pas beaucoup ^^
As tu wiringi d’installé sur la machine ?
Salut Idle,
bien décuvé ?
Non aucun message, ni d’erreur, ni de rien.
oui j’ai installé WiringPi, pour pouvoir compiler des sources utilisant cette librairie.
Les pins sont nommés différemment mais elles sont bien toutes là.
Je vais fouiner côté constructeur ou sur le net pour déceler une éventuelle différence entre ton écran est le mien, alors que je rappelle que sur le site l’écran était rouge (le tien) et que j’ai reçu cette version (bleue).
Si tu as des idées où creuser je prends.
Merci @+
Kin.
Autre chose, j’ai un Raspberry Revision 2. Il semblerait qu’il y ait des différences avec leur GPIO.
Un rpi modèle B tu veux dire ? J’ai le modèle B perso donc ça ne devrait rien changer…
regarde dans le code source de mon application sir les numéro de pins correspondent bien à tes branchements 🙂
salut tu crois que c ‘est possible d installer un ventilateur de pc portable (5v)
sur le gpio pour controller la vitesse de rotation ?
http://www.hostingpics.net/viewer.php?id=32892120130108195559.jpg
ventillateur de carte graphique en 12v ( 32 degrees en lecture 1080P)
Oui, mais difficilement, les gpio du rpi sont digitaux et ne peuvent faire que du 0 ou 1 donc tu ne peux pas faire varier la vitesse ça sera du on ou du off.
Après tu dois pouvoir acheter un convertisseur digital/analogique, genre une potentiometre digital qui varie en fonction du code serie que tu lui envoie.
Sinon tu peux passer par une carte arduino, un peu moins cher que le rpi et qui possede des sorties analogiques, en revanche pas d’os installable dessus ni de connexion ethernet (sauf avec un shield ethernet a acheter en plus)
Merci pour les précisions j attend avec impatience ton prochain billet,sur le pi
Bonjour,
j’ai réaliser votre cablage et télécharger vos sources / exe.
C’est triste a dire, mais ca ne fonctionne pas 🙁
L’écran reste désespérément vierge.
Si je fais :
pi@toto /etc/lcd$screen -i
J’obtiens wiringPiSetup: Unable to open /dev/mem : permission denied
Librairie Wiring PI introuvable, veuiller lier cette librairie…
Et si je l’exécute par un sudo ./screen -i ca bronche pas, mais pas mieux niveau LCD.
ou est le souci, si souci il y a sur le code (ou le cablage, j’ai un modèle B rev 2)
Merci de vos lumières
As tu pensé a installer la librairie wiring PI?
Lance tout toujours en sudo pour tester, ta première erreur viens de la.
Pense a bien revérifier ton cablage, la correspondance pin wiring pi/pin physiques, etc…
Regarde aussi l’écran sous différents angles voir si ce n’est pas un pb de contraste
Bonsoir,
merci de la réponse.
Wiring Pi a bien été installé.
Je lance toujours par sudo, sauf pour test ou oubli 🙂
Le cablage est vérifié OK.
Si la version de wiring Pi est la même que la tienne, alors tout doit correspondre…
La mienne, je l’ai téléchargée hier, avant de faire le test.
Effectivement, en regardant en rasant, on aperçoit quelque chose.
Je vais mettre un potar sur la led…
Merci !
Re,
enfin, ceci dit, cela fonctionne que quand ca veut….
A mon avis, j’ai acheter 3 écrans HS…..
Car pour 1 :
Ca affiche, un peu, pas longtemps, et l’écran devient noir et blop, plus rien de rien, pour un autre, il ne se passe rien (pourtant lui, je lui ai refait une connectique directe, vérifiée et tout et tout, et meme avec un autre RPi).
Pour le troisième écran, je dis ca au pif, “jamais 2 sans 3″….
:/
Ou alors, c’est les 4.85V qui sont pas suffisant…
4.85 me parait assez, je serais toi je conserverais le premier et je réglerais le contraste 🙂
Par contre,
j’ai remarquer quelque chose.
Je vais fouiller le code, mais les caractères spéciaux et accentués font planter l’affichage.
Genre :
“C’est génial ça marche” ne s’affiche pas mais ” c est genial ca marche” si.
Dans ce cas c’est très certainement un problème de contraste, tu peux regler la valeur dans le fichier cource et le recompiler pour qu’il s’adapte a ton écran 🙂
La valeur se règle en hexadécimal (la calculette windows fait très bien la conversion decimale/hexa)
Bonsoir,
je n’avais pas vu dans le code que l’on pouvait régler le constraste (en fait, comme je rentre tous les soirs tard du boulot, l’électronique et l’informatique chargent bien une honnete journée, c’est mon métier 😉 je n’ai pas encore eu le temps de regarder en détail le code source, honte à moi 🙁
Je vais voir ca.
Merci !
Salut,
J’ai recompiler le source, et avec une valeur de A5 pour le contraste et ca fonctionne avec un de mes écran.
L’autre doit etre mal soudé ou alors HS.
Merci 😉
Salut,
ton tuto est terrible (les autres aussi d’ailleurs ^^).
Je voulais savoir comment on peux faire des retours a la ligne ?
\n ne fonctionne pas.
Et je sais pas si c’est normal, mais l’écran change légèrement de contraste constamment, c’est peux être un problème de soudure ?
Et c’est possible que tu m’explique a quoi servent les fonctions sheduler s’il te plait.
Je débute le C++ donc je suis pas encore a la gestion des processus, …
A prioriser le processus du programme sur tous les autres afin de simuler le temps réel, ceci permettant d’effectuer des opération très rapides comme l’envoie d’un signal radio (à la micro seconde prée) etc…, dans le cas du tuto 11, cette fonction ne sert à rien, elle est restée par historique mais il est tout a fait possible (théoriquement, je n’ai pas testé) de l’enlever afin d’alléger la tâche du rpi.
Haa d’accord merci, par contre pour les retours a la ligne, je peux faire comment ?
Et lorsque je veux afficher un text, celui ci est décalé de 1 caractère, le premier est un espace en fait.
Pour les retours à la ligne, il faudra mettre des caractères blancs ou programmer un caractères retour ligne toi même ^^, ce sont les joies du bas niveau 🙂
J’ai également le même soucis de contraste, j’ignore si cela viens du fait que le rpi n’est pas en temps réel ou d’un mauvais voltage/soudage du truc… mystère et boule de gommes 🙂
D’accord, je vais plancher la dessus. C’est possible d’avoir ton mail ou te pouvoir parler avec toi sur gmail si j’ai des questions ?
En tout cas merci encore pour ton travail 😀
D’acc.
Merci
Bonjour,
Je voulais savoir s’il était possible de mettre un bouton on/off sur le 5V pour allumer ou éteindre l’écran. Ainsi qu’un potentiomètre sur le 3.3 ?
Merciiii
Salut !! Oui c’est complètement possible, c’est d’ailleurs ce que j’ai fait sur le mien 🙂 (enfin j’ai juste mis le potars sur le 3.3 j’ai eu la flemme de mettre l’interrupteur on/off)
D’accord merci, au final j’ai mis un interrupteur sur le 3.3 seulement.
Je voulais savoir aussi comment régler le contraste ?
Au début t’avais mit un 3eme argument du style ./screen -p “texte” 5
A un moment tu met 0x98 dans LCD_C mais je sais pas comment le faire varier.
La je fais une class en c++ pour contrôler l’écran ainsi qu’une led et un bouton poussoir et je serais ravis de partager par la suite via ton site.
De plus je voulais ajouter un boutton et une led, mais il me reste qu’un port GPIO, je peux brancher l’un des deux sur une autre broche ? comme sur la MOSI, MISO, SCLK, CE0, CE1 ou sur les SDA0 et SCL0 ?
Je te déconseille l’utilisation des autres ports en tant que simple GPIO, même si c’est possible.
En revanche, il est possible de multiplier de manière conséquente les pins GPIO en utilisant une puce de type “shift register”.
Ce genre de puce très simple à utiliser et peu coûteuse permet de transformer 3 pin en 7 pin, et elle peux se monter en série sur ses congénères, par exemple avec seulement 3 puces, on arrive à 3 pins de perdues pour 12 pin de gagnées.
Evidemment il existe plusieurs modèles de shift register avec plus de pattes encore, cependant l’utilisation des shif registrer pose quelques inconvénients sur la table :
– Ça ne fonctionne qu’en sortie (donc utilisable dans notre cas que pour les prises/écran et autres actionneurs mais pas pour les capteurs)
– Plus il y en a montées en série, moins l’ouverture/fermeture sera réactive (mais bon c’est du bas niveau, donc ça depotte quand même) donc il faut faire attention a ne pas en monter trop pour les transmissions radio qui doivent être très réactives par exemple
– Ça complique (très legerement) le code
Un bon tuto la dessus : http://www.zem.fr/decouverte-du-composant-74hc595-8-bit-shift-register/
Oui j’ai enlevé l’argument parce qu’en fonction des branchements /ecran, la valeur min et la valeur max n’etait plus du tout appropriée 🙂
0×98 est une valeur hexadecimal qui influe sur le constraste, tu dois la faire varier (utilise la calculette windows en mode programmeur pour faire la conversion décimale/hexa) puis recompiler le code et tester. Il te faudra recommencer la manip jusqu’a avoir un contrast qui te convient 🙂
Je suis intéressé pour ta classe, je n’ai pas pris le temps de la faire mais ça serait une bonne idée 🙂
D’accord pour le shift register, mais a quoi servent les autres pin ? on peux quand même en faire quelques chose ?
Pour le contraste, cç va de quelle valeur a quelle valeur ? Sinon je vais y aller un peu au pif et je verrais.
Et pour la classe ca avance mais je vais avoir un problème avec le bouton, pour créé une sorte de thread qui ce déclenche lorsqu’on appuie dessus. Ca sera donc un peu long mais bon.
Merci pour ton aide en tout cas
Oui tu peux en faire quelque chose, théoriquement (je dis théoriquement car je ne maîtrise pas spécialement le sujet) il y a 17 pins utilisables en tant que GPIO simple.
8 pins seulement sont purement voué au bête 0/1, les autres sont initialement plus dédiées aux communications I2C (pin 3 et 5), SPI(pin 24,19,21,23 et 26), UART(pin 8 et 10) etc… mais peuvent être utilisé en tant que GPIO simple.
Seules quelques pin ne peuvent vraiment pas être utilisée tel que les pin 1,2,4,6,9,14,17,20,25 (respectivement : alimentation 3.3v,5v,5v et ground pour toutes les autres).
Je n’en sais rien pour le contraste, comme je te dis, ça semble varier en fonction du montage et de l’ecran, chez moi c’est entre 160 et 180 (vas savoir pourquoi…)
Bonne chance pour ta classe 🙂
Et est ce que je peux mettre un arduino sure le raspberry pi ? je pourrai le commander via du c++ ou php ?
C’est possible oui, via un shield arduino/raspberry PI ou simplement en communiquant via les ports série ou gpio
Oké, merci pour ton aide.
Je vais voir si je vais acheter un shift register ou directement un arduino et voir ce que je peux en faire.
Je vais aussi tester les autres pins, je vais voir la doc du raspberry et puis voila.
Une dernière question, quand je veux afficher un texte, la première lettre est décalé d’un rang, comme s’il y avait un espace devant. Tu sais d’où ça vient ?
Nop :), mais ça viens probablement de mon code de porko :p
Salut 🙂
Peut on compiler directement sur la Rasp?
J’ai essayé gcc screen.cpp -o screen
Mais je me fais insulter par le compilateur… Je suis pas certain qu’il y ai les librairies… Puis moi et l’info…
On peut le faire directement ou faut bouriner avec un cmake blabla?
Ah t’y étais presque !! (mais t’y était pas :p) :
g++ screen.cpp -o screen -lwiringPi
Heu? c’est une interface soft spi ou hardware spi ou pas spi?
De ce que j’en sais, ce n’est pas du spi, mais je peux me tromper, les divers protocoles de communication ce n’est pas mon fort (moiyenapetitdéveloppeur), voir la datasheet de l’écran pour plus d’infos.
moiyenateremercier,
Je vais biensur au début, commencer d’abord en premier à essayer tel que décrit ici mais…
à priori il serait éventuellement peut-être possible d’interfacer toussa en utilisant du hardSPI. J’attends mes cables pour essayer toussa.
Bonne chance 🙂
Bonjour idleman
j’avais une question rapide, j’ai cet écran :
http://cgi.ebay.fr/1PCS-84X48-84-48-Nokia-5110-LCD-Module-with-blue-backlight-adapter-PCB-/261034182941?pt=LH_DefaultDomain_0&hash=item3cc6d9891d
sur la 2eme photo on voit que les points de montage sont un peu différents de ton LCD.
Par exemple LED sur le tien devient LIGHT sur le mien, or quand je branche le LIGHT sur le 3v le rétro éclairage ne s’allume pas, pareil en le branchant sur le 5v. Par contre en le branchant sur une GPIO gérant le 1 ou le 0 il s’allume. C’est pas très gênant sauf que ça me bouffe une gpio pour rien … une idée du pourquoi du comment ? 🙂
merci
Je ne parvient pas a acceder à la fiche ebay, le service bloque la france visiblement …
bizzard ça marchait ce matin … j’ai uploadé le schema : http://www.hostingpics.net/viewer.php?id=250840schema.png
Autre chose bizzard, ils ne parlent que d’une alimentation en 3v et non 5v. J’y comprends plus rien du coup ;p
merci pour ta réponse
Visiblement ton écran ne s’alimente qu’en 3v3 (ce qui est tout à fait possible) en revanche pour le rétro éclairage je t’avoue que je ne comprend pas grand chose à ton schéma non plus ^^, visiblement il est constitué de 4 led à alimenter en reliant l’anode de chacune (pin 10,12,14,16) au VCC (3.3v) et la cathode (pin 11,13,15,17) à la masse via une résistance R1 18 R
vi c’est bizzard… enfin ca fonctionne, c’est juste que ca bouffe une gpio pour rien.
merci .. 🙂
a+
salut,
Merci pour l’excellent tuto, avec le même matériel cela fonctionne parfaitement!
j’ai par contre un souci, le contenu s’affiche dès la moitié de la première ligne uniquement, alors que sur les images du tuto, le texte commence bien sur le 1er digit.
– Est-ce que j’ai loupé un paramètre quelque part? comment commencer au début de la ligne?
– comment envoyé un saut de ligne? le traditionnel \n n’est pas interprété et s’affiche…
j’aimerais pouvoir écrire sur 2 lignes (ainsi si je ne parviens pas à commencer à écrire au début de la première ligne, je commencerai sur la 2e ligne de l’écran)
merci d’avance pour ta réponse
Si tu regarde dans le code il y a un moment ou j’ai mis deux blanc avant de commencer une phrase parce que mon écran était mal calibré, si tu les enlève ça devrait résoudre ton pb de départ en milieu de ligne.
Pour le saut de ligne ce n’est pas aussi simple ^^,a ma connaissance ya pas de caractères miracles il te faut calculer le nombre de lettre restantes pour terminer la ligne et la remplir par des espace :p
je vais enlever ces blancs et commencer à compter les caractères pour terminer ma lignes!
merci pour tes réponses
Bonne continuation
Bonjour,
Je me lance dans l’univers du RPI et de linux en même temps (pas facile). J’ai eu les même problème que matt mais après avoir appliqué la solution du chmod (encore aucune idée de ce que ça fait) ça fonctionne pas mal. Comme déjà signalé, un caractère blanc en début d’affichage et la gestion des caractères spéciaux ne fonctionne pas.
Merci pour tout tes tutos.
Fred
Sous linux tous les fichiers sont soumis à des droits (lecture, modification, supression, execution) représentés par des chiffres
Le chmod permet de modifier les droits des utilisateurs sur un fichier ou un groupe de fichiers de manière à autoriser ou à interdire certains type de droits (lecture, modification, supression, execution) à certains types d’utilisateurs (créateur du fichier, utilisateurs du même groupe, autres utilisateurs..).
Faire un chmod 777 -R sur un dossier c’est un peu la fête du slip pour tous les monde, tous les utilisateurs ont tous les droits sur tous les fichiers de ton dossier, c’est donc un bon moyen de temporairement tester un script sans se faire chier avec des droits, mais c’est pas sécurisé du tout, les barbus de linux deviennent généralement tout rouge quand tu évoque ça tout haut 🙂
Concernant les ptits bugs d’affichage, le code est encore améliorable, c’est pour ça que je fournis la source 🙂
Salut Idleman et un grand merci pour ce sublime tuto.
J’ai exactement le même souci que Mike, et je ne trouve pas l’endroit ou tu as mis les deux blanc (pour les retirer). C’est bien dans le screen.cpp? Et quelle ligne dois-je modifier? Merci d’avance et encore bravo.
C’est dans le screen.cpp, je les avais mis dans lcdwrite mais il semblerais qu’entre temps j’ai modifié mes sources, car visiblement ils n’y sont plus…
Merci pour ce rapide retour.
Donc apparemment y’a pas vraiment de soluce pour retirer les blanc en début de 1ère ligne sur l’écran du nokia? A part reprogrammer l’ensemble du script ou modifier une ou des valeurs quelque part. Ouille j’vais en chier avec mon niveau en C. 🙂
Bon ok je vais tenter… Et là impossible de compiler. Impossible de lier la librairie wiringPi je pense, j’ai un beau message à la con, en tapant:
g++ screen.cpp -o screen -lwiringPi
Résultat:
pi@raspberrypi /etc/lcd $ cc screen.cpp -o screen -lwiringPi screen.cpp:24:22: fatal error: wiringPi.h: Aucun fichier ou dossier de ce type
compilation terminated.
idem avec sudo
Heu c’est quoi le pb?
Y’a quelqu’un qui a une soluce, j’y comprend s plus rien moi.
Libraire WiringPi pourtant installée…
Snif!
visiblement il te manque le fichier wiringPi.h, l’installation ne doit pas être complete, mais je ne saurait t’en dire plus, la commande de compilation est pourtant bonne, donc le soucis doit veir de l’install de wiring pi, essaye de regarder les manips sur le site de l’auteur (https://projects.drogon.net/raspberry-pi/wiringpi/)
Merci Idleman, en effet j’avais zappé de faire un sudo ./build, forcement maintenant ça a l’air de marcher beaucoup mieux, du coup je vais tenter de modifier le code avec mes pauvres notion en C ou je pourrais tester d’autres scripts… C’est cooool! Merci pour tout. 😉
Ya pas de quoi, bonne continuation 🙂
Salut,
Tout d’abord félicitation pour tes tutos, ils sont pas mal du tout (top quoi!). Je cherche à utiliser le SPI de mon RPI mais plutôt pour recevoir. J’ai vu qu’il y a une lib dans wiringPi qui est wiringPiSPI. J’ai regardé ton code, tu n’a pas l’air de l’utiliser. Pourquoi? (rien d’inquisiteur dans la question, je cherche juste à me familiariser avec l’utilisation des GPIO du RPI: je suis en train de construire un chauffe eau solaire à base de vieux radiateur et j’aimerai bien utiliser le RPI pour le contrôle et le monitoring via internet <- ça, c'est mon graal, ce n'est pas pour de suite! :p )
Merci!
+
Et pourquoi ne pas utiliser l’UART, ou les autres protocoles de transmissions proposés ? Tout simplement parce qu’il fallait bien choisir quelque chose, que les gpio simple me suffisaient, et que c’est plus simple à aborder dans un tuto pour les novices :), après cette etit bête offre tellement de possibilités qu’il faut bien faire un choix à un moment ou à un autre ^^.
Pour le chauffe eau solaire il y a des ds18b20 (cf tuto 18) qui sont waterfproof je crois pour la partie monitoring ça peux le faire.
Pour l’allumage/eteignage du radiateur un simple relais et hp !! roulez jeunesse !! 😀
Salut !
Penses-tu qu’il est possible d’afficher sur ce petit écran la vitesse d’upload/download du raps ? J’aimerais peut être en faire une seedbox, et ça pourrait être sympa d’y coller un petit écran avec ces infos si c’est pas trop compliqué 🙂
Merci d’avance !
C’est tout à fait possible, il faut en revanche développer le programme pour l’affichage du download/upload, perso je n’en ai pas le temps mais ce n’est pas ultra compliqué en bidouillant tu devrait vite y arriver, il te suffit de toper la commande système pour récupérer les émission/réception de la carte réseau, de parser la ligne de résultat pour avoir les données brutes, puis de les afficher 🙂
Bon bah je m’y essaierais quand je serais un peu plus avancé dans mes bidouilles 🙂
Merci !
Salut !
Débutant de ce domaine et voulant installer cette écran, j’aurais voulu savoir si :
Ce genre de câble :http://snootlab.com/cables/23-kit-10-cordons-6-m-f.html
peut faire la même chose au niveau de tout ce qui est connecteur ? Merci
Un câble est un câble ^^, tant que ça conduit tu peux prendre ce que tu veux :p, tu pourrait faire tes connexions avec un trombone si tu le souhaitais, c’est juste moins facile :p
Bonjour,
bravo pour les tutos ils sont bien fait et très bien expliqués !
Une question cependant : est-il possible de brancher 2 écrans de ce type (http://www.ebay.fr/itm/84-48-LCD-Module-White-backlight-adapter-pcb-for-Nokia-5110-/140730843931?pt=LH_DefaultDomain_0&hash=item20c436431b#ht_2256wt_1157) sur le GPIO ? ou faut il un shift register pour y arriver ?
Merci d’avance
Fabien
C’est possible mais ça vas te bouffer masse de PIN, il est préférable de passer par un shift register 🙂
Moi je serai tenté de dire que ca bouffe une seule pin en plus.
Si tu branches les deux ecrans en parallèle sauf pour la pin SCE; la tu leur mets une commande SCE à chaque écran, ca doit pouvoir marcher non?
Très sincèrement je pense qu’il vas y avoir conflit quelque part, mais après je ne suis pas une référence en la matière 🙂
Salut,
Un grand merci pour ton tuto ! C’est lui qui m’a motivé pour me lancer dans la partie électronique 🙂
J’ai donc un écran comme le tien je pense (Arduino Compatible 1.6″ LCD Nokia 5110 LCD Module with White Backlit – Red + Silver). J’ai fait les soudures (une grande première) et j’ai utilisé ton programme mais malheureusement rien ne se passe à l’écran. Je peux le recompiler, le lancer sans erreur mais rien à l’écran.
Une idée ? Les branchements ? J’ai vérifié les câbles ça me parait bon, les 4 diodes aux bords de l’écran sont bien allumés mais rien de plus.
Merci encore
Su un ecran autre que le mien je peux difficilement t’aider :),as tu essayé de régler le contraste comme indiqué dans les commentaires ? 🙂
Salut !!!
Tous d’abord merci pour ton site super !!
J’ai récupérer un écran de 3310, je voulais savoir si les branchement était les mêmes ?
Mise a part le vout. http://www.amontec.com/lcd_nokia_3310.shtml
A bientôt !
L’ecran m’a l’air assez similaire oui 🙂 , après il y aura forcement quelques différences à adapter :), fie toi à la fiche technique
Bonjour,
Bravo pour les tutos, c’est toujours sympa de trouver des gars qui ont transpiré des neurones à ma place!
en attendant de recevoir mon RPI (chez materiel.net livré sous 48h en relais colis, j’ai pas attendu longtemps) j’ai démonté mon vieux 3110 qui trainait dans un tiroir pour recuperer l’écran.
J’ai tout branché impeccable et ca marche (presque) parfaitement.
cad que la commande screen -p “ca marche bien merci” affiche correctement “ca marche bien merci”.
le “(presque)” c’est que l’affichage ne commence pas au début de la premiere ligne, mais au milieu; c’est bizarre non?
j’ai essayé de comprendre ce qui se passe.
Je vais tester en ajoutant dans la fonction LcdInitialise() deux instructions pour initialiser X=0 et Y=0, pour lui spécifier de bien commencer en haut à gauche
ca devrai etre :
LcdWrite(LCD_C,0x80); //X=0
LcdWrite(LCD_C,0x40); //Y=0
ma vrai question c’est que je ne comprends pas le role de l’instruction dans la fonction LcdInitialise():
LcdWrite(LCD_C,0x0c);
je parle de la premiere; celle entre le 0x14 et le 0x20.
j’ai regardé dans le datasheet et, sachant que à ce moment la on est en mode etendu, pour moi le 0x0c correspond à 00001XXX qui est marqué “do not use”.
est-ce une erreur de ma part ou bien y a t’il un probleme? peux tu me dire ce qu’est censé faire cette instruction?
J’ai un autre souci, je n’arrive pas à faire fonctionner le retro eclairage, quand je le branche (en 3.3 ou en 5v) l’ecran n’affiche plus rien du tout. tu as une idée du pourquoi?
Une derniere question, dans les parametres, on doit parametrer le “mode bias”. sais tu ce que c’est? personnellement, je n’en ai aucune idée
Merci d’avance pour tes reponses et encore merci et bravo pour ton travail.
GC
Je t’admet que le code date et que je ne le maîtrisait déjà pas bien à l’époque, je serait donc bien en peine de te fournir une explication cohérente désolé ^^, au final tu es parvenu à recaler correctement avec ton correctif ? Même chose pour le mode bias :p
Pour le rétro éclairage, essaye avec une alim externe, le rpi gère très mal l’alim de composant externes un peu gourmand.
Ping Connexion d'un écran LCD au Raspberry Pi : le grand saut à moins de 10€ ! | Raspberry Pi Home Server
Salut Idle !
J’ai acheté il y a quelque temps deux écrans LCD nokia 5110 sur ebay.
REF : http://www.ebay.com/itm/261034182941?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649
Ce n’est pas le même que toi, mais les entrées sorties se ressembles.
L’éclairage (BackLight) fonctionne correctement, mais rien ne s’affiche sur l’écran.
J’ai changé les pins dans le code (puis recompilé) et j’ai aussi changé les broches physiquement, mais cela n’a aucun effet.
Cela se produit sur les deux écrans. Je ne pense pas qu’ils soient hors service.
As tu une explication ?
PS : la biblio WiringPi est bien installée, ainsi que Spidev.
Merci de ta réponse.
Bonsoir,
J’ai eu comme certains un souci de contraste que j’ai réussi à régler mais au niveau de l’écran l’affichage est pas génial.
Je m’explique ; parfois le texte commence en bas à droite de l’écran puis la suite est en haut à gauche.
Parfois tout est bien en haut mais la fin du texte est souvent bizarre.
Est-ce que quelqu’un a déjà rencontré ce type de souci et comment l’a-t-il solutionné.
Sinon super ton site je m’amuse à tester tes tutos ça me rappelle le temps des études 🙂
Bonjour !
Tout d’abord merci à toi Idle, de nous offrir de bon tuto qui nous poussent à acheter un raspberry et bidouiller ^^.
Grace à la commande suivante
sudo ./screen -p `ta commande linux`
il est possible d’exécuter n'importe quelle commande linux (pour ma part je cherchais un moyen d'afficher la température sur mon écran de nokia)
En espèrent que cela serve à des personnes
problème d’affichage, il faut utiliser les “ (la touches 7 ou è du clavier)
Bonjour,
Merci pour ces super tutoriels !
Malheureusement, je bloque sur l’utilisation de l’écran… j’ai fais le montage, installé les fichiers nécessaires en recompilant le code avec les emplacements des pins de sortie (je n’ai pas utilisé les même que dans le tuto). Et rien ne se passe. Les leds de rétroéclairage ne s’ éclairent même pas. Une idée pour comprendre d’où vient le problème ?
Est ce le même écran que sur le tuto ? Que se passe t’il lorsque tu branche uniquement le retro au rpi?
Bonjour à tous, pour ceux qui ont essayé un afficheur alternatif et pour qui ça ne fonctionne pas, voici les deux astuces qui ont résolu mon souci :
– Modifier la valeur du contrast à 0xB1
– Brancher le PIN BL (backlight) à GND, et alimenter Vcc à 3.3 V
Voici où j’ai trouvé mon écran : http://www.ebay.fr/itm/Module-LCD-84×84-White-Backlight-Adapter-PCB-for-Nokia-5110-Display-Arduino-/261291376653?
Bonjour, est-ce normal que je ne parvienne pas a récupérer le lcd.zip ? Il me met expiration du délai…
Normalement c’est réglé, le serveur avait crash 🙂
juste il ne serait pas possible de s’en servir pour avoir un visuel sur la console?
je pense qu’il faudrait un programme type
quand la touche T est est appuyée, alors on rajoute un T sur l’ecran
mais ca reste un peu galere (surtout pour les reponses de la console…)
Salut Idle,
je viens de faire ma première soudure, j’étais plutôt content jusqu’à ce que je me rende compte que j’ai soudé le truc à l’envers. Tu penses qu’il y a moyen de rattraper ça :/ ? En même temps je me voyais pas souder sur l’espèce de bout de plastique noir. Tu crois que je peux l’enlever, le mettre sur les broches du côté que j’ai soudé pour pouvoir brancher les cables du côté écran ? Même si c’est moche tant pis.
Ci-joint une photo pour que tu vois bien : http://hpics.li/6778388
Salut,
Super tuto, j’ai fait mes soudures et tout, mais quand j’ai voulu installer le programme, bim, 404 : l’adresse n’existe plus.
Est-ce que tu pourrais nous relinker les sources s’il te plait ?
Merci 🙂
Coucou :), normalement les liens sont remis d’applombs, je suis en phase de déménagement du coup le serveur de ressource à du mal à suivre 🙂
Ho ! Trop bien ! Merci boukou 😀
Dis-mois, selon toi, ça te semble faisable, quand on a seulement l’écran lcd ? j’ai fait un peu de récup’ sur une imprimante HP qui partait à la poubelle.
L’écran a ça comme dénomination: A018AN03 V3.
c’est un petit 1.8″, résolution de 280×220, 8bits de couleurs, bref ça peut être joli et utile.
Y’a une petite carte qui y est reliée ayant le doux nom de Q5786-60151 Xo
Donc ma vraie question est: existe-t-il des PCB qui permettent d’adapter un lcd vers la sortie (soit hdmi, soit RCA Vidéo du Rpi) ?
Très sincèrement je n’en sais rien, je pense que tous les écrans sont adaptables mais le protocole d’affichage ainsi que les branchements varient pas mal d’un écran à l’autre, il te faut essayer de trouver la datasheet de la reference de ton ecran voir comment fonctionne l’engin et si tu peux simplement l’adapter au rpi.
J’y ai regardé. la plupart des signaux mentionnés sont, autant le dire, incompréhensibles pour moi. Et j’ai fait STI électronique … Xo
deux trois liens:
_ page du composant:
http://www.panelook.com/A018AN03%20V3_AUO_1.8_LCM_overview_31.html
_ lien direct vers doc technique:
http://www.displayalliance.com/storage/1-spec-sheets/A018AN03-V3.pdf
Bonjour,
Merci pour ce tuto.
En regardant le code je suis interrogatif sur la valeur d’initialisation du LCD Vop : oO
LcdWrite(LCD_C, 0x98 ); // Set LCD Vop (Contrast).
Quand on lit le manuel http://skpang.co.uk/catalog/images/lcd/graphic/docs/User_Manual_ET_LCD5110.pdf page 11-17, ce paramétrage laisse pensez que nous précisons l’emplacement mémoire plutôt que le contraste T_T
A quoi sert le paramétrage Bias mode à 1:40 – 1:34 ?
As tu essayés de modifier ces paramètres faire LCD vop pour faire varier le contraste ?
Bonjour, tout d’abord, super tutoriel, bravo.
Cependant, j’ai un problème, l’écran affiche bien ce que je lui demande, mais n’importe où. Parfois en haut à gauche, parfois en bas a droite…
Tu aurais pu faire en sorte d’attribuer une ip fixe à ton raspberry, ça t’aurais éviter de faire tout ce développement…
Autrement, super tuto !!
Impossible car l’architecture du réseau peux varier d’un endroit à un autre, si j’attribue une ip fixe en 192.168.0.15 à mon pi et que je vais au hacklab par exemple, leur passerelle qui n’attribute que des adresse en 192.168.1.* m’ejectera avec une ip fixe.
De même si l’ip fixe que j’attribue est déja prise, mon rpi ne pourra pas non plus se connecter au réseau, bref c’est généralement une mauvaise idée d’attribuer une ip fixe.
Salut,
Super tuto mais ton lien “http://projet.idleman.fr/domopi/data/piScreen/lcd.zip” est dead :(.
Tu pourrais me les envoyer?
Merci
Le lien à été mis à jour merci de l’avoir signalé 🙂
Merci à toi de l avoir mis à jour 🙂
Hello
Impossible de télécharger le fichier ! message ERREUR 403 ! 🙁
Je ne retrouve plus mon précédent message a ce sujet, merci pour votre aide.
Bonjour,
Sur quel lien te base tu , http://idleman.fr/ressources/PHP/piScreen/lcd.zip fonctionne bien chez moi d’où que je teste….
Ton précédent message n’a pas encore été validé c’est pour ça que tu ne le trouve pas 🙂
Nb : ton problème viens peut être d’un proxy/firewall qui te bloque quelque part
Hello
D’abord Merci pour les tuto’s, sympa …. même si pour moi ce n’est pas “évident” ….
Donc effectivement cela concerne bien le lien cité :http://idleman.fr/ressources/PHP/piScreen/lcd.zip
1°) en SSH depuis mon PC sous LinuxMint 17 j’ai ce message d’erreur
2°) en ligne de commande depuis le Raspy idem
Cela pourrait donc venir de la configuration de ma 9Box ? T_T
Là je viens d’installer depuis ce site (http://mchobby.be/wiki/index.php?title=Pi-WiringPi-Installation) wiringPi avec succès
Mon écran est un Nokia 5510 made in China plus connu sous le doux nom de PCD 8544, j’ai un câblage différent a savoir, de gauche a droite : RST-CE-DC-DIN-CLK-VCC-LIGHT-GND
Je continue l’install depuis le site deja évoqué …j’vous tiens au courant
Merci de votre aide …..
PS: le précédent message évoquait ce même problème … j’ai cru ne pas l’avoir validé :siffle: 🙂
Peux tu télécharger le zip en tapant direct cette adresse dans ton navigateur ? http://idleman.fr/ressources/PHP/piScreen/lcd.zip
Je ne vois pas pourquoi ta box bloquerait cette adresse c’est étrange…
Hello
Oui j’ai téléchargé le fichier .zip depuis le lien, merci, mais toujours la même erreur si je suis le tuto
Depuis j’ai : reformaté la SD, réinitialisé la NeufBox, et …… que dalle Nada, des nèfles …. je désespère, je tourne en rond !
J’ai voulu mettre le fichier dé-zippé dans le répertoire du raspi mais il ne me les reconnais pas ! 👿
Quelqu’un a une corde T_T
essaye de dezipper sous windows avec 7zip, puis d’envoyer directement sur le rpi avec winscp
Merci pour la réponse
Sorry je suis sous LinuxMint17, et revenir sous Crosoft m’obligerais a reconfigurer mon poste de travail 👿
Je regarde la commande sous Linux …….
Bonjour, merci pour ce tuto fort utile, petite question, j’ai regarder les sources mais je ne comprends pas , j’aimerai afficher l’adress ip mais pas en eth, celle sur le wlan. malheureusement mes compétences sont limités. pourrais tu me donner un petit coup de main ?
merci a toi.
J’ai tout installer a la lettre mais lorsque je tape : /etc/lcd/screen -i
j’obtiens des caractères complètement foireux.
Quelqu’un a deja eu ce soucis ?
Oui moi aussi j’ai ce problème, tout comme plusieurs autres personnes qui ont commenté cet article. En fait n’importe quelle donnée envoyée à l’afficheur est susceptible d’être corrompue. Je me demande si le débit des signaux envoyés par le Pi ne serait pas un peu trop élevé pour le contrôleur. La doc du PCD8544 indique que la fréquence d’horloge maximale est de 4 MHz pour VDD = 3 V. Je vais réécrire des bouts de code en utilisant l’interface SPI hardware qui permet de fixer précisément la fréquence d’envoi. On verra bien si ça fonctionne mieux. Note : je suis sur un Pi 3, sensiblement plus rapide que le Pi original.
Suite à mon message précédent : en effet, en connectant l’afficheur à l’interface SPI cadencée à 4 MHz, tous les problèmes de corruption d’affichage s’en vont.
J’ai tout revue en boucle,
En gros le programme est écrit pour montrer l’ip LAN et pas WLAN.
Il suffit de modifier la ligne 251 , on remplace juste “eth0” par “wlan0”.
> cd /etc/lcd
> sudo nano screen.cpp
On valide avec “ctrl + x” puis “entrée” puis “y”
> g++ screen.cpp -o screen -lwiringPi
> chmod +x screen
Puis relancez le soft :
> ./screen -i
Quand au petit artefact a la fin de la chaine je n’ai pas trouver de solution pour le moment. Néanmoins ce fut cool de relire le code de idleman, bien foutus et instructif !
Salut,
je me permets d’ajouter un commentaire concernant l’utilisation de cet écran avec cette bibliothèque sur un Raspberry Pi A+.
Il faut modifier le eth0 en wlan0 dans le fichier screen.cpp et recompiler pour qu’on puisse avoir la fonction screen -i fonctionnelle en WiFi (du coup, on a l’adresse IP sur le réseau WiFi). Je cherchais aussi à utiliser d’autres Pins que celles par défaut dans le programme (vu que le raspberry Pi A+ a 40 pins, on a l’embarras du choix). Le numéro des pins au début du programme correspond à la numérotation dans wiringPi. Et on peut utiliser n’importe quelle pin du GPIO à condition de respecter ce numérotage et de recompiler le fichier source bien entendu.
Et merci beaucoup pour le tuto et le fichier source ! ça permet une utilisation basique du LCD vraiment facile.
Quelqu’un a t’il essayer un écran couleur?