]>
git.gir.st - RaspiRouter.git/blob - usr/bin/dispchar
4 import RPi
.GPIO
as GPIO
5 GPIO
.setwarnings(False)
7 # Zuordnung der GPIO Pins (ggf. anpassen)
15 DISPLAY_WIDTH
= 16 # Zeichen je Zeile
16 DISPLAY_LINE_1
= 0x80 # Adresse der ersten Display Zeile
25 GPIO
.setmode(GPIO
.BCM
)
26 GPIO
.setup(DISPLAY_E
, GPIO
.OUT
)
27 GPIO
.setup(DISPLAY_RS
, GPIO
.OUT
)
28 GPIO
.setup(DISPLAY_DATA4
, GPIO
.OUT
)
29 GPIO
.setup(DISPLAY_DATA5
, GPIO
.OUT
)
30 GPIO
.setup(DISPLAY_DATA6
, GPIO
.OUT
)
31 GPIO
.setup(DISPLAY_DATA7
, GPIO
.OUT
)
35 lcd_byte (0x0c, DISPLAY_CMD
) #cursor off
36 if len (sys
.argv
) > 1:
38 lcd_byte(ord(message
[0]),DISPLAY_CHR
)
39 lcd_byte (0x10, DISPLAY_CMD
) #shift curpos left
40 #mychar = ord(sys.argv[1])
42 #lcd_byte (mychar, DISPLAY_CMD)
43 # lcd_string (mystring[0:8])
44 # lcd_byte (DISPLAY_LINE_2, DISPLAY_CMD)
45 # lcd_string (mystring[8:16])
49 lcd_byte(0x33,DISPLAY_CMD
)
50 lcd_byte(0x32,DISPLAY_CMD
)
51 lcd_byte(0x28,DISPLAY_CMD
)
52 lcd_byte(0x0C,DISPLAY_CMD
)
53 #lcd_byte(0x06,DISPLAY_CMD) #advance cursor
54 #lcd_byte(0x01,DISPLAY_CMD) #clear display
56 def lcd_string(message
):
57 message
= message
.ljust(DISPLAY_WIDTH
," ")
58 for i
in range(DISPLAY_WIDTH
):
59 lcd_byte(ord(message
[i
]),DISPLAY_CHR
)
61 def lcd_byte(bits
, mode
):
62 GPIO
.output(DISPLAY_RS
, mode
)
63 GPIO
.output(DISPLAY_DATA4
, False)
64 GPIO
.output(DISPLAY_DATA5
, False)
65 GPIO
.output(DISPLAY_DATA6
, False)
66 GPIO
.output(DISPLAY_DATA7
, False)
68 GPIO
.output(DISPLAY_DATA4
, True)
70 GPIO
.output(DISPLAY_DATA5
, True)
72 GPIO
.output(DISPLAY_DATA6
, True)
74 GPIO
.output(DISPLAY_DATA7
, True)
76 GPIO
.output(DISPLAY_E
, True)
78 GPIO
.output(DISPLAY_E
, False)
80 GPIO
.output(DISPLAY_DATA4
, False)
81 GPIO
.output(DISPLAY_DATA5
, False)
82 GPIO
.output(DISPLAY_DATA6
, False)
83 GPIO
.output(DISPLAY_DATA7
, False)
85 GPIO
.output(DISPLAY_DATA4
, True)
87 GPIO
.output(DISPLAY_DATA5
, True)
89 GPIO
.output(DISPLAY_DATA6
, True)
91 GPIO
.output(DISPLAY_DATA7
, True)
93 GPIO
.output(DISPLAY_E
, True)
95 GPIO
.output(DISPLAY_E
, False)
98 if __name__
== '__main__':