반응형 GUI 프로젝트42 [파이썬 저울 연결] 6. 0점조절, tare 시 오류 지금까지 짠 코드는 아래와 같다. import serial import re ser = serial.Serial(port='COM8', baudrate=9600, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, timeout=0.1) while(True): ser.close() ser.open() #값 불러오기 res=ser.readline() #문자열로 변환 res=str(res) #숫자 부분 추출, 추출 결과는 ['숫자'] 형태 res=re.findall("\d+.\d+",res) #문자열 추출 res=res[0] #실수로 변환 res=float(res) print(res) 영점 조절을 하거나 tare 를 할 때 코드가 종료된다. 또는 영점조절 직후 무.. 2022. 1. 7. [파이썬 저울 연결] 5. timeout 옵션에 대하여 지금까지 짠 코드는 아래와 같다. import serial import re 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() #문자열로 변환 res=str(res) #숫자 부분 추출, 추출 결과는 ['숫자'] 형태 res=re.findall("\d+.\d+",res) #문자열 추출 res=res[0] #실수로 변환 res=float(res) print(res) timeout을 0으로 두면 오류가 뜬다. None이나, 다른 수로 두면 괜찮.. 2022. 1. 7. [파이썬 저울 연결] 4. 문자열에서 무게만 추출하기 지난시간까지 저울의 현재 무게를 받아왔다. 코드는 아래와 같다. import serial ser = serial.Serial(port='COM8', baudrate=9600, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, timeout=None) res=ser.readline() 이번에는 숫자만 추출하여 결과를 표시해보려고 한다. while 문은 잠시 지우겠다. 아래 코드에서 시작하자. import serial import re ser = serial.Serial(port='COM8', baudrate=9600, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, timeout=None) res=ser.read.. 2022. 1. 7. [파이썬 저울 연결] 3. 명령어 입력 시 현재 무게 받아오기 지난시간까지 만든 코드는 아래와 같다. 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 문을 통해 물건을 올.. 2022. 1. 6. 이전 1 ··· 7 8 9 10 11 다음 반응형