สารบัญ:
วีดีโอ: กล่องเซนเซอร์อุณหภูมิ DS18B20: 5 ขั้นตอน
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
อุปกรณ์เซ็นเซอร์อุณหภูมิที่ใช้ DS18B20 อย่างง่ายพร้อมกล่องพิมพ์ 3 มิติแบบโอเพนซอร์สและ PCB ต้นแบบ
กล่องและ PCB ต้นแบบเป็นอุปกรณ์เสริม จำเป็นต้องมี MCU ที่ใช้ ESP8266 เพียงตัวเดียวและเซ็นเซอร์อุณหภูมิ DS18B20 หนึ่งตัว ฉันแนะนำให้คุณซื้อ WEMOS D1 mini แต่ตัวอย่างนี้ใช้ได้กับ ESP-01 เช่นกัน
ตัวอย่างนี้อธิบายวิธีเขียนและอัปโหลดโปรแกรม Arduino ไปยัง ESP8266 MCU ดังนั้นโปรดระวังทักษะนี้ก่อนที่จะติดตามฉัน:)
เสบียง
ต้องมี:- ESP8266 MCU- DS18B20- ตัวต้านทาน 4.7 kOhm หนึ่งตัว- สายบางตัว
ทางเลือกมี:- WEMOS D1 mini เป็น MCU- PCB ต้นแบบสำหรับ WEMOS D1 mini- กล่องพิมพ์ 3D
ขั้นตอนที่ 1: วิธีเชื่อมต่อสายไฟ
ง่ายเหมือนพาย ตรวจสอบแผนผังการเดินสายบนภาพ…:)
1 ในกรณีของบอร์ด ESP8266 เปล่า ให้เชื่อมต่อ RX และ TX กับอุปกรณ์อนุกรม USB ของคุณ ในกรณีที่บอร์ดใดๆ ที่มี USB ในตัวไม่จำเป็น
2 เชื่อมต่อ GND และ VCC เข้ากับบอร์ด ESP8266 และเซ็นเซอร์ DS18B20
3, เชื่อมต่อตัวต้านทานระหว่าง VCC และสายข้อมูลของเซ็นเซอร์ DS18B20
4, เชื่อมต่อสายข้อมูลของเซ็นเซอร์ DS18B20 กับ GPIO หนึ่งของ MCU (เช่น GPIO 2)
ขั้นตอนที่ 2: กำหนดค่า ArduinoIDE
คุณต้องมีห้องสมุดเพิ่มเติมสามแห่ง:- OneWire: https://www.arduinolibraries.info/libraries/one-wire- DallasTemperature: https://www.arduinolibraries.info/libraries/dallas-temperature- การรวม IoT Guru:
ขั้นตอนที่ 3: ลงทะเบียนและสร้างอุปกรณ์ โหนด และฟิลด์
IoT Guru cloud เป็นแบ็กเอนด์คลาวด์ฟรี คุณสามารถใช้เพื่อบันทึกและแสดงการวัดได้ง่ายมาก
คุณต้องสร้างอุปกรณ์ โหนด และฟิลด์:- ชื่ออุปกรณ์คือ ESP8266: https://iotguru.cloud/tutorials/devices- ชื่อของโหนดคือ DS18B20: https://iotguru.cloud/tutorials/ โหนด- ชื่อสนามคืออุณหภูมิ:
ในการเชื่อมต่อกับคลาวด์ คุณต้องรวบรวมตัวระบุห้าตัว:- userShortId: ตัวระบุแบบสั้นของคุณ- deviceShortId: ตัวระบุแบบสั้นของอุปกรณ์ของคุณ- deviceKey: รหัสลับของอุปกรณ์ของคุณ- nodeShortId: ตัวระบุแบบสั้นของอุปกรณ์ของคุณ- fieldName: ชื่อสนาม
ขั้นตอนที่ 4: รหัส Arduino
นี่คือตัวอย่างโค้ด คุณต้องแทนที่ตัวระบุเป็นตัวระบุของคุณ แทนที่ SSID และรหัสผ่านเป็นข้อมูลรับรอง WiFi ของคุณ และตรวจสอบหมายเลข GPIO ของสายข้อมูล DS18B20
#รวม
#include #include #include const char* ssid = "iotguru.cloud"; รหัสผ่าน const char* = "*****"; สตริง userShortId = "l4jLDUDDVKNNzx4wt2UR6Q"; อุปกรณ์สตริงShortId = "uAjbSzf8LvlrofvwYU8R6g"; สตริง deviceKey = "hacfIjPn6KbBf2md8nxNeg"; IoTGuru iotGuru = IoTGuru (userShortId, deviceShortId, deviceKey); สตริง nodeKey = "tGib1WSRvEGJ98rQYU8R6g"; String fieldName = "อุณหภูมิ"; #กำหนด ONE_WIRE_BUS 2 OneWire oneWire(ONE_WIRE_BUS); เซ็นเซอร์อุณหภูมิดัลลัส (& oneWire); การตั้งค่าเป็นโมฆะ (เป็นโมฆะ) { Serial.begin (115200); ล่าช้า(10); WiFi.begin(ssid, รหัสผ่าน); ในขณะที่ (WiFi.status () != WL_CONNECTED) { ล่าช้า (50); Serial.print("."); } Serial.println(""); iotGuru.setCheckDuration(60000); iotGuru.setDebugPrinter(&อนุกรม); sensors.begin(); } วงเป็นโมฆะ (เป็นโมฆะ) { iotGuru.check (); เซ็นเซอร์ ขออุณหภูมิ (); float วัดค่า = sensors.getTempCByIndex(0); Serial.println("อุณหภูมิเซ็นเซอร์แรก: " + String(measuredValue) + " °C"); iotGuru.sendHttpValue (nodeKey, fieldName, วัดค่า); ล่าช้า (30000); }
ขั้นตอนที่ 5: เรียกใช้และตรวจสอบ
หากทุกอย่างเรียบร้อยดี กล่องเทอร์โมมิเตอร์ของคุณจะส่งการตรวจวัดเซ็นเซอร์ไปยังคลาวด์ และคุณจะเห็นกราฟที่สวยงามเช่นนี้เมื่อเวลาผ่านไป หากมีการวัดสะสมเพียงพอ
ตัวอย่างสด: - https://iotguru.cloud/field/srcPlk78rcpgCgCgKWcR6g/temperature-
โครงการขยาย GitHub:-