JoyStick
2024. 6. 21. 12:04ㆍJetson
✅ JoyStick
- 1) 다이렉트 연결 제어
- 2) 무선으로 연결 제어
# jstest -> 찾을 수 없다 오류?
# 조이스틱 관련 라이브러리 설치하기!
# sudo apt-get install joystick
# js0에서 발생하는 이벤트를 사용자가 접근할 수 있도록 파이썬 라이브러리 설치
# sudo apt-get intsall python3-evdev
sudo apt-get install python3-evdev
import evdev
print(evdev.list_devices())
path = '/dev/input/event2'
device = evdev.InputDevice(path)
device
from evdev import ecodes
for event in device.read_loop():
if event.type == ecodes.EV_KEY:
if event.value == 1:
print(event)
if event.code == 288 :
print("💫1 버튼 클릭💫")
elif event.code == 289 :
print("💫2 버튼 클릭💫")
elif event.code == 290 :
print("💫3 버튼 클릭💫")
elif event.code == 291 :
print("💫4 버튼 클릭💫")
elif event.code == 292 :
print("💫L1 버튼 클릭💫")
elif event.code == 293 :
print("💫R1 버튼 클릭💫")
elif event.code == 294 :
print("💫L2 버튼 클릭💫")
elif event.code == 295 :
print("💫R2 버튼 클릭💫")
elif event.code == 296 :
print("💫Select 버튼 클릭💫")
elif event.code == 297 :
print("💫Start 버튼 클릭💫")
elif event.code == 298 :
print("💫왼쪽 조이스틱 클릭💫")
elif event.code == 299 :
print("💫오른쪽 조이스틱 클릭💫")
import custom
import head
from evdev import ecodes, categorize
for event in device.read_loop():
if event.type == ecodes.EV_KEY: # 디지털 신호
if event.value == 1: # 버튼 1 or 0 신호
print(event)
if event.code == 288 :
print("💫1 버튼 클릭💫")
elif event.code == 289 :
print("💫2 버튼 클릭💫")
elif event.code == 290 :
print("💫3 버튼 클릭💫")
elif event.code == 291 :
print("💫4 버튼 클릭💫")
elif event.code == 292 :
print("💫L1 버튼 클릭💫")
elif event.code == 293 :
print("💫R1 버튼 클릭💫")
elif event.code == 294 :
print("💫L2 버튼 클릭💫")
elif event.code == 295 :
print("💫R2 버튼 클릭💫")
elif event.code == 296 :
print("💫Select 버튼 클릭💫")
head.center()
elif event.code == 297 :
print("💫Start 버튼 클릭💫")
custom.stop()
elif event.code == 298 :
print("💫왼쪽 조이스틱 클릭💫")
elif event.code == 299 :
print("💫오른쪽 조이스틱 클릭💫")
elif event.type == ecodes.EV_ABS : # 아날로그 신호
absolute = categorize(event) # import categorize
code = ecodes.bytype[absolute.event.type][absolute.event.code]
value = absolute.event.value
# print(code) # ABS_Z, ABS_X, ABS_RX, ABS_RZ, ABS_Y
if code == "ABS_Y" :
if value == 0 :
print("💫왼쪽 조이스틱 UP💫")
head.tilt_up()
elif value == 255 :
print("💫왼쪽 조이스틱 DOWN💫")
head.tilt_down()
elif code == "ABS_X" :
if value == 0 :
print("💫왼쪽 조이스틱 LEFT💫")
head.pan_left()
if value == 255 :
print("💫왼쪽 조이스틱 RIGHT💫")
head.pan_right()
elif code == "ABS_RZ" :
if value == 0 :
print("💫오른쪽 조이스틱 UP💫")
custom.forward()
elif value == 255 :
print("💫오른쪽 조이스틱 DOWN💫")
custom.backward()
elif code == "ABS_RX" :
if value == 0 :
print("💫오른쪽 조이스틱 LEFT💫")
custom.left()
elif value == 255 :
print("💫오른쪽 조이스틱 RIGHT💫")
custom.right()
'Jetson' 카테고리의 다른 글
Data collection (0) | 2024.06.27 |
---|---|
Wireless_Joystick (0) | 2024.06.24 |
Face Tracking (1) | 2024.06.21 |
Cat Detection (0) | 2024.06.20 |
FaceDetection (0) | 2024.06.20 |