Эксперимент 39. Цифровой температурный датчик DS18B20

Познакомимся с очень распространенным цифровым датчиком температуры DS18B20. Этот датчик выполнен в корпусе TO-92 как у транзистора.

Внешний вид и распиновка датчика DS18B20

Для работы с устройствами на шине 1-Wire нужна специальная библиотека onewire которая уже встроена micropython и дополнительно скачивать ее не требуется. А для работы с датчиком DS18B20 предназначена стандартная библиотека ds18x20.

Схема эксперимента

Рисунок 1. Электрическая принципиальная схема эксперимента

Рисунок 2. Монтажная схема эксперимента

Программный код эксперимента

Exp39.py
  1. import time
  2. from machine import I2C, Pin
  3. import onewire
  4. import ds18x20
  5. _init()
  6.  
  7. # the device is on GPIO12
  8. ow = onewire.OneWire(Pin(12))
  9.  
  10. # create the onewire object
  11. ds = ds18x20.DS18X20(ow)
  12.  
  13. roms = ds.scan()
  14. ds.convert_temp()
  15. time.sleep_ms(750)
  16.  
  17. for rom in roms:
  18. print(ds.read_temp(rom))