아두이노에서 Python으로 문자열 보내기
Arduino 에서 아래 코드를 작성한 후 아두이노에 업로드 한다.
void setup() { Serial.begin(9600); pinMode(13, OUTPUT); } void loop() { Serial.println("Hello");
delay(500); } |
Python
파이썬에서 포트 COM12는 해당 PC 마다 틀리기 때문에 확인후 자신에게 맞는 포트를 선택한다.(툴-포트)
import serial arduino = serial.Serial('COM12', 9600) while(True): a=arduino.readline() print(a) a = a.decode() print(a) print('') |
Arduino
void setup() { Serial.begin(9600); pinMode(13, OUTPUT); } long sum = 0; void loop() { while (Serial.available() > 0) { long value = Serial.parseInt(); sum = sum + value; Serial.println(sum);
} } |
Python
import serial arduino = serial.Serial('COM12', 9600) while(1): c = input() # 유니코드로 입력 받는다. c= c.encode('utf-8') # 유니코드 문자열을 바이트 문자열로 바꾼다. arduino.write(c) # 시리얼 쓰기는 바이트만 가능하다. sum = arduino.readline() sum = sum.decode() print(sum) |
아래과 같이 입력한 숫자들이 누적된 숫자 값으로 보여진다.