-
Notifications
You must be signed in to change notification settings - Fork 1
/
lcd.py
94 lines (64 loc) · 1.81 KB
/
lcd.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
import wiringpi2
#import datetime
# --LCD
LCD_ROW = 2 # 16 Char
LCD_COL = 16 # 2 Line
LCD_BUS = 4 # Interface 4 Bit mode
PORT_LCD_RS = 7 # GPIOY.BIT3(#83)
PORT_LCD_E = 0 # GPIOY.BIT8(#88)
PORT_LCD_D4 = 2 # GPIOX.BIT19(#116)
PORT_LCD_D5 = 3 # GPIOX.BIT18(#115)
PORT_LCD_D6 = 1 # GPIOY.BIT7(#87)
PORT_LCD_D7 = 4 # GPIOX.BIT4(#104)
# --LCD
# --LED
led_pins = [21, 22, 23, 24, 11, 26, 27]
# --LED
lcdRow = 0 # LCD Row
lcdCol = 0 # LCD Column
lcdHandle = None
def lcd_setup():
wiringpi2.wiringPiSetup()
global lcdHandle
lcdHandle = wiringpi2.lcdInit(LCD_ROW, LCD_COL, LCD_BUS,
PORT_LCD_RS, PORT_LCD_E,
PORT_LCD_D4, PORT_LCD_D5,
PORT_LCD_D6, PORT_LCD_D7, 0, 0, 0, 0);
# set to read mode
for number in led_pins:
wiringpi2.pinMode(number,1)
# set to write mode
wiringpi2.pinMode(5,0)
wiringpi2.pinMode(6,0)
# clear the state
lcd_clear()
for i in range(0,7):
lcd_led_set(i,0)
return lcdHandle
def lcd_update(string, row):
string = string[0:16]
string = string.ljust(16)
wiringpi2.lcdPosition(lcdHandle, lcdCol, lcdRow + row)
wiringpi2.lcdPuts(lcdHandle, string)
#wiringpi2.lcdPosition(lcdHandle, lcdCol, lcdRow + 1)
#wiringpi2.lcdPrintf(lcdHandle, string_bottom)
def lcd_clear():
wiringpi2.lcdClear(lcdHandle)
def lcd_led_set(lcd_id, state):
wiringpi2.digitalWrite(led_pins[lcd_id],state)
def lcd_check_buttons(delay):
lbutton = 0
rbutton = 0
wiringpi2.delay(delay)
if wiringpi2.digitalRead(5) == 0: # Left button
print("left button pressed")
lbutton = 1
if wiringpi2.digitalRead(6) == 0: # Right button
print("right button pressed")
rbutton = 1
return (lbutton, rbutton)
#lcd_setup()
#lcd_clear()
#lcd_led_set(0,0)
#lcd_update("testing123", 0)
#lcd_update("fish",1)