
1、소개
18b20 디지털 온도 센서는 일반적으로 사용되는 디지털 온도 센서로, 수치 신호를 출력하며, 크기가 작고, 방해받지 않음이 강하고, 정확도가 높은 특징을 가지고 있습니다。디지털 온도 센서 연결이 쉽고, 포장된 후 케이블 트랙 온도 측정, 고炉 수위 주기 온도 측정, 보일러 온도 측정, 데이터 라우터 온도 측정, 농업 대棚 온도 측정, 정화실 온도 측정, 탄약고 온도 측정 등 다양한 비극한 온도 상황에 사용할 수 있습니다。내구성 있고 충격을 견딜 수 있으며, 작은 크기로 사용이 편리하며 다양한 포장 형식으로 제공되어 다양한 좁은 공간 장비 디지털 온도 측정 및 제어 영역에 적합합니다.
2、시뮬레이션 그래프

3、모듈 매개변수
핀 이름 | 설명 |
|---|---|
G | GND(전원 입력 부정极) |
V | VCC(전원 입력 정극) |
S | 디지털 신호 핀 |
전원전압: 3.3V / 5V
연결 방식: 2.54mm 레이아웃 핀저
설치방식: 더블스크루 고정
4、회로판 크기

5、아두이노 IDE 예제 프로그램
주의: 프로그램을 업로드할 때 라이브러리 파일 오류가 표시되면 먼저 라이브러리 파일을 가져오세요!
Arduino IDE 라이브러리 다운로드 및 导入 가이드:点击查看
예제 프로그램(UNO 개발 보드):
#include <OneWire.h>
#include <DallasTemperature.h>
OneWire oneWire_13(13);
DallasTemperature sensors_13(&oneWire_13);
DeviceAddress insideThermometer;
float ds18b20_13_getTemp(int w) {
sensors_13.requestTemperatures();
if(w==0) {
return sensors_13.getTempC(insideThermometer);
}
else {
return sensors_13.getTempF(insideThermometer);
}
}
void setup(){
Serial.begin(9600);
sensors_13.getAddress(insideThermometer, 0);
sensors_13.setResolution(insideThermometer, 9);
}
void loop(){
//DS18B20读取温度\nDS18B20连接在D6管脚,串口打印出温度值\n注:如果使用的DS18B20是散件,则需要在电源线和信号线之间并联一个5K左右的电阻
Serial.println(String("温度:") + String(ds18b20_13_getTemp(0)) + String("℃"));
Serial.println(String("温度:") + String(ds18b20_13_getTemp(1)) + String("℉"));
Serial.println("");
delay(1000);
}6、ESP32 Python 예제(Mixly IDE /미스키에 적용됨)
개발 보드를 선택하세요 Python ESP32 【ESP32 Generic(4MB)】를 코드 모드로 전환하여 업로드하십시오
주의: 프로그램을 업로드할 때 라이브러리 파일 오류가 표시되면 먼저 라이브러리 파일을 가져오세요!
미시지(Mixly)IDE ESP32 라이브러리 다운로드 및 가져오기 가이드:点击查看
예제 프로그램(ESP32-Python):
from machine import Pin
import time
class OneWire:
def __init__(self, pin):
self.pin = pin
self.pin.init(Pin.OPEN_DRAIN, Pin.PULL_UP)
self.pin.value(1)
def reset(self):
self.pin.value(0)
time.sleep_us(480)
self.pin.value(1)
time.sleep_us(60)
present = not self.pin.value()
time.sleep_us(420)
return present
def writebit(self, value):
self.pin.value(0)
if value:
time.sleep_us(10)
self.pin.value(1)
time.sleep_us(55)
else:
time.sleep_us(65)
self.pin.value(1)
time.sleep_us(5)
def readbit(self):
self.pin.value(0)
time.sleep_us(2)
self.pin.value(1)
time.sleep_us(15)
value = self.pin.value()
time.sleep_us(45)
return value
def writebyte(self, value):
for i in range(8):
self.writebit((value >> i) & 1)
def readbyte(self):
value = 0
for i in range(8):
value |= self.readbit() << i
return value
def readinto(self, buf):
for i in range(len(buf)):
buf[i] = self.readbyte()
class DS18B20:
def __init__(self, onewire):
self.ow = onewire
self.buf = bytearray(9)
def convert_temp(self):
self.ow.reset()
self.ow.writebyte(0xCC)
self.ow.writebyte(0x44)
time.sleep_ms(750)
def read_temp(self):
self.ow.reset()
self.ow.writebyte(0xCC)
self.ow.writebyte(0xBE)
self.ow.readinto(self.buf)
temp = self.buf[0] | (self.buf[1] << 8)
if temp & 0x8000:
temp = -((temp ^ 0xffff) + 1)
return temp / 16
def ds18b20_get_temp(w=0):
sensor.convert_temp()
t = sensor.read_temp()
if w == 1:
t = t * 9 / 5 + 32
return t
ds_pin = Pin(12)
ow = OneWire(ds_pin)
sensor = DS18B20(ow)
while True:
print(ds18b20_get_temp(1))
7、미스키 Mixly 예제 프로그램(그래픽 언어)
예제 프로그램(UNO 개발 보드):다운로드 클릭
주의: 프로그램을 업로드할 때 라이브러리 파일 오류가 표시되면 먼저 라이브러리 파일을 가져오세요!
미스키(Mixly)IDE Arduino 라이브러리 다운로드 및 가져오기 가이드:点击查看

예제 프로그램(ESP32 개발 보드):다운로드 클릭
주의: 프로그램을 업로드할 때 라이브러리 파일 오류가 표시되면 먼저 라이브러리 파일을 가져오세요!
미시지(Mixly)IDE ESP32 라이브러리 다운로드 및 가져오기 가이드:点击查看

8、테스트 환경 구축
Arduino UNO 테스트 환경 구축
부품 준비:“
HELLO STEM UNO R3 PRO 개발보드 *1
USB type-c 데이터 케이블 *1
디지털 온도 센서 (HS-S24A) *1
1P 모터 모터 드뷰론 라인 *3개 또는 3P 모터 모터 드뷰론 라인 *1개
전기 연결도):

ESP32 테스트 환경 설정
부품 준비:“업데이트 대기 중...
전기 연결도): 업데이트 대기 중...
9、비디오 강의
비디오 강의:点击查看
10、테스트 결과
Arduino UNO 테스트 결과:
선을 연결한 장치 이후로, 위의 프로그램을 U+ 프로그램 카드에 기록한 후, 시리얼 모니터를 열고,波特률을 9600으로 설정하면 현재 환경 온도를 시리얼 모니터에 출력할 수 있습니다.
