정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

라즈베리파이 조도센서 시리얼 통신
qhrduddl | 2018-12-07

ADC가 없어서 아두이노로 조도센서의 값을 받아서 라즈베리파이로 시리얼 통신을 하려고 합니다.

 

[아두이노 코드]

 

[파이썬 코드]

[파이썬 쉘 출력]

b'9'

b'8'

b'9'

b'\r'

b'\n'

b'9'

b'9'

b'0'

b'\r'

b'\n'


 

온습도 센서로 시리얼통신 할 때 처럼 코드를 짰는데 파이썬 쉘에서 출력값이 저렇게 나오네요.

아두이노 시리얼 모니터에서는 정상적으로

989

990

이렇게 출력됐는데 파이썬 쉘에서는 저렇게 출력되는 이유가 뭔가요?

제가 소스를 어떻게 고쳐야 할까요?

프로필사진

수박쨈 2018-12-13 15:52:31

파이썬 자체에서 read()가 char형으로 읽어오기 때문에 생기는 문제 같은데

뒤에 \r\n은 println()으로 보내기 때문에 붙은 특수문자입니다.

 

print()로 보내시면 붙지 않을거 같고,

 

그 다음에는 989가 9,8,9로 왔다가 세 문자를 합친다음 int형으로 변환시키면 해결될 문제같습니다.

그 부분은 파이썬 자체에서 형변환으로 수정해주시면 됩니다.

이전글   |    아두이노 블루투스 연결방법을 모르겠습니다 ㅠ... 2018-12-07
다음글   |    스텝모터가 회전을 안하고 진동만 울립니다... 2018-12-08