Познакомимся с очень распространенным цифровым датчиком температуры DS18B20. Этот датчик выполнен в корпусе TO-92 как у транзистора.
Внешний вид и распиновка датчика DS18B20
Для работы с устройствами на шине 1-Wire нужна специальная библиотека onewire
которая уже встроена micropython и дополнительно скачивать ее не требуется. А для работы с датчиком DS18B20 предназначена стандартная библиотека ds18x20
.
import time from machine import I2C, Pin import onewire import ds18x20 _init() # the device is on GPIO12 ow = onewire.OneWire(Pin(12)) # create the onewire object ds = ds18x20.DS18X20(ow) roms = ds.scan() ds.convert_temp() time.sleep_ms(750) for rom in roms: print(ds.read_temp(rom))