[PYTHON] Utilisez l'écran LCD graphique comme un écran LCD de caractères pouvant également afficher des caractères chinois sur le Rasberry Pi

Si vous souhaitez afficher des caractères sur Raspberry Pi, le moyen le plus simple est de les afficher sur l'écran LCD des caractères. Cependant, dans le cas des cristaux liquides de caractères, la visibilité est mauvaise car la taille des caractères et les caractères pouvant être utilisés sont limités (généralement uniquement des caractères alphanumériques demi-largeur et des caractères demi-largeur). (Même s'il est affiché en kana demi-largeur, il ne peut pas être lu à la fois ...) Par conséquent, le but de cette fois est d'utiliser le cristal liquide graphique comme cristal liquide de caractère.

Résultat d'exécution

TL;DR -Préparer les cristaux liquides selon Contrôle des cristaux liquides graphiques avec Raspberry Pi 2 (1) Préparation. --Préparer un fichier de police au format ttf -Cloner la source de ** ici ** --Comment utiliser '/ home / pi / kochi-gothic-subst.ttf' Après avoir changé de fichier de police préparé python lcd_display.py" Caractères que vous voulez afficher "

environnement

Préparation de cristaux liquides graphiques

Au moment de l'achat, il n'y a pas de broches attachées à la carte LCD, vous pouvez donc l'utiliser en soudant les broches ou en la connectant au Raspberry Pi. Veuillez vous référer à la page suivante de sakura87.net pour une explication très détaillée. J'ai été très utile. Contrôle de l'écran LCD graphique avec Raspberry Pi 2 (1) Préparation

Affichage de l'image

Lorsque le cristal liquide est prêt, sortons une image bitmap monochrome vers le cristal liquide. La procédure est essentiellement expliquée en détail sur la page suivante de sakura87.net, veuillez donc vous y référer. J'ai été très utile. (2ème fois) Contrôle des cristaux liquides graphiques avec le contrôle Raspberry Pi 2 (2)

Traduire glcd.c en Python

Personnellement, j'aime Python, alors je l'ai traduit en Python.

Comme il est long, il est enregistré dans ** here Gist **.

S'il n'y a pas de câblage pi, installez-le avec la commande suivante.

sudo pip install wiringpi

Avec le travail jusqu'à ce point, l'image bitmap monochrome spécifiée par la commande suivante peut être affichée sur le TG12864B-02WWBV.

python glcd.py test.bmp

Création d'image bitmap

Maintenant que nous avons pu afficher une image monochrome, il est temps de créer une image bitmap monochrome à partir du texte. C'est presque la même que la source de référence ci-dessous, et la différence est que la taille de l'image, le bitmap monochrome est spécifiée, et elle est tournée de 90 degrés avant l'enregistrement. J'ai essayé d'utiliser le japonais avec PIL

make_bmp.py


#!/usr/bin/env python
# -*- encoding:utf8 -*-
from PIL import Image, ImageDraw, ImageFont
#Spécifiez la police. Les arguments sont "chemin de police", "taille de police" et "encodage" dans l'ordre.
#Spécifiez la police True Type comme vous pouvez le voir à partir du nom de la méthode
font = ImageFont.truetype('/home/pi/kochi-gothic-subst.ttf', 16, encoding='unic')
image = Image.new('1', (128, 64), '#ffffff')
draw = ImageDraw.Draw(image)
#Essayez de mettre des caractères japonais
#Les arguments sont dans l'ordre "(Coordonnée x en haut à gauche de la chaîne,Coordonnée y supérieure gauche de la chaîne)"Spécifier la police" "Couleur du texte"
draw.text((1, 1), u'Bonjour', font = font, fill='#000000')
#Si vous voulez que le côté avec la broche LCD soit orienté vers le haut ROTATION_90
image = image.transpose(Image.ROTATE_90)
image.save('hello.bmp', 'BMP')

Basé sur ce qui précède

Le résultat de l'ajout / correction du traitement des sauts de ligne de texte + α est enregistré dans ** here Gist **.

Afficher la commande au début


python lcd_display.py "28 août 2017 Le temps est ensoleillé et la température est de 30 ℃"

Vous pouvez changer la taille des caractères affichés en changeant «FONT_SIZE = xx» au début de la source. Le type de police peut être spécifié à la place de '/ home / pi / kochi-gothic-subst.ttf'.

référence

Épilogue

Étant donné que le TG12864B-02WWBV est connecté en parallèle, une grande quantité de GPIO est bloquée, je veux donc un cristal liquide peu coûteux pouvant être utilisé avec une connexion série. C'est généralement cher ou petit, et vous ne pouvez pas en trouver un raisonnable. Eh bien, pour le moment, je ne veux vraiment rien faire avec cet écran LCD, donc ça va. .. .. (Qiita n'est pas pratique car il ne peut pas être intégré dans Gist)

Recommended Posts

Utilisez l'écran LCD graphique comme un écran LCD de caractères pouvant également afficher des caractères chinois sur le Rasberry Pi
[Ne pas se référer au 04.02.17] Afficher le capteur de température dans un graphique en temps réel avec rasberry pi 3
[Python] J'ai créé une fonction qui peut également utiliser des expressions régulières qui remplacent toutes les chaînes de caractères à la fois.
Utiliser le capteur Grove avec Raspberry Pi
Trouvez un bâtiment de la même hauteur que Shin Godzilla sur Google Earth
[Hackason] À propos de la création d'un outil pouvant être imprimé sur Raspberry Pi [Outil pratique]