Temperatursensor one-wire
Digitalt termometer med 9- til 12-bit temperatur målinger i celcius.
EK Guldbergsgade
Bygning E, lokale A448
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/