import serial
import time
# 포트명은 환경에 맞게 수정: Windows='COM3', Linux='/dev/ttyUSB0', Mac='/dev/tty.usbmodem...'
arduino = serial.Serial(port='COM3', baudrate=9600, timeout=1)
time.sleep(2) # 아두이노 리셋 대기
print("1: LED ON, 0: LED OFF, q: 종료")
while True:
cmd = input("명령 입력: ").strip()
if cmd == 'q':
break
if cmd in ('1', '0'):
arduino.write(cmd.encode()) # 파이썬 3: bytes 전송 필요
if cmd == '1':
print("LED turned ON")
else:
print("LED turned OFF")
else:
print("잘못된 입력 (1, 0, q만 가능)")
arduino.close()
핵심 포인트 (파이썬 2 vs 3 차이)
arduino.write('1') → arduino.write(b'1') 또는 arduino.write('1'.encode()) (bytes 타입 필수)