디지털 입력을 통한 아날로그 조이스틱 입력

디지털 입력을 통한 아날로그 조이스틱 입력

저는 전위차계(300-600), 전송 속도 9600의 장치 /dev/ttyACM0에서 숫자를 제공하는 Arduino를 가지고 있습니다.

이 숫자를 1축 조이스틱으로 사용하고 싶습니다.

내 시스템은 Archlinux와 X-Displaymanager입니다.

답변1

나는 Python과 uinput을 사용하여 이 작업을 수행했습니다.

#!/bin/env python2

import serial
import time
import uinput
ser = serial.Serial('/dev/ttyACM0', 9600)
events = (uinput.BTN_JOYSTICK, uinput.ABS_X + (0, 255, 0, 0))
device = uinput.Device(events)
device.emit(uinput.ABS_X, 128, syn=False)
while True:
    value = ser.readline()
    valuecorrect = value.strip()
    valuecorrect = int(valuecorrect)/4
    print valuecorrect
    device.emit(uinput.ABS_X, int(valuecorrect))

교정을 위해 jstest-gtk를 사용합니다.

관련 정보