-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcontroller.py
More file actions
51 lines (42 loc) · 1.63 KB
/
controller.py
File metadata and controls
51 lines (42 loc) · 1.63 KB
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
import pyfirmata2
import serial.tools.list_ports
# Coba cari port Arduino secara otomatis
ports = list(serial.tools.list_ports.comports())
comport = None
for p in ports:
if "Arduino" in p.description or "CH340" in p.description or "USB-SERIAL" in p.description:
comport = p.device
break
if comport is None:
# fallback ke COM3 jika auto detect gagal
comport = "COM3"
print(f"Menghubungkan ke {comport} ...")
try:
board = pyfirmata2.Arduino(comport)
led_1 = board.get_pin('d:8:o')
led_2 = board.get_pin('d:9:o')
led_3 = board.get_pin('d:10:o')
led_4 = board.get_pin('d:11:o')
led_5 = board.get_pin('d:12:o')
def led(fingerUp):
if fingerUp == [0,0,0,0,0]:
led_1.write(0)
led_2.write(0)
led_3.write(0)
led_4.write(0)
led_5.write(0)
elif fingerUp == [0,1,0,0,0]:
led_1.write(1); led_2.write(0); led_3.write(0); led_4.write(0); led_5.write(0)
elif fingerUp == [0,1,1,0,0]:
led_1.write(1); led_2.write(1); led_3.write(0); led_4.write(0); led_5.write(0)
elif fingerUp == [0,1,1,1,0]:
led_1.write(1); led_2.write(1); led_3.write(1); led_4.write(0); led_5.write(0)
elif fingerUp == [0,1,1,1,1]:
led_1.write(1); led_2.write(1); led_3.write(1); led_4.write(1); led_5.write(0)
elif fingerUp == [1,1,1,1,1]:
led_1.write(1); led_2.write(1); led_3.write(1); led_4.write(1); led_5.write(1)
except Exception as e:
print("Gagal konek ke board:", e)
# dummy fungsi biar tidak error saat app.py dipanggil
def led(fingerUp):
pass