87 lines
1.6 KiB
Python
Raw Normal View History

2021-10-01 00:21:50 +08:00
import PikaStdLib
2021-10-19 08:15:01 +08:00
import PikaPiZero
2021-10-26 21:44:10 +08:00
import STM32
2021-10-27 15:24:42 +08:00
2021-10-26 21:44:10 +08:00
right = STM32.GPIO()
2021-10-27 15:24:42 +08:00
right.init()
right.setPin('PA0')
right.setMode('in')
right.setPull('down')
right.enable()
left = STM32.GPIO()
left.init()
left.setPin('PC13')
left.setMode('in')
left.setPull('up')
left.enable()
down = STM32.GPIO()
down.init()
down.setPin('PB6')
down.setMode('in')
down.setPull('up')
down.enable()
up = STM32.GPIO()
up.init()
up.setPin('PA15')
up.setMode('in')
up.setPull('up')
up.enable()
oled = PikaPiZero.OLED()
oled.init()
2021-10-26 20:31:56 +08:00
p0 = PikaPiZero.Point()
2021-10-27 15:24:42 +08:00
p0.x = 0
p0.y = 0
2021-10-26 21:44:10 +08:00
p1 = PikaPiZero.Point()
p1.x = 0
p1.y = 0
2021-10-27 15:24:42 +08:00
p2 = PikaPiZero.Point()
2021-10-27 22:45:17 +08:00
mem = PikaStdLib.MemChecker()
print('mem used max:')
mem.max()
2021-10-27 15:24:42 +08:00
pos = 0
isUpdate = 1
2021-10-25 20:16:08 +08:00
while True:
2021-10-26 21:44:10 +08:00
if isUpdate:
isUpdate = 0
p2.x = p1.x
p2.y = p1.y
p1.x = p0.x
p1.y = p0.y
if pos == 0:
2021-10-26 20:31:56 +08:00
p0.x = p0.x + 1
2021-10-26 21:44:10 +08:00
if p0.x > 15:
p0.x = 0
if pos == 1:
2021-10-26 20:31:56 +08:00
p0.x = p0.x - 1
2021-10-26 21:44:10 +08:00
if p0.x < 0:
p0.x = 15
if pos == 2:
2021-10-26 20:31:56 +08:00
p0.y = p0.y - 1
2021-10-26 21:44:10 +08:00
if p0.y < 0:
p0.y = 7
if pos == 3:
2021-10-26 20:31:56 +08:00
p0.y = p0.y + 1
2021-10-26 21:44:10 +08:00
if p0.y > 7:
p0.y = 0
oled.clear()
2021-10-26 20:31:56 +08:00
oled.drawPoint(p0.x, p0.y)
2021-10-26 21:44:10 +08:00
oled.drawPoint(p1.x, p1.y)
oled.drawPoint(p2.x, p2.y)
2021-10-27 22:45:17 +08:00
oled.refresh()
2021-10-26 21:44:10 +08:00
if right.read() == 1:
pos = 0
isUpdate = 1
2021-10-27 22:45:17 +08:00
if left.read() == 0:
pos = 1
isUpdate = 1
2021-10-26 21:44:10 +08:00
if up.read() == 0:
pos = 2
2021-10-27 22:45:17 +08:00
isUpdate = 1
if down.read() == 0:
pos = 3
isUpdate = 1