exklibur 06/09/2024 04:38 PMI'm trying to use an LCD2004 with and PCF8574. Any help would be appreciated. I've thought of using VirtualPins is this the right direction ?
import hd44780 show *
import gpio
import i2c
import pcf8574 show *
main:
sda := gpio.Pin 2
scl := gpio.Pin 15
bus := i2c.Bus --sda=sda --scl=scl --frequency=100_000
device := bus.device 0x27
pcf := PCF8574 device
ret := pcf.read // Reads status of all port and returns list.
print "PCF read $ret"
EN-PIN ::= gpio.VirtualPin ::
pcf.set --pin=1
RS-PIN ::= gpio.VirtualPin ::
pcf.set --pin=0
D4-PIN ::= gpio.VirtualPin ::
pcf.set --pin=4
D5-PIN ::= gpio.VirtualPin ::
pcf.set --pin=5
D6-PIN ::= gpio.VirtualPin ::
pcf.set --pin=6
D7-PIN ::= gpio.VirtualPin ::
pcf.set --pin=7
display := Hd44780
--type = Hd44780.LCD-20x4
--en = EN-PIN
--rs = RS-PIN
--d4 = D4-PIN
--d5 = D5-PIN
--d6 = D6-PIN
--d7 = D7-PIN
// Write text on third line, 6th column.
display.write --row=2 --column=5
Hd44780.translate-to-rom-a-00 "βtoitβ" // Special characters requires translate_to_rom_a_00.
sleep --ms=2000(edited)