Digitalt termometer med 9- til 12-bit temperatur målinger i celcius.
Temperatursensor one-wire
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 |
Kode Eksempel
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)
Pinout
Pinout
Nummer | Navn | Function |
---|---|---|
1 | G (GND) | Negativ forsyning |
2 | DQ | One wire kommunikation |
3 | VDD | Positiv forsyning |
Hvordan fungerer den?
Referencer
Billeder og forklaring: https://randomnerdtutorials.com/micropython-ds18b20-esp32-esp8266/
Alternativ forklaring: https://how2electronics.com/micropython-ds18b20-temperature-sensor-esp32/
MicroPython kontrol af one wire: https://docs.micropython.org/en/v1.8.2/esp8266/esp8266/tutorial/onewire.html
Inspiration og kommentarer
Er du faldet over links eller lignende, som kan være relevant for dine medstuderende så send os en mail på nini@kea.dk