[질문][파이썬]RPI3와 ArduinoUno USB 통신이 제대로 안됩니다.



  • 라즈베리파이3와 아두이노 우노를 USB로 연결하여 사용하고 있습니다.
    파이썬을 사용하여 아두이노에서 측정한 센서값을 가져오고 싶은데
    콘솔 상에서는 정상적으로 작동하는데 파일로 실행을 하게 되니 제대로 값을 받아오지 못하고 있습니다.
    그래서 아두이노에서 간단한 소스를 사용하여 테스트를 해봤는데 역시 안됩니다…

    우선 아두이노 측 소스입니다.

    const int led = 8;
    
    boolean start = false;
    
    void setup() {
      // put your setup code here, to run once:
      Serial.begin(9600);
      pinMode(led, OUTPUT);
      digitalWrite(led, LOW);
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
      if(start){
        Serial.println("running...");
        delay(1000);
      }
    }
    
    void serialEvent(){
      start != start;
      //최초 1회만 켜지도록
      digitalWrite(led, HIGH);
    }
    
    라즈베리파이의 파이썬 소스입니다
    
    import serial
    import time
    
    ser = serial.Serial("/dev/ttyACM0", 9600, timeout=1)
    
    time.sleep(1)
    
    try:
       ser.write("0")
       while True:
          print ser.readline()
    except KeyboardInterrupt:
       ser.close()
    

    파이썬 소스를 파일로 저장하여
    sudo python test.py
    로 실행하면 출력되는게 하나도 없습니다.
    아두이노를 지켜보면 분명히 rx LED가 빤짝거리긴 하는데 말이죠…
    tx LED는 반응이 없습니다.
    소스가 잘못되었나 싶어 콘솔에서 직접 입력으로 사용하면 이상하게 잘 됩니다.
    어느 부분에서 문제가 생긴 것인지 모르겠습니다…도와주시면 감사합니다.

    즐거운 하루 되세요.


  • Global Moderator

    시리얼 이벤트가 들어오면 무조건 엘이디가 켜지나요?
    start변수가 변하지 않을것 같네요

    // start != start; // 비교연산자
    
    start = !start; // 논리연산자
    

    여야 할것 같은데요.



  • @Seungrok-Han 아하…제가 비교 연산자와 반대 연산자를 헷갈려버렸네요…감사합니다.


답글을 작성하기 위해 로그인
 

Rasplay Forum 사이트로의 연결이 끊어졌습니다. 다시 연결을 시도하는동안 잠시만 기다려 주십시오.