Raspberry B et écran 5110
Modérateurs : Francois, smba38
Raspberry B et écran 5110
Bonjour,
Je cherche à faire fonctionner un écran de Nokia 5110 sur mon Raspberry B (connecteur de 26 broches, j'espère ne pas me tromper dans la dénomination du Raspberry).
J'ai utilisé le tuto du site suivant : https://electroniqueamateur.blogspot.co ... ry-pi.html
Tout se passe bien à l'installation des bibliothèques.
Mais quand j'exécute un des scripts en exemple livrés avec les bibliothèques, j'ai un message d'erreur dans Thonny, qui met en cause la ligne du script qui initialise l'objet LCD, et un deuxième (cause du premier) qui indique un problème dans un fichier .egg (donc je ne peux pas alelr voir dedans).
Et donc, pour valider mon montage, je cherche un exemple de script très simple (juste un affichage de texte par exemple), avec la biliothèque qui va avec.
J'ai passé quelques heures à chercher, mais je ne trouve pas.
Si une bonne âme avait ça sous la main ...
Merci par avance.
Didier.
Je cherche à faire fonctionner un écran de Nokia 5110 sur mon Raspberry B (connecteur de 26 broches, j'espère ne pas me tromper dans la dénomination du Raspberry).
J'ai utilisé le tuto du site suivant : https://electroniqueamateur.blogspot.co ... ry-pi.html
Tout se passe bien à l'installation des bibliothèques.
Mais quand j'exécute un des scripts en exemple livrés avec les bibliothèques, j'ai un message d'erreur dans Thonny, qui met en cause la ligne du script qui initialise l'objet LCD, et un deuxième (cause du premier) qui indique un problème dans un fichier .egg (donc je ne peux pas alelr voir dedans).
Et donc, pour valider mon montage, je cherche un exemple de script très simple (juste un affichage de texte par exemple), avec la biliothèque qui va avec.
J'ai passé quelques heures à chercher, mais je ne trouve pas.
Si une bonne âme avait ça sous la main ...
Merci par avance.
Didier.
Re: Raspberry B et écran 5110
Bonjour,
Reprendre et vérifier ligne à ligne, le tuto, en essayant de comprendre ce qui est fait.
Ensuite, merci de poster les messages d'erreur, ça donnera potentiellement des pistes.
A+
Reprendre et vérifier ligne à ligne, le tuto, en essayant de comprendre ce qui est fait.
Ensuite, merci de poster les messages d'erreur, ça donnera potentiellement des pistes.
A+
Re: Raspberry B et écran 5110
Bonjour, et merci.
J'ai refait le tuto ligne à ligne, je pense comprendre ce que je fais : téléchargement des deux bibliothèques zippée ensemble, dézippage (ok confirmé par la création du bon répertoire sous mon home), puis exécution du script d'installation, qui semble se terminer comme il faut (pas de message d'erreur).
Voici les messages d'erreur lors du lancement dand Thonny d'un des exemples fournis :
Peut-être pourrais-je trouver un exemple plus simple, pour mettre au point l'usage de cet écran via SPI ?
Encore merci de t'intéresser à mon problème.
Didier.
J'ai refait le tuto ligne à ligne, je pense comprendre ce que je fais : téléchargement des deux bibliothèques zippée ensemble, dézippage (ok confirmé par la création du bon répertoire sous mon home), puis exécution du script d'installation, qui semble se terminer comme il faut (pas de message d'erreur).
Voici les messages d'erreur lors du lancement dand Thonny d'un des exemples fournis :
Je peux ouvrir le premier fichier Ecran 5110.py, voici le code jusqu'à la ligne 18 incriminée (je l'ai soulignée) :Run 'Ecran 5110.py'
Traceback (most recent call last):
File "/home/pi/Desktop/Ecran 5110.py", line 18, in <module>
disp = LCD.PCD8544(DC, RST, spi=SPI.SpiDev(SPI_PORT, SPI_DEVICE, max_speed_hz=4000000))
File "/usr/local/lib/python3.7/dist-packages/Adafruit_GPIO-1.0.4-py3.7.egg/Adafruit_GPIO/SPI.py", line 46, in __init__
self._device.cshigh = False
SystemError: error return without exception set
Quant au deuxième fichier incriminé, celui qui se termine en .egg, ce n'est pas du texte, donc je ne peux pas aller voir dedans, à supposer que je sois capable d'y comprendre quelque chose.#!/usr/bin/python
import time # pour le chronométrage des délais
import Adafruit_Nokia_LCD as LCD
import Adafruit_GPIO.SPI as SPI
import subprocess # pour aller chercher l'adresse IP
import datetime # pour l'affichage de la date
# PIL : Python Imaging Library
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
# Définition des broches utilisées
DC = 23
RST = 24
SPI_PORT = 0
SPI_DEVICE = 0
# déclaration d'un objet PCD8544
disp = LCD.PCD8544(DC, RST, spi=SPI.SpiDev(SPI_PORT, SPI_DEVICE, max_speed_hz=4000000))
Peut-être pourrais-je trouver un exemple plus simple, pour mettre au point l'usage de cet écran via SPI ?
Encore merci de t'intéresser à mon problème.
Didier.
Re: Raspberry B et écran 5110
Bonjour,
Avez-vous bien activé le SPI?
A+
Avez-vous bien activé le SPI?
Oui c'est bien précisé dans le tuto :Peut-être pourrais-je trouver un exemple plus simple, pour mettre au point l'usage de cet écran via SPI ?
Code : Tout sélectionner
shapes.py affiche une image statique constituée d'un cercle, un carré, un triangle, un X et l'inévitable expression "Hello World!"
A+
Re: Raspberry B et écran 5110
Bonsoir,
Oui, j'ai bien activé le SPI à l'aide de raspi-config.
Je vais essayer les autres exemples demain, et je reviens ici pour dire le résultat.
Merci !
Didier.
<edit le 13/09>J'ai essayé shapes.py, il semble que j'aie la même erreur :
Oui, j'ai bien activé le SPI à l'aide de raspi-config.
Je vais essayer les autres exemples demain, et je reviens ici pour dire le résultat.
Merci !
Didier.
<edit le 13/09>J'ai essayé shapes.py, il semble que j'aie la même erreur :
>>> %Run shapes.py
Traceback (most recent call last):
File "/home/pi/Adafruit_Nokia_LCD/examples/shapes.py", line 60, in <module>
disp = LCD.PCD8544(DC, RST, spi=SPI.SpiDev(SPI_PORT, SPI_DEVICE, max_speed_hz=4000000))
File "/usr/local/lib/python3.7/dist-packages/Adafruit_GPIO-1.0.4-py3.7.egg/Adafruit_GPIO/SPI.py", line 46, in __init__
self._device.cshigh = False
SystemError: error return without exception set
Re: Raspberry B et écran 5110
Bonjour, l'installation de toutes bibliothèques du tuto s'était bien passé ?
Le tuto s'applique à python3 (pip3 installe des modules pour python3)
C'est bien python3 que vous utilisez pour lancez le script ?
Enfin, il est possible de bien s'assurer que le spi est bien activé :
la commande
doit fournir en sortie
Le tuto s'applique à python3 (pip3 installe des modules pour python3)
C'est bien python3 que vous utilisez pour lancez le script ?
Enfin, il est possible de bien s'assurer que le spi est bien activé :
la commande
Code : Tout sélectionner
ls -l /dev/spidev*
Code : Tout sélectionner
crw-rw---- 1 root spi 153, 0 14 sept. 13:17 /dev/spidev0.0
crw-rw---- 1 root spi 153, 1 14 sept. 13:17 /dev/spidev0.1
1 Pi 4 Emby / Samba
1 Pi4 Librelec
1 Pi3 / Hifiberry OSMC
1 Pi0 : traker GPS et acquisitions de données moteur automobile
1 Pi 2 : pilotage de serrures / RFID
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32
1 Pi4 Librelec
1 Pi3 / Hifiberry OSMC
1 Pi0 : traker GPS et acquisitions de données moteur automobile
1 Pi 2 : pilotage de serrures / RFID
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32
Re: Raspberry B et écran 5110
Bonjour,
Oui, c'est bien python 3.
Et la commande ls -l /dev/spidev* donne bien la sortie attendue conforme à ce que vou avez indiqué.
Je vais être absent au moins une semaine, merci de ne pas m'en vouloir de ne pas répondre pendant cette période.
Merci.
Didier.
Oui, c'est bien python 3.
Et la commande ls -l /dev/spidev* donne bien la sortie attendue conforme à ce que vou avez indiqué.
Je vais être absent au moins une semaine, merci de ne pas m'en vouloir de ne pas répondre pendant cette période.
Merci.
Didier.
Re: Raspberry B et écran 5110
OK, une petite recherche sur google m'a ammené ici :
https://github.com/adafruit/Adafruit_Python_GPIO
Et on tombe là-dessus :
This library has been deprecated in favor of our python3 Blinka library. We have replaced all of the libraries that use this repo with CircuitPython libraries that are Python3 compatible, and support a wide variety of single board/linux computers!
Autrement dit : Adafruit_GPIO.SPI est dépréciée et abandonné au profit de Blinka (c'est expliqué sur la page)
Le lien amène au tuto suivant d'installation de blinka

A supposé (et c'est le cas si vous avez quivi le précédent tuto) que vous utilisez python3 avec pip3 (pip pour python 3)
Alors il suffit de faire
En suivant pas à pas les étapes décrites sur les copies d'écran
Ensuite, il y a un programme tout simple pour faire un test :
Mais après il faudra adapter le code initial pour utiliser import busio au lieu de import Adafruit_GPIO.SPI as SPI
et du coup :
disp = LCD.PCD8544(DC, RST, spi=busio.SPI(SPI_PORT, SPI_DEVICE, max_speed_hz=4000000))
devient
disp = LCD.PCD8544(DC, RST, spi=SPI.SpiDev(board.SCLK, board.MOSI, board.MISO))
en s'assurant que les broches utilisées sont bien celles par défaut du port SPI de votre Raspberry
et voir s'il est nécessaire et possible de préciser la fréquence max de 4 Mhz grâce à
https://docs.circuitpython.org/en/lates ... index.html
https://github.com/adafruit/Adafruit_Python_GPIO
Et on tombe là-dessus :
This library has been deprecated in favor of our python3 Blinka library. We have replaced all of the libraries that use this repo with CircuitPython libraries that are Python3 compatible, and support a wide variety of single board/linux computers!
Autrement dit : Adafruit_GPIO.SPI est dépréciée et abandonné au profit de Blinka (c'est expliqué sur la page)
Le lien amène au tuto suivant d'installation de blinka
A supposé (et c'est le cas si vous avez quivi le précédent tuto) que vous utilisez python3 avec pip3 (pip pour python 3)
Alors il suffit de faire
Code : Tout sélectionner
cd ~
sudo pip3 install --upgrade adafruit-python-shell
wget https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/raspi-blinka.py
sudo python3 raspi-blinka.py
Ensuite, il y a un programme tout simple pour faire un test :
Code : Tout sélectionner
import board
import digitalio
import busio
print("Hello blinka!")
# Try to create an SPI device
spi = busio.SPI(board.SCLK, board.MOSI, board.MISO)
print("SPI ok!")
print("done!")
et du coup :
disp = LCD.PCD8544(DC, RST, spi=busio.SPI(SPI_PORT, SPI_DEVICE, max_speed_hz=4000000))
devient
disp = LCD.PCD8544(DC, RST, spi=SPI.SpiDev(board.SCLK, board.MOSI, board.MISO))
en s'assurant que les broches utilisées sont bien celles par défaut du port SPI de votre Raspberry
et voir s'il est nécessaire et possible de préciser la fréquence max de 4 Mhz grâce à
comme documenté iciconfigure
https://docs.circuitpython.org/en/lates ... index.html
1 Pi 4 Emby / Samba
1 Pi4 Librelec
1 Pi3 / Hifiberry OSMC
1 Pi0 : traker GPS et acquisitions de données moteur automobile
1 Pi 2 : pilotage de serrures / RFID
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32
1 Pi4 Librelec
1 Pi3 / Hifiberry OSMC
1 Pi0 : traker GPS et acquisitions de données moteur automobile
1 Pi 2 : pilotage de serrures / RFID
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32
Re: Raspberry B et écran 5110
Bonsoir, et merci beaucoup pour cette recherche.
Désolé, je suis passé complètement à côté de cet avertissement de dépréciation de la librairie.
Je vais être absent toute la semaine, je vois ça dès mon retour.
Pour les bonnes broches GPIO, c'est vrai qu'on aurait voulu y mettre du flou on n'aurait pas pu mieux s'y prendre, alors qu'elle ont un numéro physique qui est sans ambiguïté. Mais je devrais l'en sortir.
Encore merci, je reviens ici pour faire un compte-rendu.
Didier.
Désolé, je suis passé complètement à côté de cet avertissement de dépréciation de la librairie.
Je vais être absent toute la semaine, je vois ça dès mon retour.
Pour les bonnes broches GPIO, c'est vrai qu'on aurait voulu y mettre du flou on n'aurait pas pu mieux s'y prendre, alors qu'elle ont un numéro physique qui est sans ambiguïté. Mais je devrais l'en sortir.
Encore merci, je reviens ici pour faire un compte-rendu.
Didier.