-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathboot.py
89 lines (62 loc) · 5.51 KB
/
boot.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
from machine import Pin
import time
from obocar import OBOCar
import framebuf
speed = 512 #max 512
# Initialize the OBOCar
car = OBOCar()
roboticgen_logo = bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x078\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xff\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00~\xff\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x00\x00\x06\x03\x80\x00\x00\x00\x00\x00\x00\x07\xfc\x00\x00\xf0\x00\x00\x0e\x07\x80\x00\x0f\x80\x00\x00\x00\x07\xfe\x00\x00p\x00\x00\x0e\x07\x80\x00?\xe0\x00\x00\x00\x07\xff\x00\x00p\x00\x00\x0e\x03\x00\x00\x7f\xe0\x00\x00\x00\x07\x07\x80\x00`\x00\x00\x0e\x00\x00\x00\xf0`\x00\x00\x00\x07\x03\x83\xf0\x7f\xc0~\x1f\xf3\x87\xe1\xe0\x00|\x07\xc0\x07\x01\xc7\xf8\x7f\xe0\xff\x1f\xf3\x8f\xf9\xc0\x01\xff?\xe0\x07\x01\xcf\xfc\x7f\xf1\xff\x9f\xf3\x9f\xf9\xc0\x01\xef?\xf0\x07\x01\xde\x1exs\xc3\x8e\x03\x9c1\x80\x03\x8e<p\x07\x03\x9c\x0eps\x81\xce\x03\x9c\x01\x80s\x9e88\x07\x8f\x9c\xcew;\x99\xce\x03\xb8\x01\xc0s\x1c88\x07\xff\x1c\xcec3\x99\xce\x03\xb8\x01\xc0s888\x07\xfe\x1c\x0eps\x81\xce\x03\xbc\x01\xe0s\xf088\x07\xfe\x1e\x1cx\xf3\xc3\x87\x03\x9e0\xf0s\xe288\x07\x0e\x0f\xfc?\xf1\xff\x87\xf3\x9f\xf8\x7f\xf1\xff88\x07\x07\x07\xf8?\xe0\xff\x03\xf3\x8f\xf8?\xe0\xff88\x07\x07\x03\xf0\x0f\x80~\x01\xf3\x83\xe0\x1f\xc0|\x180\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
obocar_logo = bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00<\x00\x7f\x06\x00\x0f\x80\x00\x01\xe0\x00\x1c\x0f\xfe\x00\x01\xff\x80~\x07\x00\x7f\xe0\x00\x0f\xfc\x00\x1c\x0f\xff\x80\x03\x00\xc0`\x01\x80\xe00\x00\x18\x06\x004\x00\x00\xc0\x06\x00``\x00\x81\x80\x18\x000\x03\x00&\x00\x00`\x0c\x000`\x00\xc3\x00\x0c\x00`\x01\x80b\x00\x00 \x08\x00\x10`\x00\xc2\x00\x06\x10@\x00\xc0C\x00\x000\x18\x00\x18`\x00\xc6\x00\x02\x00\xc0\x00\x00\xc1\x00\x000\x108\x08`\x01\x86\x00\x02\x00\x80\x00\x00\x81\x80\x000\x10|\x08`\x03\x84\x00\x03\x00\x80\x00\x01\x80\x80\x000\x10~\x08`?\x04\x00\x03\x00\x80\x00\x01\x80\xc0\x000\x10|\x08`\x03\x04\x00\x03\x00\x80\x00\x01\x00\xc0\x00\x00\x10<\x08`\x01\x86\x00\x02\x00\x80\x00\x03\x00@\xc0\x00\x10\x18\x18`\x00\x86\x00\x02\x00\xc0\x00\x02\x00``\x00\x18\x00\x18`\x00\xc2\x00\x06\x10@\x00\x86\x00 8\x00\x0c\x000`\x00\xc3\x00\x04\x10`\x01\x84\x000\x1c\x00\x04\x00``\x00\xc1\x80\x0c\x000\x01\x0c\x00\x10\x06\x00\x07\x00\xc0`\x01\x80\xc08\x00\x18\x07\x0c\x00\x18\x03\x00\x01\xc3\x80`\x03\x00p\xf0\x00\x0e\x1c\x08\x00\x08\x01\x80\x00~\x00`>\x00\x1f\xc0\x00\x03\xf0\x18\x00\x0c\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
fb = framebuf.FrameBuffer(roboticgen_logo, 128, 33, framebuf.MONO_HLSB)
car.OLED.framebuf.blit(fb, 0, 14)
car.OLED.show()
car.start_tone()
fb = framebuf.FrameBuffer(obocar_logo, 128, 25, framebuf.MONO_HLSB)
car.OLED.fill(0)
car.OLED.framebuf.blit(fb, 0, 20)
car.OLED.show()
try:
toggleFlag = 0
while True:
print(f"Front - {car.get_front_distance()} Left - {car.get_left_distance()} Right - {car.get_right_distance()}")
time.sleep(0.01)
if(car.is_buttonL_pressed()):
counter = 0
for i in range(0,10):
time.sleep(0.01)
counter += 1
print(counter)
if(car.is_buttonL_pressed() == False):
break
if(counter >= 9):
toggleFlag = not toggleFlag
car.display(str(toggleFlag), 35, 20)
time.sleep(0.5)
if(toggleFlag == 1):
print("Moving Forward")
car.move_forward(speed)
time.sleep(1) # Move forward for 2 seconds
print("Stopping")
car.stop()
time.sleep(1) # Stop for 1 second
print("Moving Backward")
car.move_backward(speed)
time.sleep(1) # Move backward for 2 seconds
print("Stopping")
car.stop()
time.sleep(1) # Stop for 1 second
print("Turning Left")
car.turn_left(speed)
time.sleep(1) # Move forward for 2 seconds
print("Stopping")
car.stop()
time.sleep(1) # Stop for 1 second
print("Turning Right")
car.turn_right(speed)
time.sleep(1) # Move backward for 2 seconds
print("Stopping")
car.stop()
time.sleep(1) # Stop for 1 second
except KeyboardInterrupt:
print("Stopping the car.")
car.stop() # Ensure the car stops when interrupted