Gå direkte til indhold

Temperatursensor one-wire

Digitalt termo­meter med 9- til 12-bit temperatur målinger i celcius.

Lab
ITT Lab
Programområde
Digital
Placering

EK Guldbergsgade
Bygning E, lokale A448

Adgang til komponenten

Komponenten er kun tilgængelig for studerende på IT-teknolog-uddannelsen.

En one-wire digital temperatur sensor behøver kun 1 data linje, og ground, til at sende data til den mikrocontroller den er tilsluttet. Man kan endda tilslutte flere enheder til samme linje, da temperatur sensoren har en unik 64-bit serie nummer.

Den kan enten blive forsynet med strøm dediceret via sin VDD pin, eller den kan forsynes i "parasite mode", hvor den forsynes med strøm via data linjen.

Tekniske specifikationer

Kreds DS18B20
Funktionel temperaturområde -55°C - 125°C
Operativ spænding 3V - 5V
Interface One-wire
Præcision +0.5°C fra -10°C til +85°C

Pinout

Nummer Navn Function
1 G (GND) Negativ forsyning
2 DQ One wire kommunikation
3 VDD Positiv forsyning

Hvordan fungerer den?

Kodeeksempel

import machine, onewire, ds18x20, time
ds_pin = machine.Pin(4)
ds_sensor = ds18x20.DS18X20(onewire.OneWire(ds_pin))
roms = ds_sensor.scan()
print('Found DS devices: ', roms)
while True:
   ds_sensor.convert_temp()
   time.sleep_ms(750)
   for rom in roms:
      print(rom)
      print(ds_sensor.read_temp(rom))
   time.sleep(5)

Reference: https://randomnerdtutorials.com/micropython-ds18b20-esp32-esp8266/