Кто-нибудь может управлять диском HD44780 с помощью регистра сдвига 74HC595?

Используя Python, я пытаюсь взаимодействовать с ЖК-дисплеем HD44780 16x2 и хотел бы сэкономить несколько контактов от моих GPIO-банков Pi с помощью регистра сдвига 74HC595.

До сих пор мне удалось запустить жидкокристаллический дисплей с 6 выводами - используя библиотеку LCDChar от Apple Adafruit, и мне также удалось запустить кучу светодиодов через 595 благодаря библиотеке wiringPi2-Python.

Я провел много часов, пытаясь взломать библиотеку LCDChar Python на основе некоторого кода, выполненного для аналогичной цели для Arduino, но я не получаю большого успеха. Кто-нибудь из этого прекрасного сообщества может поделиться чем-то, что соответствует моей цели?

3 голоса | спросил Monsieur David 21 Mayam13 2013, 06:40:20

1 ответ


2

Библиотека WiringPi2 оказывается ответом. Он имеет расширение регистра сдвига, которое позволяет легко обращаться к 74HC595 без необходимости обрабатывать его регистры и сдвиги двоичных значений.

В нем также есть ЖК-дисплей, который обрабатывает HD44780.

Помещение двух вместе дает что-то вроде этого:

#!/usr/bin/python
from wiringpi2 import *

wiringPiSetup() #use wiringPi pin scheme

#assign values to 595's pins
pinBase = 100
RS =  pinBase + 0
E =   RS + 1
DB4 = E + 1
DB5 = DB4 + 1
DB6 = DB5 + 1
DB7 = DB6 + 1

#Pi's pin out using WiringPi's scheme
dataPin, clockPin, latchPin = 0, 1, 2

#           pin @ QA, num pins used, SER    , SRCLK   , RCLK 
sr595Setup (pinBase , 6            , dataPin, clockPin, latchPin)

# Now, let's handle the HD44780 ...
# RS, E, DB4, DB5, DB6 and DB7's signals are coming out of the 595
lcd = lcdInit (2, 16, 4, RS, E, DB4, DB5, DB6, DB7, 0,0,0,0)
lcdHome(lcd)
lcdClear(lcd)
lcdPosition(lcd, 0, 0)
lcdPuts(lcd, "oh yeah!")
lcdPosition(lcd, 0, 1)
lcdPuts(lcd, "it works!")

Страница Пластина и панель объявлений Adafruit RGB аналогичный пример, но на этот раз он показывает, как управлять HD44780 с помощью микросхемы MPIO MCP23017 I2C GPIO.

ответил Monsieur David 23 Mayam13 2013, 10:09:44

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132