Étape 3: Logiciel pour l’écran LCD
Assurez-vous que vous avez I2C kernel module chargé en utilisant :
sudo modprobe dev_i2c
Maintenant, vous devez savoir quel bus I2C votre Pi Framboise a disponible sur GPIO :
LS/dev/i2c-*
Il va afficher « / dev/i2c-x », où x représente le numéro de bus. Maintenant détecter l’adaptateur en utilisant la commande i2cdetect, en insérant votre numéro de bus :
sudo i2cdetect -y bus_number
Il devrait montrer l’adresse I2C de l’adaptateur dans le tableau (plus d’infos sur les adresses à le « étape 5. Chapitre Raccordement plus d’un sac à dos à un seul port I2C"). Si vous n’avez pas i2cdetect sur votre RPi, apt-get le paquet i2c-tools.
Est-il détecté ? Dans l’affirmative, excellent ! Si ce n’est pas le cas, vérifiez vos connexions. Assurez-vous que LED à bord du sac à dos était allumé - qui signifie que l’IC est alimenté.
Voici mon code Python pour conduire le sac à dos. Il fonctionne bien et a des commandes de base, et vous pouvez facilement ajouter vos propres en utilisant la fonction intégrée de Screen.command(lcd_command), qui envoie juste une commande à l’écran LCD. Été en utilisant ce code sans cesse depuis un an maintenant et elle survécu à deux ou trois écrans.
Téléchargez-le sur GitHub ou téléchargez la version annexée. Si vous lancer à partir de ligne de commande comme « python pcf8574_lcd.py », il sera auto-test. Si vous l’importez depuis un autre script Python, il aura juste un objet Screen, vous pouvez instancier et utiliser à la sortie des choses. En outre, il fonctionne avec des adresses différentes, afficher les combinaisons de lignes/colonnes et autres - simplement ajuster les variables d’initialisation et vous pouvez le faire travailler avec 20 x 2, 16 x 4, 16 x 1 et 20 x 4 écrans. Vous devrez peut-être passer différent addr et paramètres de bus si vous avez adresse différente de la carte et le bus I2C. Dans ce cas, utilisez le bus numéro que vous avez trouvé plus tôt et l’adresse I2C que vous avez trouvé dans la sortie d’i2cdetect.
Un inconvénient - vous devez l’exécuter en tant que root. Si vous avez besoin pour l’exécuter en tant qu’utilisateur non privilégié, me prévenir dans les commentaires et je vais vous expliquer ce qui doit être fait afin de pouvoir exécuter ceci en tant qu’utilisateur (cela mérite son propre Instructable, honnêtement).