mirror of
https://github.com/kidoman/embd
synced 2025-07-03 20:07:40 +02:00
Merge pull request #19 from matthewdale/master
controller: add a lib for the HD44780 character display controller
This commit is contained in:
commit
91dc0f5744
6 changed files with 1299 additions and 0 deletions
45
samples/characterdisplay.go
Normal file
45
samples/characterdisplay.go
Normal file
|
@ -0,0 +1,45 @@
|
|||
// +build ignore
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"time"
|
||||
|
||||
"github.com/kidoman/embd"
|
||||
"github.com/kidoman/embd/controller/hd44780"
|
||||
"github.com/kidoman/embd/interface/display/characterdisplay"
|
||||
|
||||
_ "github.com/kidoman/embd/host/all"
|
||||
)
|
||||
|
||||
func main() {
|
||||
flag.Parse()
|
||||
|
||||
if err := embd.InitI2C(); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
defer embd.CloseI2C()
|
||||
|
||||
bus := embd.NewI2CBus(1)
|
||||
|
||||
controller, err := hd44780.NewI2C(
|
||||
bus,
|
||||
0x20,
|
||||
hd44780.PCF8574PinMap,
|
||||
hd44780.RowAddress20Col,
|
||||
hd44780.TwoLine,
|
||||
hd44780.BlinkOn,
|
||||
)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
display := characterdisplay.New(controller, 20, 4)
|
||||
defer display.Close()
|
||||
|
||||
display.Clear()
|
||||
display.Message("Hello, world!\n@embd | characterdisplay")
|
||||
time.Sleep(10 * time.Second)
|
||||
display.BacklightOff()
|
||||
}
|
53
samples/hd44780.go
Normal file
53
samples/hd44780.go
Normal file
|
@ -0,0 +1,53 @@
|
|||
// +build ignore
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"time"
|
||||
|
||||
"github.com/kidoman/embd"
|
||||
"github.com/kidoman/embd/controller/hd44780"
|
||||
|
||||
_ "github.com/kidoman/embd/host/all"
|
||||
)
|
||||
|
||||
func main() {
|
||||
flag.Parse()
|
||||
|
||||
if err := embd.InitI2C(); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
defer embd.CloseI2C()
|
||||
|
||||
bus := embd.NewI2CBus(1)
|
||||
|
||||
hd, err := hd44780.NewI2C(
|
||||
bus,
|
||||
0x20,
|
||||
hd44780.PCF8574PinMap,
|
||||
hd44780.RowAddress20Col,
|
||||
hd44780.TwoLine,
|
||||
hd44780.BlinkOn,
|
||||
)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
defer hd.Close()
|
||||
|
||||
hd.Clear()
|
||||
message := "Hello, world!"
|
||||
bytes := []byte(message)
|
||||
for _, b := range bytes {
|
||||
hd.WriteChar(b)
|
||||
}
|
||||
hd.SetCursor(0, 1)
|
||||
|
||||
message = "@embd | hd44780"
|
||||
bytes = []byte(message)
|
||||
for _, b := range bytes {
|
||||
hd.WriteChar(b)
|
||||
}
|
||||
time.Sleep(10 * time.Second)
|
||||
hd.BacklightOff()
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue