Сензор за температура (DS18B20) - Регистратор на данни Arduino със скала за кошери за пчелари
DS18B20 е цифров температурен сензор с регулируема разделителна способност 9-12bit и точност на измерване от ± 0,5 ° C в диапазона от -10 ° C до + 85 ° C (извън този температурен диапазон става по-малко точен). DS18B20 е адресиран чрез така наречената „One-Wire-Bus“. Това дава възможност да свържете много сензори към пин за данни от Arduino едновременно и да ги заяждате един след друг. Терминът едножилен идва от факта, че сензорът може да работи само с една линия за данни (и GND) без допълнително захранване (паразитно). Особено при няколко сензора и при по-дълги кабели често се съобщава за проблеми, поради което този сензор трябва да бъде снабден с подходящо захранване.
справка
DS18B20 се предлага в различни дизайни и също така е предварително сглобен с кабел и водоустойчив корпус.
Електрически инсталации
Предварително сглобените сензори във водоустойчивия корпус имат кабели с различни цветове в зависимост от производителя.

Окабеляването на DS18B20 е много просто. Сензорът се подава към "VDD" с напрежение от 3,0 до 5,5V. „Данните“ са свързани към щифт 3 на Arduino. Липсва издърпващ резистор от 4.7K Ohm между „VDD“ и „Data“ и връзката на „GND“ със земята. Ако са свързани два сензора, например за температурата на пода и външната температура, трябва да се извърши едно и също окабеляване. За това не е необходима допълнителна съпротива. Ако са свързани допълнителни DS18B20 или се използват особено дълги кабели, може да се наложи да се намали съпротивлението на изтегляне до стойност до 1,8 kOhm.
Библиотеки
Тествайте програмния код
В допълнение към заявката за свързаните сензори, програмният код съдържа допълнителна проверка при четене на сензорите за възможни грешки в свързването. Ако възникне проблем, например поради разхлабен кабел, на съответната променлива за температурата се дава предварително зададена стойност. С този тестов програмен код съобщение за грешка също се извежда през серийния монитор.
Ако измерените стойности по-късно се прехвърлят към уеб сървър, скриптът за запазване на записите на данни открива грешка с предварително зададената стойност и не се запазва измерена стойност за този сензор. Това не засяга графичния дисплей, например при работа със сензора.