반응형
지난시간까지 만든 코드는 아래와 같다.
import serial
import sys
ser = serial.Serial(port='COM8', baudrate=9600, bytesize=serial.EIGHTBITS,
parity=serial.PARITY_NONE, timeout=None)
문제가 하나 있었는데, 저울에서 정보가 1초마다 전송되기 때문에 정보가 계속 쌓인다. 따라서 ser.readline( ) 명령어로 정보를 받아올 때, 현재 정보가 아니라 누적된 정보의 초기값부터 불러오기 시작한다.
이 문제를 해결하기 위해 고민했고 방법을 찾았다. 시리얼을 닫고 연 뒤 불러오면 된다. 닫고 여는 명령어는 아래와 같다.
ser.close()
ser.open()
아래와 같이 while 문을 통해 물건을 올려 놓는 순간 변한 무게를 받아올 수 있도록 하였다 .
import serial
import sys
ser = serial.Serial(port='COM8', baudrate=9600, bytesize=serial.EIGHTBITS,
parity=serial.PARITY_NONE, timeout=None)
while(True):
ser.close()
ser.open()
res=ser.readline()
print(res)
출력 결과는 아래와 같다.
다음 할 일은 문자열에서 숫자만 추출하는 것이다.
반응형
'GUI 프로젝트 > 저울 연결하기 (시리얼통신) (Tkinter)' 카테고리의 다른 글
[파이썬 저울 연결] 6. 0점조절, tare 시 오류 (0) | 2022.01.07 |
---|---|
[파이썬 저울 연결] 5. timeout 옵션에 대하여 (0) | 2022.01.07 |
[파이썬 저울 연결] 4. 문자열에서 무게만 추출하기 (0) | 2022.01.07 |
[파이썬 저울 연결] 2. 무게 받아오기 (pyserial) (0) | 2022.01.06 |
[파이썬 저울 연결] 1. 저울 선택 및 설정 (0) | 2022.01.06 |
댓글