HS-S24-L Digital-Temperatursensor

HS-S24-L Digital-Temperatursensor

1、Einführung

2、Schemazeichnung

Digitales Temperatursensor HS-S24-L SchaltplanKlicken Sie zum Anzeigen

3、Modulparameter

Pinbezeichnung

Beschreibung

G

GND(Spannungsversorgungsminus)

V

VCC(Spannungsversorgungsplus)

S

Digital Signalspinne

  • Spannungsversorgung: 3.3V / 5V

  • Verbindungsmethode: PH2.0 Steckerkabel

  • Montageart: Doppelbolzenfixierung

4, Platinegröße

5、Arduino IDE Beispielprogramm

Achtung: Wenn beim Hochladen des Programms eine Fehlermeldung bezüglich der Bibliotheksdateien angezeigt wird, laden Sie bitte zuerst die Bibliotheksdateien herunter!
Anleitung zum Herunterladen und Importieren der Bibliotheksdateien für das Arduino IDE:
Klicken Sie zum Anzeigen

Beispielprogramm (UNO-Entwicklerboard):

/***********************************************************
 文件名:06_DS18B20Temperature sensor.ino
  描述:获取温度值,串口打印数据。
  作者:陈志强
  日期:2022.11.2
***********************************************************/
#include <OneWire.h>
#include <DallasTemperature.h>

OneWire oneWire_9(9);//18B20数字温度传感器接 Arduino 上的数字引脚9口
DallasTemperature sensors_9(&oneWire_9);//将 oneWire 引用传递给DallasTemperature库
DeviceAddress insideThermometer;

float ds18b20_9_getTemp(int w) {
  sensors_9.requestTemperatures();//发送命令以获取温度
  if(w==0) {
    return sensors_9.getTempC(insideThermometer);
  }
  else {
    return sensors_9.getTempF(insideThermometer);
  }
}

void setup(){
  Serial.begin(9600);
  sensors_9.getAddress(insideThermometer, 0);
  sensors_9.setResolution(insideThermometer, 9);
}

void loop(){
  
  Serial.println(String("温度:") + String(ds18b20_9_getTemp(0)) + String("℃"));//以摄氏度为单位打印温度
  Serial.println(String("温度:") + String(ds18b20_9_getTemp(1)) + String("℉"));//以华氏度为单位打印温度
  Serial.println("");
  delay(1000);

}

6、ESP32 Python Beispiel (für Mixly IDE /米思齐)

Entwicklungsboard auswählen Python ESP32 [ESP32 Generic(4MB)] auf den Code-Modus umschalten und hochladen

Achtung: Wenn beim Hochladen des Programms eine Fehlermeldung bezüglich der Bibliotheksdateien angezeigt wird, laden Sie bitte zuerst die Bibliotheksdateien herunter!
米思齐(Mixly)IDE ESP32库文件下载及导入教程:
Klicken Sie zum Anzeigen

示例程序(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 示例程序(图形化语言) in Deutsch

Beispielprogramm (UNO-Entwicklerboard):2、第二步将UNO开发板的库文件下载后解压在桌面。
Achtung: Wenn beim Hochladen des Programms eine Fehlermeldung bezüglich der Bibliotheksdateien angezeigt wird, laden Sie bitte zuerst die Bibliotheksdateien herunter!
米思齐(Mixly)IDE Arduino库文件下载及导入教程:Klicken Sie zum Anzeigen

Beispielprogramm (ESP32-Entwicklungsboard):2、第二步将UNO开发板的库文件下载后解压在桌面。

Achtung: Wenn beim Hochladen des Programms eine Fehlermeldung bezüglich der Bibliotheksdateien angezeigt wird, laden Sie bitte zuerst die Bibliotheksdateien herunter!
米思齐(Mixly)IDE ESP32库文件下载及导入教程:
Klicken Sie zum Anzeigen

8、Testumgebung Einrichtung

Testumgebung für Arduino UNO einrichten

Vorbereiten Sie die Komponenten:

  • HELLO STEM UNO R3 Entwicklungsplatine *1

  • HELLO STEM UNO R3 P Erweiterungsplatte *1

  • USB type-c Datenkabel *1

  • Digitales Temperatursensor (HS-S24P) *1

  • PH2.0 3P Doppelkopfsteckerleitung *1

Schaltplan der Leitung:

ESP32 Testumgebung einrichten

Vorbereiten Sie die Komponenten:Wird aktualisiert...

Schaltplan der Leitung:Wird aktualisiert...

9、Video-Tutorial

Arduino UNO Video-Tutorial:Klicken Sie zum Anzeigen

ESP32 Python Videoanleitung:Klicken Sie zum Anzeigen

10、Testergebnis

Arduino UNO Testergebnis:

Das Gerät ist angeschlossen und die obige Software auf die Entwicklungsplatine programmiert. Öffnen Sie den seriellen Monitor, stellen Sie die Baudrate auf 9600 und Sie können die aktuelle Umgebungs temperatur im seriellen Monitor sehen.

ESP32 Python-Testergebnis:

Wird aktualisiert...