본문 바로가기

Arduino<>Python

arduino_python 양방향 통신

arduino python 송수신하는 양방향 통신입니다. 

순서 : python에서 임의의 수를 전송 ---> arduino 수신 --- 1를  더하여 python(PC)로  전송 --> 수신하여 출력

알림: USB 케이블이 연결된 상태에서 해봅니다.   이상이 없으면 케이블 제거하고,  부루투스 연결하여 통신해봅니다.

     : 새로 구입한 부루투스 통신 속도는 9600 BPS입니다. 아두이노, 파이션 모두 같은 속도로 합니다.

     : PC 장치관리자에서 blueTooth포트 번호를 확인합니다.

     : 아두이노 소스 업로드 하기전에  반드시 부루투스 모듈을 제거합니다.

아두이노 소스
 
int x;
void setup() {
  Serial.begin(9600);
  Serial.setTimeout(1);
}
void loop() {
  while (!Serial.available());
  x = Serial.readString().toInt();
  Serial.print(x + 1);
}

 

파이션 소스 
import serial
import time

arduino = serial.Serial(port='COM5',   baudrate=9600, timeout=.1)


def write_read(x):
    arduino.write(bytes(x,   'utf-8'))
    time.sleep(0.05)
    data = arduino.readline()
    return   data


while True:
    num = input("Enter a number: ")
    value   = write_read(num)
    print(value)

python 결과 입니다.

 

 

가져온곳