สารบัญ:
- ขั้นตอนที่ 1: รายการสิ่งที่ฉันใช้
- ขั้นตอนที่ 2: การออกแบบตัวควบคุมอุณหภูมิ
- ขั้นตอนที่ 3: การสร้างตัวควบคุมอุณหภูมิ 'Blynk'
- ขั้นตอนที่ 4: รหัสที่ทำให้ทุกอย่างใช้งานได้
- ขั้นตอนที่ 5: การสร้างโมดูลเซ็นเซอร์อุณหภูมิ
- ขั้นตอนที่ 6: การสร้างโมดูลเทอร์โมสตัท
- ขั้นตอนที่ 7: บทสรุป
วีดีโอ: Propagator Thermostat โดยใช้ ESP8266/NodeMCU และ Blynk: 7 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
ฉันเพิ่งซื้อเครื่องขยายพันธุ์แบบใช้ความร้อน ซึ่งจะช่วยให้เมล็ดดอกไม้และผักของฉันงอกในช่วงต้นฤดูกาล มันมาโดยไม่มีเทอร์โมสตัท และเนื่องจากเทอร์โมสแตทค่อนข้างแพง ฉันจึงตัดสินใจทำเอง เนื่องจากฉันต้องการใช้โอกาสนี้เพื่อเล่นกับ Blynk เล็กน้อย ฉันจึงใช้ตัวควบคุมอุณหภูมิบนบอร์ดพัฒนา ESP8266/NodeMCU ที่ฉันวางไว้
สำหรับโปรเจ็กต์ก่อนหน้านี้ ฉันใช้ไซต์อย่าง Instrucables.com เพื่อเป็นแรงบันดาลใจและช่วยเหลือเมื่อใดก็ตามที่ฉันติดขัด ไม่มีอะไรมากไปกว่าความยุติธรรมที่จะช่วยเหลือตัวเองเล็กน้อย ดังนั้นนี่คือคำสั่งสอนครั้งแรกของฉันที่เคยมีมา!
ข้อจำกัดความรับผิดชอบ: โปรเจ็กต์นี้ทำงานบนไฟ AC 230V ซึ่งค่อนข้างอันตรายและสิ่งผิดปกติอาจฆ่าคุณได้ ข้าพเจ้าไม่สามารถรับผิดชอบต่อความเสียหาย การบาดเจ็บ หรือการเสียชีวิตใดๆ ได้ ทำให้สิ่งนี้เป็นความเสี่ยงของคุณเอง
ขั้นตอนที่ 1: รายการสิ่งที่ฉันใช้
1 NodeMCU V3.0
2 DS18B20 เซ็นเซอร์อุณหภูมิ 1 สาย
1 โมดูลรีเลย์
1 LCD1602 I2C จอแสดงผล
ปุ่มกด 3 สี
1 158x90x60 เคสพร้อมฝาใส
1 5V ที่ชาร์จโทรศัพท์ USB
1 USB 2.0 สั้น A ตัวผู้ถึง B ตัวผู้ Micro 5 Pin Data Cable
1 ตัวต้านทาน 4.7kΩ
บล็อกไม้อัดกันน้ำ 1 อัน ประมาณ 10x5x2cm
หลอดพลาสติกสีขาว 1 ชิ้น เส้นผ่านศูนย์กลาง 12 มม. ยาว 16 ซม.
1 สายไฟ 230V พร้อมปลั๊ก
1 ปลั๊กไฟ 230V หญิง (2 ขา)
1 ปลั๊กไฟ 230V หญิง (3 ขา)
1 6 ตำแหน่ง 2 แถวขั้วต่อเทอร์มินัล
สายสัญญาณเสียงสเตอริโอ 1 เส้นพร้อมปลั๊กแจ็คสเตอริโอ 3.5 มม. ที่ปลายด้านหนึ่ง
ช่องเสียบสเตอริโอ 3.5 มม. 1 ช่อง ตัวเมีย
ขั้วต่อเคเบิลแกลนด์ M16 2 ชิ้น
เพอร์เพ็กซ์สีขาว 1 ชิ้น ประมาณ 160x90
และสายเชื่อมต่อบางส่วน, ท่อหดด้วยความร้อน, กาว, เทปกาวสองหน้า, สีสเปรย์สีดำ, สเปเซอร์รองบอร์ด PCB, สลักเกลียว M3 และสว่าน 1.5 มม./6.5 มม./12 มม./16 มม.
ขั้นตอนที่ 2: การออกแบบตัวควบคุมอุณหภูมิ
ดังที่กล่าวไว้ เทอร์โมสตัทถูกสร้างขึ้นรอบๆ บอร์ดพัฒนา ESP8266/NodeMCU
อุณหภูมิที่แท้จริงของทั้งดินและอากาศในตัวขยายพันธุ์จะถูกวัดโดยเซ็นเซอร์อุณหภูมิ 2 ตัว เซ็นเซอร์เหล่านี้มีส่วนต่อประสานที่เรียกว่า 1-Wire ซึ่งหมายความว่าสามารถเชื่อมต่อแบบขนานกับพอร์ตอินพุตเดียว ดังที่กล่าวไว้ในแผ่นข้อมูลที่ยอดเยี่ยมนี้บัส 1-Wire ต้องการตัวต้านทานแบบดึงขึ้นภายนอกที่ประมาณ5kΩ ฉันใช้ตัวต้านทาน4.7kΩระหว่างสายสัญญาณเซ็นเซอร์และ 3.3V ของ NodeMCU
เพื่อให้สามารถเพิ่มหรือลดอุณหภูมิดินเป้าหมายที่ต้องการได้ จึงมีการเพิ่มปุ่มกด 2 ปุ่ม รวมทั้งหน้าจอ LCD ขนาด 16x2 อักขระเพื่อให้ข้อมูลย้อนกลับเกี่ยวกับอุณหภูมิปัจจุบันและอุณหภูมิเป้าหมาย หน้าจอ LCD นี้มีแสงไฟในตัว เพื่อป้องกันไม่ให้ไฟแบ็คไลท์เปิดตลอดเวลา ฉันจึงตัดสินใจเพิ่มโค้ดเพื่อทำให้หน้าจอหรี่ลงหลังจากผ่านไประยะหนึ่ง เพื่อให้สามารถเปิดใช้งานไฟแบ็คไลท์ได้อีกครั้ง ฉันได้เพิ่มปุ่มกดอีกอัน สุดท้าย เพิ่มโมดูลรีเลย์เพื่อสลับพลังงานไปยังสายเคเบิลความร้อนในการเปิดและปิดตัวกระจาย
ภาพด้านบนแสดงให้เห็นว่าส่วนประกอบเหล่านี้เชื่อมต่อกับยูนิตหลักอย่างไร
ขั้นตอนที่ 3: การสร้างตัวควบคุมอุณหภูมิ 'Blynk'
เนื่องจากเราต้องการข้อมูลบางส่วนจากแอป Blynk ในโค้ดของเราในภายหลัง มาดูแลธุรกิจ Blynk กันก่อน
ทำตาม 3 ขั้นตอนแรกของคำแนะนำในการเริ่มต้นใช้งาน Blynk
ตอนนี้สร้างโครงการใหม่ในแอป Blynk ตามชื่อโครงการ ฉันเลือก 'ผู้เผยแพร่' จากรายการอุปกรณ์ เลือก 'NodeMCU' ประเภทการเชื่อมต่อคือ 'WiFi' ฉันชอบธีมสีเข้ม ฉันจึงเลือก 'มืด' หลังจากกดตกลง ป๊อปอัปจะปรากฏขึ้นเพื่อระบุว่าได้ส่งโทเค็นการตรวจสอบสิทธิ์ไปยังที่อยู่อีเมลของคุณแล้ว ตรวจสอบอีเมลของคุณและจดโทเค็นนี้ เราต้องการรหัส NodeMCU ในภายหลัง
แตะที่หน้าจอว่างที่แสดงและเพิ่ม:
- 2 เกจ (300 พลังงานต่ออัน รวมทั้งหมด 600 อัน)
- 1 SuperChart (พลังงาน 900)
- 1 การแสดงค่า (200 พลังงาน)
- สไลเดอร์ 1 ตัว (200 พลังงาน)
- 1 LED (พลังงาน 100)
สิ่งนี้ใช้ความสมดุลพลังงานฟรี 2,000 ของคุณ;-)
รูปภาพด้านบนแสดงวิธีการจัดวางหน้าจอด้วยองค์ประกอบเหล่านี้ การแตะแต่ละองค์ประกอบจะสามารถปรับการตั้งค่าโดยละเอียดได้ (แสดงในรูปภาพด้านบนด้วย)
เมื่อเสร็จแล้ว เปิดใช้งานโปรเจ็กต์ของคุณโดยเลือกปุ่ม 'เล่น' แอปจะเชื่อมต่อไม่ได้ (แน่นอน) เพราะยังไม่มีอะไรให้เชื่อมต่อ ไปที่ขั้นตอนต่อไป
ขั้นตอนที่ 4: รหัสที่ทำให้ทุกอย่างใช้งานได้
ตอนนี้ได้เวลาตั้งโปรแกรม ESP8266/NodeMCU ของเราแล้ว ฉันใช้แอปพลิเคชัน Arduino IDE สำหรับสิ่งนี้ ซึ่งสามารถดาวน์โหลดได้ ที่นี่ ในการตั้งค่าสำหรับ ESP8266/NodeMCU ให้ดูคำแนะนำที่ยอดเยี่ยมนี้โดย Magesh Jayakumar
รหัสที่ฉันสร้างสำหรับ Propagator Thermostat สามารถพบได้ในไฟล์ Thermostat.ino ด้านล่าง
หากคุณต้องการใช้รหัสนี้ซ้ำ อย่าลืมอัปเดต WiFi SSID, รหัสผ่าน และโทเค็นการให้สิทธิ์ Blynk ในรหัส
ขั้นตอนที่ 5: การสร้างโมดูลเซ็นเซอร์อุณหภูมิ
ฐานของตัวขยายพันธุ์จะเต็มไปด้วยชั้นของทรายแหลมคมหรือกรวดละเอียดมากหนาประมาณ 2 ซม. สิ่งนี้จะกระจายความร้อนด้านล่างอย่างสม่ำเสมอมากขึ้น ในการวัดอุณหภูมิ 'ดิน' อย่างถูกต้อง ฉันตัดสินใจเลือกใช้เซ็นเซอร์อุณหภูมิ DS18B20 แบบกันน้ำ แม้ว่าเครื่องขยายพันธุ์ของฉันจะมาพร้อมกับเทอร์โมมิเตอร์แบบอนาล็อกในตัวเพื่อวัดอุณหภูมิของอากาศภายใน แต่ฉันตัดสินใจเพิ่มเซ็นเซอร์อุณหภูมิอีกตัวเพื่อวัดอุณหภูมิของอากาศด้วยระบบอิเล็กทรอนิกส์เช่นกัน
เพื่อให้เซ็นเซอร์ทั้งสองเข้าที่อย่างสวยงาม ฉันจึงสร้างโครงสร้างไม้ที่เรียบง่าย ฉันหยิบไม้อัดกันน้ำชิ้นหนึ่งแล้วเจาะรู 6.5 มม. จากด้านหนึ่งไปอีกด้านหนึ่งเพื่อจับเซ็นเซอร์อุณหภูมิดิน โดยนำสายเซ็นเซอร์ผ่านบล็อก ถัดจากนั้น ฉันเจาะรูขนาด 12 มม. ตรงกลางบล็อกไม้อัด จนถึงประมาณ 3/4 ของความสูงทั้งหมด และรู 6.5 มม. จากด้านข้าง ครึ่งทางผ่านบล็อก ไปสิ้นสุดที่รู 12 มม. รูนี้เก็บเซ็นเซอร์อุณหภูมิอากาศ
เซ็นเซอร์อุณหภูมิอากาศหุ้มด้วยท่อพลาสติกสีขาวซึ่งพอดีกับรูขนาด 12 มม. ความยาวของท่อประมาณ 16 ซม. ท่อมีรูเจาะ 1.5 มม. หลายรูที่ครึ่งล่าง (ที่เซ็นเซอร์อยู่) ครึ่งบนจะเป็นสีดำ แนวคิดคืออากาศในส่วนสีดำของท่อจะร้อนขึ้นเล็กน้อย ลอยขึ้นไปด้านบนและหลุดออก ทำให้เกิดการไหลของอากาศรอบๆ เซนเซอร์ หวังว่านี่จะทำให้การอ่านอุณหภูมิอากาศดีขึ้น สุดท้าย เพื่อหลีกเลี่ยงไม่ให้ทรายหรือกรวดเข้าไป รูสำหรับสายเคเบิลเซ็นเซอร์จะเต็มไปด้วยกาว
ในการเชื่อมต่อเซ็นเซอร์ ฉันใช้สายสัญญาณเสียงสเตอริโอแบบเก่าที่มีปลั๊กแจ็คสเตอริโอ 3.5 มม. ที่ปลายด้านหนึ่ง ฉันตัดตัวเชื่อมต่อที่อีกด้านหนึ่งและบัดกรีสายไฟ 3 เส้น (สายสัญญาณเสียงของฉันมีกราวด์ทองแดง สายสีแดงและสีขาว):
- สายสีดำทั้งสายจากเซ็นเซอร์ (กราวด์) ไปที่สายกราวด์ของสายสัญญาณเสียง
- สายสีแดงทั้งสองเส้น (+) ไปที่สายสีแดง
- สายสีเหลืองทั้งสอง (สัญญาณ) ไปที่สายสีขาว
ฉันแยกชิ้นส่วนที่บัดกรีแยกกันด้วยท่อหดด้วยความร้อน ยังใช้ท่อหดด้วยความร้อนเพื่อเก็บสายเซ็นเซอร์ 2 เส้นไว้ด้วยกัน
โมดูลเซ็นเซอร์อุณหภูมิที่เสร็จสมบูรณ์จะแสดงในภาพที่ 4 ด้านบน
หลังจากเสร็จสิ้นโมดูลเซ็นเซอร์อุณหภูมิแล้ว จะมีการติดตั้งไว้ที่กึ่งกลางของตัวกระจายความร้อนโดยใช้เทปกาวสองหน้า ลวดถูกป้อนผ่านช่องเปิดที่มีอยู่ (ซึ่งฉันต้องขยายเล็กน้อยเพื่อให้ลวดพอดี) ในฐานขยายพันธุ์
ขั้นตอนที่ 6: การสร้างโมดูลเทอร์โมสตัท
ESP8266/NodeMCU, จอแสดงผล, รีเลย์ และแหล่งจ่ายไฟ 5V พอดีกับเคสขนาด 158x90x60 มม. พร้อมฝาปิดโปร่งใส
ฉันต้องการแผ่นฐานเพื่อติดตั้ง NodeMCU, จอ LCD และรีเลย์ภายในเคส ฉันคิดที่จะสั่งซื้อแผ่นฐานพิมพ์ 3 มิติ ดังนั้นฉันจึงสร้างไฟล์.stl ใน SketchUp ฉันเปลี่ยนใจและทำมันเองจากชิ้นส่วนเพอร์สเปกซ์สีขาวขนาด 4 มม. เมื่อใช้ SketchUp ฉันสร้างเทมเพลตเพื่อระบุตำแหน่งที่แน่นอนสำหรับรู 3 มม. ที่จะเจาะ ดูตัวอย่างไฟล์.skp ส่วนประกอบถูกติดตั้งบนแผ่นฐานโดยใช้ตัวเว้นระยะที่มีความยาวที่เหมาะสม
ฉันเจาะรูสำหรับปุ่มและขั้วต่อที่ด้านข้างของเคส ติดตั้งปุ่มและขั้วต่อ และต่อสายโดยใช้สายสีต่างๆ เพื่อหลีกเลี่ยงการเชื่อมต่อที่ไม่ถูกต้อง ฉันต่อสายไฟ 230V AC อย่างระมัดระวัง อีกครั้ง: 230V AC อาจเป็นอันตรายได้ ให้แน่ใจว่าคุณรู้ว่าคุณกำลังทำอะไรเมื่อเตรียมส่วนนี้ของโครงการ!
แหล่งจ่ายไฟ 5V และแผงขั้วต่อจะถูกเก็บไว้ที่ด้านล่างของเคสด้วยเทปกาวสองหน้า
หลังจากเชื่อมต่อสายไฟเข้ากับ NodeMCU แล้ว ก็ต้องอาศัยการเล่นซอไปรอบๆ เพื่อยึดแผ่นฐานในเคสด้วยสลักเกลียว m3 บางตัว
การดำเนินการขั้นสุดท้าย: ใส่ฝาครอบโปร่งใส เท่านี้ก็เสร็จเรียบร้อย!
ขั้นตอนที่ 7: บทสรุป
เป็นเรื่องสนุกจริงๆ ที่จะสร้างเทอร์โมสตัทสำหรับเครื่องขยายพันธุ์ของฉัน และติดตามความคืบหน้าในการสร้างและเขียนคำแนะนำนี้
ตัวควบคุมอุณหภูมิทำงานได้อย่างมีเสน่ห์ และการควบคุมและตรวจสอบโดยใช้แอป Blynk ก็ใช้ได้ดีเช่นกัน
แต่มีช่องว่างสำหรับการปรับปรุงอยู่เสมอ ฉันกำลังคิดที่จะปรับปรุงการควบคุมอุณหภูมิโดยหลีกเลี่ยง 'เกินเป้าหมาย' มากเกินไป บางทีฉันจะได้ดูห้องสมุด PID ที่เรียกว่า
อีกแนวคิดหนึ่ง: ฉันอาจเพิ่มตัวเลือก OTA แบบ 'Over The Air' เพื่ออัปเดตซอฟต์แวร์ NodeMCU โดยไม่ต้องเปิดเคสในแต่ละครั้ง
แนะนำ:
Blinds Control ด้วย ESP8266, Google Home และ Openhab Integration และ Webcontrol: 5 ขั้นตอน (พร้อมรูปภาพ)
การควบคุมมู่ลี่ด้วย ESP8266, Google Home และ Openhab Integration และ Webcontrol: ในคำแนะนำนี้ ฉันจะแสดงให้คุณเห็นว่าฉันเพิ่มระบบอัตโนมัติให้กับมู่ลี่ของฉันอย่างไร ฉันต้องการเพิ่มและลบระบบอัตโนมัติได้ ดังนั้นการติดตั้งทั้งหมดจึงเป็นแบบหนีบ ส่วนหลักคือ: สเต็ปเปอร์มอเตอร์ ตัวขับสเต็ปควบคุม bij ESP-01 เกียร์และการติดตั้ง
ESP8266 NODEMCU BLYNK IOT บทช่วยสอน - Esp8266 IOT โดยใช้ Blunk และ Arduino IDE - การควบคุมไฟ LED ผ่านอินเทอร์เน็ต: 6 ขั้นตอน
ESP8266 NODEMCU BLYNK IOT บทช่วยสอน | Esp8266 IOT โดยใช้ Blunk และ Arduino IDE | การควบคุม LEDs ผ่านอินเทอร์เน็ต: สวัสดีทุกคนในคำแนะนำนี้ เราจะเรียนรู้วิธีใช้ IOT กับ ESP8266 หรือ Nodemcu ของเรา เราจะใช้แอป blynk สำหรับสิ่งนั้น ดังนั้นเราจะใช้ esp8266/nodemcu ของเราเพื่อควบคุมไฟ LED ผ่านอินเทอร์เน็ต ดังนั้นแอป Blynk จะเชื่อมต่อกับ esp8266 หรือ Nodemcu ของเรา
8 การควบคุมรีเลย์ด้วย NodeMCU และตัวรับสัญญาณ IR โดยใช้ WiFi และ IR Remote และแอพ Android: 5 ขั้นตอน (พร้อมรูปภาพ)
8 การควบคุมรีเลย์ด้วย NodeMCU และตัวรับสัญญาณ IR โดยใช้ WiFi และ IR Remote และแอพ Android: การควบคุมสวิตช์รีเลย์ 8 ตัวโดยใช้ nodemcu และตัวรับ ir ผ่าน wifi และ ir รีโมทและแอพ android รีโมท ir ทำงานเป็นอิสระจากการเชื่อมต่อ wifi ที่นี่เป็นรุ่นปรับปรุงคลิก ที่นี่
Minimalist IoT Clock (โดยใช้ ESP8266, Adafruit.io, IFTTT และ Arduino IDE): 10 ขั้นตอน (พร้อมรูปภาพ)
Minimalist IoT Clock (โดยใช้ ESP8266, Adafruit.io, IFTTT และ Arduino IDE): ในบทช่วยสอนนี้ ฉันจะแสดงวิธีสร้างนาฬิกามินิมัลลิสต์ที่ซิงโครไนซ์กับอินเทอร์เน็ต ฉันทดสอบกับบอร์ดที่ใช้ ESP8266 สองบอร์ด: Firebeetle และ NodeMCU ไมโครคอนโทรลเลอร์รับเวลาปัจจุบันจากเซิร์ฟเวอร์ Google และแสดงบน
การควบคุม LED โดยใช้ Blynk App และ Arduino: 3 ขั้นตอน (พร้อมรูปภาพ)
การควบคุม LED โดยใช้ Blynk App และ Arduino: ในโครงการนี้ เรากำลังจะรู้จักการเปิด/ปิด LED ด้วย Arduino โดยใช้แอป blynk แทนที่จะใช้โมดูล Wifi, โมดูล Bluetooth, โมดูล GSM ฯลฯ เป็นอีกวิธีหนึ่งในการใช้อินเทอร์เน็ตของสิ่งต่างๆ Don' ไม่คิดว่ายาก เรียนง่าย ถ้าไม่