2015-10-14 22:56:34 +02:00

83 lines
2.0 KiB
Python

# main.py -- put your code here!
import fontlcd
import mpr121
LED_RED = 0
LED_GREEN = 1
LED_YELLOW = 2
LED_BLUE = 3
BTN_Y = 0
BTN_X = 1
BTN_B = 2
BTN_A = 3
leds = [pyb.LED(i) for i in range(1, 5)]
for l in leds:
l.off()
lcd = fontlcd.FontLCD('X')
lcd.light(True)
lcd.loadFont('fourpx')
#lcd.write('Hello Master!\n')
m = mpr121.MPR121(pyb.I2C(1, pyb.I2C.MASTER))
def blob(x, y, w, h, fill):
for i in range(w):
for j in range(h):
if pyb.rng() & 0xff < fill:
lcd.pixel(x+i, y+j, 1)
btn_down = [False]*4
try:
while True:
t = m.touch_status()
# lcd.write("%4.2f -- %s\n" % (float(m.elec_voltage(3))/100, t))
# lcd.fill(0)
# for y in range(32):
# lcd.pixel(64, y, 1)
# for x in range(128):
# lcd.pixel(x, 16, 1)
# Button "Y"
if t & (2**BTN_Y):
if not btn_down[BTN_Y]:
leds[LED_RED].toggle()
lcd.write("You pressed Y!\n")
# blob(90, 20, 10, 10, 316 - m.elec_voltage(BTN_Y))
btn_down[BTN_Y] = True
else:
btn_down[BTN_Y] = False
# Button "X"
if t & (2**BTN_X):
if not btn_down[BTN_X]:
leds[LED_YELLOW].toggle()
lcd.write("You pressed X!\n")
# blob(30, 20, 10, 10, 316 - m.elec_voltage(BTN_X))
btn_down[BTN_X] = True
else:
btn_down[BTN_X] = False
# Button "B"
if t & (2**BTN_B):
if not btn_down[BTN_B]:
leds[LED_GREEN].toggle()
lcd.write("You pressed B!\n")
# blob(90, 5, 10, 10, 316 - m.elec_voltage(BTN_B))
btn_down[BTN_B] = True
else:
btn_down[BTN_B] = False
# Button "A"
# if t & 8:
# blob(30, 5, 10, 10, 316 - m.elec_voltage(BTN_A))
# lcd.show()
leds[LED_BLUE].intensity(345 - m.elec_voltage(BTN_A))
pyb.delay(20)
finally:
for l in leds:
l.off()