python/Lecture
[arduino][python] DS18B20 Digital Sensor pyserial 통신
jinozpersona
2023. 11. 23. 15:46
Arduino UNO R4 Wifi : DS18B20 및 Bluetooth 연결도
[Arduino IDE 사용] / [Visual Studio Code사용]
Arduino IDE or VS code 초기 셋팅 및 설정 참고
https://jinozblog.tistory.com/207
[arduino] LM35 / TMP36 Sensor 연결도 : arduino IDE or VScode 설정 및 모니터링
Arduino UNO R3 : LM35 Sensor 연결도(TMP36 동일) 및 전달함수식 LM35 Analog Output이므로 A0 ~ A5에 연결 : 필자는 A0에 연결 range : 온도 / 출력(전송)전압, -55ºC ~ 150ºC : -550mV ~ 1500mV LM35 Transfer Function Arduino AO resol
jinozblog.tistory.com
[Arduino Code]
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 13
OneWire Wire(ONE_WIRE_BUS);
DallasTemperature sensor(&Wire);
char value[8];
// arduino board
int baudrate = 9600;
void setup() {
Serial.begin(baudrate);
sensor.begin();
}
void loop()
{
sensor.requestTemperatures();
dtostrf(sensor.getTempCByIndex(0) , 5, 2, value);
Serial.println(value);
delay(1000);
}
Arduino Serial Monitor
[python Code]
import os
import platform
import serial
import serial.tools.list_ports as serial_port
port_lists = serial_port.comports()
if platform.platform()[0:5] == 'macOS':
port_type_ser = '/dev/cu.usbmodem'
for port_list in port_lists:
if port_list.device[0:16] == port_type_ser:
port_ser = port_list.device
else: # ubuntu
port_type_ser = '/dev/ttyACM'
for port_list in port_lists:
if port_list.device[0:11] == port_type_ser:
port_ser = port_list.device
if port_ser == None:
os.system("sudo chmod a+rw {}".format(port_ser))
else:
pass
baud_rate = 9600
# serial_port = '/dev/cu.usbmodemF412FA9B962C2'
# ard = serial.Serial(serial_port,baud_rate)
ard = serial.Serial(port_ser,baud_rate)
while(1):
if ard.readable():
# ard.readline() : Serial Monitor 내용을 한 줄씩 읽어온다.
raw_data = ard.readline()
# ard.decode() : readline을 decoding
data = raw_data.decode()[:len(raw_data)-1]
# Arduino Serial Monitor 처럼 print
print(data)
python Terminal Monitor
반응형