Даступны розныя датчыкі вільготнасці і тэмпературы, такія як LM35. Некаторыя ўбудаваны ў модулі для спецыяльнага выкарыстання з Arduino. Але звычайна яны вымяраюць сухую тэмпературу, гэта значыць тэмпературу паветра. Але ёсць канкрэтная мадэль, якая працуе вымяраюць тэмпературу ў вадкасцях і называецца DS18B20. Асаблівасць, якая можа спатрэбіцца для некаторых з вашых больш экзатычных самаробных праектаў, дзе вы таксама гуляеце з вадкасцю, для якой вам трэба ведаць гэты параметр.
На самай справе DS18B20 не толькі вымярае тэмпературу ўнутры вадкасці, але можа быць вельмі карысным для вымярэння тэмпературы вільготнае асяроддзе, а таксама пад вадкасцю. Такім чынам, вы можаце таксама выкарыстоўваць яго для вымярэння тэмпературы паветра, калі навакольнае асяроддзе дастаткова нагружана вільготнасцю. І як я ўжо казаў, асаблівасць магчымасці пагрузіць яго ў вадкасць для вымярэння тэмпературы - адна з асаблівасцей, якія робяць яе неверагодна практычнай.
Індэкс
Што такое DS18B20?
Ну, я думаю, гэта ўжо стала цалкам зразумела, гэта электронны датчык, здольны вымяраць тэмпературу газавых або вадкіх асяроддзяў. Да таго ж ёсць іншая капсуляцыя альбо ўпакоўка DS18B20, напрыклад, асноўны, які вы бачыце на галоўным малюнку, альбо ён таксама можа быць інтэграваны ў некаторыя друкаваныя платы, падводныя зонды і г.д. Для вашага праекта вы павінны выбраць найбольш прыдатны фармат у адпаведнасці з тым, што хочаце.
Напрыклад, акрамя тыповага TO-92, ёсць яшчэ і microSOP. Магчыма, інтэграваць з Arduino найбольш прыдатным з'яўляецца ТО-92, так як яго тры шпількі вельмі лёгка ўставіць у макет для падлучэння.
Распиновка
El Распінаванне DS18B20 лёгка вызначыць. Напрыклад, узяўшы ў якасці эталона пакет Даласа TO-92, які з'яўляецца адным з самых папулярных, вы можаце ўбачыць, што ён мае тры штыфты. Калі пакласці яго спераду, гэта значыць з закругленым участкам назад і паглядзець на плоскі твар, дзе з'яўляюцца надпісы, штыфт злева - 1, а справа - 3. Такім чынам, 1 будзе для GND або зазямленне, 2 прызначана для дадзеных, а 3 - для напружання харчавання.
Тут мы павінны сказаць, што каштоўнасці, якія вы павінны ведаць:
- Штыфт 1: вы павінны падключыць яго да штыфта GND Arduino, гэта значыць да 0v.
- Штыфт 2: гэты штыфт - гэта DQ або дадзеныя, тыя, якія будуць адпраўляць тэмпературы, вымераныя датчыкам, у Arduino праз пэўны пратакол, вядомы як 1-Wire, і якому спатрэбіцца спецыяльная бібліятэка і функцыі для IDE Arduino. Гэта дазволіць выкарыстоўваць толькі адзін штыфт Arduino для падлучэння некалькіх датчыкаў з гэтым пратаколам ...
- Штыфт 3: Ён можа падсілкоўвацца ад 3 да 5,5 у, таму вы можаце падключыць яго да выхаду 5 В Arduino.
Тэхнічныя характарыстыкі і тэхнічныя характарыстыкі DS18B20
Як заўсёды, гэта так цікава ведаць тэхнічныя характарыстыкі датчыка, каб ведаць, як ён працуе, каб не пашкодзіць яго, і перш за ўсё, каб мы ведалі, дзе знаходзяцца яго межы вымярэння, бо калі значэнні, якія мы хочам вымераць, не знаходзяцца паміж імі, гэта не дапаможа нам і варта пашукаць іншую альтэрнатыву.
Для гэтага лепш спампаваць файл табліца вытворцы, як той у Даласе вы можаце ўбачыць тут. Там вы знойдзеце ўсю неабходную інфармацыю. І памятайце, што, хоць усе DS18B20 могуць быць падобныя, у залежнасці ад вытворцы або ўпакоўкі вы можаце знайсці некаторыя змены ...
Але незалежна ад дзівацтваў, тут некалькі асноўныя тэхнічныя дадзеныя:
- Дыяпазон тэмператур: -55 да 125ºC, таму ён можа вымяраць у газе ці вадкасці пры вельмі нізкіх, а таксама высокіх тэмпературах.
- Errores: DS18B20 адчувальны да знешніх шумоў і парушэнняў, якія могуць даць памылковыя значэнні пры вымярэннях. Дапушчальная хібнасць складае плюс мінус 2ºC, хаця пры тэмпературы ад -10ºC да 85ºC, гэта значыць, калі мы не блізка да межаў, яна можа складаць толькі палову градуса.
- Дазвол: Вы можаце працаваць з некалькімі дазволамі альбо мінімальнымі варыяцыямі, якія вы можаце выявіць з дапамогай аналагавых штыфтоў Arduino. Падтрымлівае 9-біт, 10-біт, 11-біт і 12-біт (па змаўчанні). Гэта значыць, ён можа вымяраць ад паловы да паловы градуса, ад чвэрці да чвэрці градуса, ад 0,125 да 0,125 ° С альбо ад 0,0625 ° С адпаведна. Вы можаце змяніць гэта праграмаванне з дапамогай кода праграмавання.
- Напружанне харчавання: Ад 3 да 5,5 у
- цана: Ад 1 да 3 €
Інтэграцыя з Arduino
Хаця ёсць розныя спосабы яго злучэння, найбольш прыдатным з'яўляецца той, які вы бачыце на гэтай схеме. Гэта даволі проста, з GND-кантактам у адпаведным злучэнні платы Arduino, той самай магутнасцю, а потым дадзенымі для аналага Arduino, якія вы выбралі ў сваім кодзе праграмавання ў IDE Arduino. Але добра таксама ўсталяваць падцягвальны рэзістар 4,7k (калі адлегласць кабеля датчыка зонда больш, супраціў павінен быць меншым, напрыклад, для 5м 3,3к, для 10 з 2,2, XNUMXк, ...) для штыфта дадзеных і, такім чынам, падтрымлівайце яго заўсёды высокім.
Для праграмаванне ў IDE Arduino і яго добрая інтэграцыя з DS18B20 і менавіта гэтым пратаколам, рэкамендуецца загружаць бібліятэкі Тэмпература Даласа y OneWire ад навакольнага асяроддзя. І базавы код, гэта можа быць нешта накшталт гэтага прыкладу, які я паказваю:
#include <OneWire.h> #include <DallasTemperature.h> // Pin donde se conecta el bus 1-Wire (DQ) const int pinDatosDQ = 9; // Instancia a las clases OneWire y DallasTemperature OneWire oneWireObjeto(pinDatosDQ); DallasTemperature sensorDS18B20(&oneWireObjeto); void setup() { // Iniciamos la comunicación serie a 9600 baudios Serial.begin(9600); // Iniciamos el bus 1-Wire del sensor sensorDS18B20.begin(); } void loop() { // Indicamos que tome la temperatura Serial.println("Midiendo temperatura"); sensorDS18B20.requestTemperatures(); // Lee y muestra la temperatura (recuerda que puedes conectar más de uno con 1-wire) Serial.print("La temperatura del sensor 0 es de: "); Serial.print(sensorDS18B20.getTempCByIndex(0)); Serial.println(" C"); Serial.print("La temperatura del sensor x es de: "); Serial.print(sensorDS18B20.getTempCByIndex(1)); Serial.println(" ºC"); delay(1000); }
Больш інфармацыі - Кіраўніцтва па праграмаванні Arduino (бясплатны PDF)
Будзьце першым, каб каментаваць