สารบัญ:
- ขั้นตอนที่ 1: มันเพิ่มความสบายของคุณได้อย่างไร ?
- ขั้นตอนที่ 2: คุณจะประหยัดและลดการปล่อยก๊าซเรือนกระจกได้อย่างไร ?
- ขั้นตอนที่ 3: คุณจะควบคุมความร้อนของคุณได้ทุกที่อย่างไร
- ขั้นตอนที่ 4: การควบคุมอุณหภูมิ
- ขั้นตอนที่ 5: ตัวควบคุมคำสั่ง
- ขั้นตอนที่ 6: กำหนดการ
- ขั้นตอนที่ 7: ภาพรวมสถาปัตยกรรม
- ขั้นตอนที่ 8: ภาพรวมไมโครคอนโทรลเลอร์
- ขั้นตอนที่ 9: ภาพรวมการเชื่อมต่อเครือข่าย
- ขั้นตอนที่ 10: ภาพรวมเซิร์ฟเวอร์
- ขั้นตอนที่ 11: รายการชิ้นส่วน
- ขั้นตอนที่ 12: สร้างแหล่งพลังงาน
- ขั้นตอนที่ 13: เตรียม ESP8266
- ขั้นตอนที่ 14: สร้างอุปกรณ์อิเล็กทรอนิกส์
- ขั้นตอนที่ 15: มาทำการกำหนดค่าเกตเวย์กันเถอะ
- ขั้นตอนที่ 16: เตรียมดาวน์โหลดรหัสเกตเวย์
- ขั้นตอนที่ 17: ดาวน์โหลดรหัสเกตเวย์ 1/2
- ขั้นตอนที่ 18: ดาวน์โหลดรหัสเกตเวย์ 2/2
- ขั้นตอนที่ 19: ตั้งค่าพารามิเตอร์เกตเวย์ของคุณเอง
- ขั้นตอนที่ 20: เตรียมการเชื่อมต่อ Arduino
- ขั้นตอนที่ 21: มาทำแบบทดสอบกันเถอะ
- ขั้นตอนที่ 22: ตรวจสอบการเชื่อมต่อเครือข่าย
- ขั้นตอนที่ 23: เตรียม Arduino
- ขั้นตอนที่ 24: ดาวน์โหลดรหัส Arduino
- ขั้นตอนที่ 25: รีสตาร์ท Arduino
- ขั้นตอนที่ 26: ตรวจสอบ LCD
- ขั้นตอนที่ 27: ทดสอบรีเลย์
- ขั้นตอนที่ 28: บัดกรีพาวเวอร์ซัพพลาย 1/4
- ขั้นตอนที่ 29: ประสานพาวเวอร์ซัพพลาย 2/4
- ขั้นตอนที่ 30: ประสานพาวเวอร์ซัพพลาย 3/4
- ขั้นตอนที่ 31: บัดกรีพาวเวอร์ซัพพลาย 4/4
- ขั้นตอนที่ 32: ประสานไมโครคอนโทรลเลอร์บน PCB 1/7
- ขั้นตอนที่ 33: ประสานไมโครคอนโทรลเลอร์บน PCB 2/7
- ขั้นตอนที่ 34: ประสานไมโครคอนโทรลเลอร์บน PCB 3/7
- ขั้นตอนที่ 35: ประสานไมโครคอนโทรลเลอร์บน PCB 4/7
- ขั้นตอนที่ 36: ประสานไมโครคอนโทรลเลอร์บน PCB 5/7
- ขั้นตอนที่ 37: ประสานไมโครคอนโทรลเลอร์บน PCB 6/7
- ขั้นตอนที่ 38: ประสานไมโครคอนโทรลเลอร์บน PCB 7/7
- ขั้นตอนที่ 39: เชื่อมต่อและตรวจสอบทั้งหมดก่อนใส่ในกล่อง
- ขั้นตอนที่ 40: ขัน PCBs บนชิ้นไม้
- ขั้นตอนที่ 41: มาทำกล่องฝาไม้กันเถอะ
- ขั้นตอนที่ 42: ใส่ทั้งหมดลงในกล่อง
- ขั้นตอนที่ 43: สร้างโครงการรหัสเซิร์ฟเวอร์
- ขั้นตอนที่ 44: กำหนดการเชื่อมต่อ SQL ของคุณ
- ขั้นตอนที่ 45: สร้างตารางฐานข้อมูล
- ขั้นตอนที่ 46: กำหนดการควบคุมการเข้าถึง
- ขั้นตอนที่ 47: ไม่บังคับ
- ขั้นตอนที่ 48: เริ่มรหัสรันไทม์
- ขั้นตอนที่ 49: เริ่มแอปพลิเคชัน J2EE
- ขั้นตอนที่ 50: ซิงโครไนซ์เทอร์โมสตัทและเซิร์ฟเวอร์
- ขั้นตอนที่ 51: เชื่อมต่อเทอร์โมสตัทกับบอยเลอร์
- ขั้นตอนที่ 52: เพลิดเพลินกับระบบควบคุมความร้อนของคุณ
- ขั้นตอนที่ 53: กล่องพิมพ์ 3 มิติ
วีดีโอ: สร้างเครื่องควบคุมอุณหภูมิความร้อนด้วยตัวเองและประหยัดเงินด้วยการทำความร้อน: 53 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
จุดประสงค์คืออะไร?
- เพิ่มความสะดวกสบายด้วยความร้อนในบ้านได้ตามที่คุณต้องการ
- ประหยัดและลดการปล่อยก๊าซเรือนกระจกโดยให้ความร้อนแก่บ้านเมื่อคุณต้องการเท่านั้น
- ควบคุมความร้อนของคุณได้ทุกที่
- ภูมิใจที่ทำเอง
ขั้นตอนที่ 1: มันเพิ่มความสบายของคุณได้อย่างไร ?
คุณจะกำหนดคำแนะนำเกี่ยวกับอุณหภูมิที่แตกต่างกัน 4 แบบซึ่งจะถูกเลือกโดยอัตโนมัติตามตารางเวลาของคุณ
คุณจะต้องแสดงความต้องการของคุณเป็นอุณหภูมิที่คาดไว้ ณ ช่วงเวลาของวัน และระบบจะเริ่มร้อนในเวลาที่เหมาะสมเพื่อให้เป็นไปตามที่คุณคาดไว้
วันนี้กลับบ้านเร็ว ใช้โทรศัพท์รอการทำความร้อนของคุณ
ระบบจะส่งอุณหภูมิที่เสถียรมากซึ่งตรงกับความต้องการของคุณอย่างแม่นยำ
ขั้นตอนที่ 2: คุณจะประหยัดและลดการปล่อยก๊าซเรือนกระจกได้อย่างไร ?
เมื่อทราบตารางเวลาของคุณ ระบบจะร้อนเมื่อคุณต้องการเท่านั้น
ระบบจะนำอุณหภูมิภายนอกมาพิจารณาปรับความร้อนให้เหมาะสม
กลับบ้านวันนี้ ใช้โทรศัพท์ของคุณเพื่อเลื่อนการเริ่มทำความร้อน
คุณจะสามารถปรับแต่งระบบให้เหมาะสมกับอุปกรณ์ของคุณได้
ขั้นตอนที่ 3: คุณจะควบคุมความร้อนของคุณได้ทุกที่อย่างไร
ระบบเชื่อมต่อ WiFi คุณจะใช้แล็ปท็อปของคุณในการตั้งค่า ปรับแต่ง และอัปเดตกำหนดการของระบบของคุณ
เมื่ออยู่นอกบ้าน คุณจะใช้โทรศัพท์เพื่อคาดการณ์หรือเลื่อนการเริ่มทำความร้อนของคุณออกไป
ขั้นตอนที่ 4: การควบคุมอุณหภูมิ
ตัวควบคุม PID ใช้สำหรับควบคุมความร้อน
ใช้เพื่อควบคุมวิธีการไปถึงอุณหภูมิที่คาดหวังและเก็บไว้ใกล้กับเป้าหมายมากที่สุด
พารามิเตอร์ PID สามารถปรับให้เข้ากับสภาพแวดล้อมของคุณได้ (ดูการปรับแต่งเอกสารประกอบของระบบ)
ขั้นตอนที่ 5: ตัวควบคุมคำสั่ง
ชุดควบคุมคำสั่งออกแบบมาเพื่อกำหนดเวลาเริ่มต้นการทำความร้อน โดยพิจารณาจากอุณหภูมิภายใน อุณหภูมิภายนอก และความจุของหม้อไอน้ำเพื่อกำหนดเวลาที่ดีที่สุดในการเริ่มทำความร้อนตามข้อกำหนดของคุณแบบไดนามิก
ข้อบังคับนี้สามารถปรับให้เข้ากับความต้องการของคุณได้ด้วยพารามิเตอร์ "ปฏิกิริยา" ที่คุณปรับเปลี่ยนได้
ขั้นตอนที่ 6: กำหนดการ
คำแนะนำอุณหภูมิจะแสดงเป็นเป้าหมาย (อุณหภูมิ เวลา) หมายความว่าคุณต้องการให้บ้านของคุณอยู่ในอุณหภูมินั้นในเวลาที่กำหนด
ต้องเลือกอุณหภูมิระหว่างการอ้างอิง 4 รายการ
ต้องกำหนดหนึ่งคำสั่งสำหรับแต่ละครึ่งชั่วโมงของกำหนดการ
คุณสามารถกำหนดตารางเวลาแบบรายสัปดาห์ได้ 1 แบบและแบบรายวัน 2 แบบ
ขั้นตอนที่ 7: ภาพรวมสถาปัตยกรรม
ดูสถาปัตยกรรมระดับโลก
ใช้งานได้กับหม้อไอน้ำทุกเครื่องผ่านหน้าสัมผัสแบบเปิดหรือปิดตามปกติ
ขั้นตอนที่ 8: ภาพรวมไมโครคอนโทรลเลอร์
ระบบหลักทำงานบนไมโครคอนโทรลเลอร์ Atmel ATmega
หลังจากดาวน์โหลดโค้ดและพารามิเตอร์และนาฬิกาซิงโครไนซ์แล้ว ก็จะสามารถทำงานโดยอัตโนมัติได้ 100%
มันสื่อสารผ่านลิงค์ซีเรียลเพื่อพิจารณาข้อมูลภายนอก
ไมโครคอนโทรลเลอร์ ESP8266 เรียกใช้รหัสเกตเวย์เพื่อเปลี่ยนการเชื่อมต่อลิงก์อนุกรมเป็น WIFI
เริ่มแรกพารามิเตอร์จะเขียนใน eeprom และสามารถแก้ไขและบันทึกจากระยะไกลได้
ขั้นตอนที่ 9: ภาพรวมการเชื่อมต่อเครือข่าย
การเชื่อมต่อเครือข่ายทำด้วยไมโครคอนโทรลเลอร์ ESP8266 WIFI มันค่อนข้างเหมือนกับคำอธิบายของเกตเวย์ "instructables" อย่างไรก็ตาม มีการเปลี่ยนแปลงต่อไปนี้จากคำอธิบายนี้: GPIO ที่ไร้ประโยชน์สำหรับโครงการนี้ไม่ได้ใช้และ Arduino และ ESP8266 ถูกบัดกรีบน PCB เดียวกัน
ขั้นตอนที่ 10: ภาพรวมเซิร์ฟเวอร์
Java เรียกใช้ส่วนเซิร์ฟเวอร์ของระบบ HMI ใช้ TOMCAT MySQL เป็นฐานข้อมูล
ขั้นตอนที่ 11: รายการชิ้นส่วน
คุณจะต้องมีส่วนประกอบหลักเหล่านี้
2 x ไมโครคอนโทรลเลอร์
· 1 x Arduino - ฉันเลือก Nano 3.0 - คุณสามารถหาได้ในราคาประมาณ 2.5$ (Aliexpress)
· 1 x ESP8266 - ฉันเลือก -ESP8266-DEV Olimex - ที่ 5.5€
1 x เซ็นเซอร์อุณหภูมิ DS1820
· ฉันเลือกแบบกันน้ำ - คุณสามารถรับ 5 ได้ในราคา 9 ยูโร (Amazon)
1 x โมดูลรีเลย์คู่ (0 คำสั่ง)
· ฉันเลือก SONGLE SRD-05VDC - คุณสามารถหาได้ที่ 1.5€ (Amazon)
1 x I2C LCD 2x16 ตัวอักษร
ฉันมีอยู่แล้ว - คุณสามารถหาบางอย่างได้น้อยกว่า 4$ (AliExpress)
1 x I2C DS1307 โมดูลเรียลไทม์พร้อมแบตเตอรี่ CR2032
· ฉันมีอยู่แล้ว - คุณสามารถหาบางอย่างได้น้อยกว่า 4$ (AliExpress)
คุณสามารถหาได้ไม่กี่ยูโร
1 x ตัวรับสัญญาณอินฟราเรด
· ฉันเลือก AX-1838HS คุณสามารถหา 5 ได้ในราคา 4 ยูโร
1 x FTDI
1 x IR รีโมตคอนโทรล (คุณสามารถซื้อเฉพาะหรือใช้ทีวีของคุณ)
2 x ตัวควบคุมกำลัง (3.3v & 5v)
· ฉันเลือก I x LM1086 3.3v & 1 x L7850CV 5v
และของบางอย่าง
5 x LED
ตัวต้านทาน 9 x 1K
ตัวต้านทาน 1 x 2.2K
ตัวต้านทาน 1 x 4.7K
ตัวเก็บประจุเซรามิกขนาด 1 x 100microF
ตัวเก็บประจุเซรามิกขนาด 1 x 330 microF
ตัวเก็บประจุ tentalum ขนาด 2 x 1 microF
2 x ทรานซิสเตอร์ NPN
4 x ไดโอด
เขียงหั่นขนม 2 PCB
สวิตช์พิน 2 x 3
ขั้วต่อและสายไฟบางตัว
แน่นอนคุณต้องใช้หัวแร้งและดีบุก
ขั้นตอนที่ 12: สร้างแหล่งพลังงาน
ไฟล์ fritzing นี้อธิบายสิ่งที่ต้องทำ
เป็นการดีกว่าที่จะเริ่มสร้างแหล่งพลังงานด้วยเขียงหั่นขนมแม้ว่าจะไม่มีปัญหาก็ตาม
ตัวควบคุมอื่นสามารถเปลี่ยนได้โดยง่าย: เพียงแค่ปรับเปลี่ยนการเชื่อมต่อและตัวเก็บประจุตามลักษณะตัวควบคุมของคุณ
ตรวจสอบว่าส่งค่าคงที่ 5v และ 3.3v แม้จะมีโหลด (เช่น ตัวต้านทาน 100 โอห์ม)
ตอนนี้คุณสามารถประสานส่วนประกอบทั้งหมดบนเขียงหั่นขนม PCB ดังต่อไปนี้
ขั้นตอนที่ 13: เตรียม ESP8266
เสียบ ESP8266 ของคุณในเขียงหั่นขนมเพื่อการบัดกรีที่ง่ายที่สุดด้านล่าง
ขั้นตอนที่ 14: สร้างอุปกรณ์อิเล็กทรอนิกส์
ทำซ้ำการอ้างอิง Fritzing
ฉันขอแนะนำอย่างยิ่งให้เริ่มสร้างอุปกรณ์อิเล็กทรอนิกส์ด้วยเขียงหั่นขนม
ใส่ทุกส่วนเข้าด้วยกันบนเขียงหั่นขนม
เชื่อมต่อแหล่งพลังงานอย่างระมัดระวัง
ตรวจสอบไฟ LED บน Arduino และ ESP8266
LCD ต้องสว่างขึ้น
ขั้นตอนที่ 15: มาทำการกำหนดค่าเกตเวย์กันเถอะ
เชื่อมต่อ FTDI USB กับสถานีพัฒนาของคุณ
ตั้งค่าสวิตช์ลิงก์อนุกรมเพื่อเชื่อมต่อ ESP8266 กับ FTDI ดังนี้
ขั้นตอนที่ 16: เตรียมดาวน์โหลดรหัสเกตเวย์
เริ่ม Arduino บนเวิร์กสเตชันของคุณ
คุณต้องการให้ ESP8266 เป็นที่รู้จักในฐานะบอร์ดโดย IDE
เลือกพอร์ต USB และบอร์ดที่เหมาะสมด้วยเมนูเครื่องมือ / บอร์ด
หากคุณไม่เห็น ESP266 ในรายการ แสดงว่าคุณอาจต้องติดตั้ง ESP8266 Arduino Addon (คุณสามารถดูขั้นตอนได้ที่นี่)
รหัสทั้งหมดที่คุณต้องการมีอยู่ใน GitHub ได้เวลาดาวน์โหลดแล้ว !
รหัสหลักของเกตเวย์อยู่ที่นั่น:
github.com/cuillerj/Esp8266UdpSerialGatewa…
ด้านบนของ Arduino มาตรฐานและ ESP8266 รวมถึงรหัสหลักที่ต้องการ 2 สิ่งเหล่านี้รวมถึง:
LookFoString ที่ใช้ในการจัดการกับสตริงและอยู่ที่นั่น:
ManageParamEeprom ที่ใช้ในการอ่านและจัดเก็บพารามิเตอร์ใน Eeprom และมี:
เมื่อคุณได้รับโค้ดทั้งหมดแล้ว ก็ถึงเวลาอัปโหลดลงใน ESP8266
ขั้นแรกให้เชื่อมต่อ FTDI กับพอร์ต USB ของคอมพิวเตอร์ของคุณ
ฉันแนะนำให้คุณตรวจสอบการเชื่อมต่อก่อนที่จะพยายามอัปโหลด
- · ตั้งค่ามอนิเตอร์อนุกรม Arduino เป็นพอร์ต USB ใหม่
- · ตั้งค่าความเร็วเป็น 115200 ทั้ง cr nl (ความเร็วเริ่มต้นสำหรับ Olimex)
- · เปิดเครื่องบนเขียงหั่นขนม (ESP8266 มาพร้อมกับซอฟต์แวร์ที่เกี่ยวข้องกับคำสั่ง AT)
- · ส่ง "AT" ด้วยเครื่องมือซีเรียล
- · คุณต้องได้รับ "ตกลง" เป็นการตอบแทน
หากไม่ตรวจสอบการเชื่อมต่อของคุณและดูที่ข้อกำหนด ESP8266 ของคุณ
หากคุณได้ "ตกลง" แสดงว่าคุณพร้อมที่จะอัปโหลดโค้ด
ขั้นตอนที่ 17: ดาวน์โหลดรหัสเกตเวย์ 1/2
·
- ปิดเขียงหั่นขนม รอสักครู่
- กดปุ่มบนเขียงหั่นขนมและเปิดเครื่อง
- ปล่อยปุ่มกด เป็นเรื่องปกติที่จะได้รับขยะบนจอภาพแบบอนุกรม
- กดที่อัพโหลด IDE สำหรับ Arduino
- หลังจากอัพโหลดเสร็จ ตั้งค่าความเร็วซีเรียลเป็น 38400
ขั้นตอนที่ 18: ดาวน์โหลดรหัสเกตเวย์ 2/2
คุณจะเห็นบางสิ่งบางอย่างตามภาพ
ขอแสดงความยินดี คุณอัปโหลดรหัสสำเร็จแล้ว !
ขั้นตอนที่ 19: ตั้งค่าพารามิเตอร์เกตเวย์ของคุณเอง
ให้เปิด Serial Monitor (ความเร็ว 38400) ของ IDE
- ปิดเขียงหั่นขนม รอสักครู่
- ใช้สวิตช์เพื่อตั้งค่า configGPIO เป็น 1 (3.3v)
- สแกน WIFI โดยป้อนคำสั่ง:
- ScanWifi. คุณจะเห็นรายการเครือข่ายที่ตรวจพบ
- จากนั้นตั้งค่า SSID ของคุณโดยป้อน "SSID1=yournetwork
- จากนั้นตั้งรหัสผ่านโดยป้อน "PSW1=yourpassword
- จากนั้นป้อน "SSID=1" เพื่อกำหนดเครือข่ายปัจจุบัน
- ป้อน "รีสตาร์ท" เพื่อเชื่อมต่อเกตเวย์กับ WIFI ของคุณ
คุณสามารถตรวจสอบว่าคุณได้รับ IP โดยการป้อน "ShowWifi"
ไฟ LED สีฟ้าจะติดและไฟ LED สีแดงจะกะพริบ
ได้เวลากำหนดที่อยู่เซิร์ฟเวอร์ IP ของคุณโดยป้อนที่อยู่ย่อย 4 รายการ (เซิร์ฟเวอร์ที่จะเรียกใช้รหัสทดสอบ Java) ตัวอย่างเช่นสำหรับ IP=192.168.1.10 ให้ป้อน:
- "IP1=192"
- "ไอพี2=168"
- "IP3=1"
- "IP4=10"
กำหนดพอร์ต IP เป็น:
-
· routePort=1840 (หรืออื่น ๆ ตามการกำหนดค่าแอปพลิเคชันของคุณ โปรดดูที่ “คู่มือการติดตั้งเซิร์ฟเวอร์”)
ป้อน "ShowEeprom" เพื่อตรวจสอบสิ่งที่คุณเพิ่งเก็บไว้ใน Eeprom
ตอนนี้ตั้งค่า GPIO2 เป็นกราวด์เพื่อออกจากโหมดการกำหนดค่า (ใช้สวิตช์เพื่อทำเช่นนั้น)
Gateway ของคุณพร้อมทำงาน !
ไฟ LED สีน้ำเงินจะต้องติดทันทีที่เกตเวย์เชื่อมต่อกับ WIFI ของคุณ
มีคำสั่งอื่นๆ ที่คุณสามารถหาได้ในเอกสารของเกตเวย์
ตั้งค่าที่อยู่ IP ของ ESP8266 เป็นแบบถาวรภายใน DNS. ของคุณ
ขั้นตอนที่ 20: เตรียมการเชื่อมต่อ Arduino
ประการแรก ให้ถอดปลั๊กตัวเชื่อมต่อแบบอนุกรมเพื่อหลีกเลี่ยงความขัดแย้งของ USB
ขั้นตอนที่ 21: มาทำแบบทดสอบกันเถอะ
ก่อนทำงานกับรหัสเทอร์โมสตัท เรามาทดสอบกับแหล่งตัวอย่าง IDE กันก่อน
เชื่อมต่อ Arduino USB กับเวิร์กสเตชันของคุณ
เลือกพอร์ตอนุกรม ตั้งค่าความเร็วเป็น 9600 และตั้งค่าประเภทการ์ดเป็นนาโน
ตรวจสอบเซ็นเซอร์อุณหภูมิ
เปิดไฟล์/ตัวอย่าง /Max31850Onewire / DS18x20_Temperature และแก้ไข OneWire ds(8); (8 แทนที่จะเป็น 10)
อัปโหลดและตรวจสอบว่าใช้งานได้ ในกรณีที่ไม่ตรวจสอบการเชื่อมต่อ DS1820 ของคุณ
ตรวจสอบนาฬิกา
เปิดไฟล์/ตัวอย่าง/DS1307RTC/โปรแกรม setTime
อัปโหลดรหัสและตรวจสอบว่าคุณได้รับเวลาที่เหมาะสม
ตรวจสอบ LCD
เปิดไฟล์/ตัวอย่าง/คริสตัลเหลว/โปรแกรม HelloWorld
อัปโหลดรหัสและตรวจสอบว่าคุณได้รับข้อความ
ตรวจสอบรีโมทคอนโทรล
เปิดไฟล์/ตัวอย่าง / โปรแกรม ArduinoIRremotemaster / IRrecvDemo
แก้ไข PIN เป็น 4 – อัปโหลดรหัส
ใช้รีโมทคอนโทรลของคุณและตรวจสอบว่าคุณได้รับรหัส IR บนจอภาพ
ถึงเวลาเลือกรีโมทควบคุม 8 ปุ่มต่าง ๆ ที่คุณต้องการใช้ดังนี้:
- · เพิ่มคำแนะนำอุณหภูมิ
- · ลดอุณหภูมิคำสั่ง
- · ปิดเทอร์โมสตัท
- ·เลือกโหมดวาระประจำสัปดาห์
- ·เลือกโหมดวาระวันแรก
- ·เลือกโหมดวาระวันที่สอง
- ·เลือกโหมดไม่แช่แข็ง
- · เปิด/ปิด WIFI เกตเวย์
เนื่องจากคุณได้เลือกให้ใช้รหัส ให้คัดลอกและบันทึกรหัสที่ได้รับในเอกสารข้อความ คุณจะต้องใช้ข้อมูลนี้ในภายหลัง
ขั้นตอนที่ 22: ตรวจสอบการเชื่อมต่อเครือข่าย
ในการตรวจสอบงานของคุณ วิธีที่ดีที่สุดคือใช้ตัวอย่าง Arduino และ Java
Arduino
คุณสามารถดาวน์โหลดได้ที่นั่น:
ประกอบด้วยไลบรารี SerialNetwork ที่อยู่ที่นี่:
เพียงอัปโหลดโค้ดภายใน Arduino ของคุณ
เซิร์ฟเวอร์
ตัวอย่างเซิร์ฟเวอร์คือโปรแกรม Java ที่คุณสามารถดาวน์โหลดได้ที่นี่:
เรียกใช้เลย
ดูที่คอนโซล Java
ดูที่จอภาพ Arduino
Arduino ส่งแพ็กเก็ตที่แตกต่างกัน 2 ชุด
· อันแรกมีสถานะพินดิจิทัล 2 ถึง 6
· ค่าที่สองประกอบด้วยค่าสุ่ม 2 ค่า ระดับแรงดันไฟฟ้า A0 เป็น mV และจำนวนที่เพิ่มขึ้น
โปรแกรมจาวา
· พิมพ์ข้อมูลที่ได้รับในรูปแบบเลขฐานสิบหก
· ตอบกลับข้อมูลประเภทแรกด้วยค่าเปิด/ปิดแบบสุ่มเพื่อตั้งค่าเปิด/ปิด Arduino LED
· ตอบกลับข้อมูลประเภทที่สองด้วยจำนวนที่ได้รับและค่าสุ่ม
คุณต้องเห็นบางอย่างเช่นด้านบน
ตอนนี้คุณพร้อมที่จะทำงานกับรหัสเทอร์โมสตัทแล้ว
ขั้นตอนที่ 23: เตรียม Arduino
เชื่อมต่อ Arduino USB กับเวิร์กสเตชันของคุณ
ตั้งค่าความเร็วเป็น 38400
เราจำเป็นต้องตั้งค่า Arduino ในโหมดการกำหนดค่า
เสียบขั้วต่อบน ICSP เพื่อให้ GPIO 11 ถูกตั้งค่าเป็น 1 (5v)
ขั้นตอนที่ 24: ดาวน์โหลดรหัส Arduino
แหล่งตัวควบคุมอุณหภูมิมีอยู่ใน GitHub
ขั้นแรกให้ดาวน์โหลดไลบรารีนี้และคัดลอกไฟล์ในไลบรารีปกติของคุณ
จากนั้นดาวน์โหลดแหล่งข้อมูลเหล่านี้และคัดลอกไฟล์ในโฟลเดอร์ต้นทาง Arduino ปกติของคุณ
เปิด Thermosat.ico และคอมไพล์และตรวจสอบว่าคุณไม่ได้รับข้อผิดพลาด
ดาวน์โหลดรหัส Arduino
Arduino จะเริ่มทำงานโดยอัตโนมัติ
รอข้อความ "สิ้นสุด init eeprom"
ค่าพารามิเตอร์เริ่มต้นถูกเขียนใน eeprom แล้ว
ขั้นตอนที่ 25: รีสตาร์ท Arduino
Arduino ได้รับการเตรียมใช้งานและต้องตั้งค่าในโหมดการทำงานก่อนที่จะเริ่มใหม่
เสียบขั้วต่อบน ICSP เพื่อให้ GPIO 11 ถูกตั้งค่าเป็น 0 (กราวด์) เพื่อตั้งค่า Arduino ให้อยู่ในโหมดการทำงาน
รีเซ็ต Arduino
คุณต้องดูเวลาบน LCD และต้องเปิด LED สีเหลือง (คุณจะเห็น 0:0 หากนาฬิกาไม่ได้ซิงโครไนซ์หรือหมดเวลา (ใช้พลังงานและไม่มีแบตเตอรี่))
ขั้นตอนที่ 26: ตรวจสอบ LCD
คุณจะเห็นอีก 3 หน้าจอที่แตกต่างกัน
ธรรมดาในหน้าจอ 1 และ 2:
- ที่ด้านซ้ายบน: เวลาจริง
- ที่ด้านซ้ายของด้านล่าง: คำแนะนำอุณหภูมิจริง
- ตรงกลางด้านล่างคือ: อุณหภูมิภายในจริง (DS1820)
หน้าจอ 1:
ตรงกลางด้านบน: โหมดการวิ่งจริง
หน้าจอ 2:
- ตรงกลางด้านบน: วันจริงของสัปดาห์
- ที่ด้านขวาบน: ตัวเลขวัน & เดือน
อันที่ 3 อธิบายไว้ในคู่มือการบำรุงรักษา
ขั้นตอนที่ 27: ทดสอบรีเลย์
ทดสอบรีเลย์เกตเวย์
ในขั้นตอนนี้ คุณต้องเชื่อมต่อ WiFi และไฟ LED สีฟ้าจะต้องติดสว่าง
กดปุ่มรีโมตคอนโทรลที่คุณเลือกเพื่อเปิด/ปิดเกตเวย์ WIFI รีเลย์ต้องปิด ESP8266 และไฟ LED สีฟ้า
รอสักครู่แล้วกดปุ่มรีโมตคอนโทรลอีกครั้ง ต้องเปิดเกตเวย์ WIFI
ภายในหนึ่งนาที le เกตเวย์จะต้องเชื่อมต่อ และไฟ LED สีน้ำเงินจะต้องติดสว่าง
ทดสอบรีเลย์หม้อน้ำ
ดู LED สีแดงก่อน หากคำสั่งอุณหภูมิสูงกว่าอุณหภูมิภายในมาก ไฟ LED จะต้องติดสว่าง Arduino ใช้เวลาสองสามนาทีหลังจากเริ่มต้นเพื่อรับข้อมูลเพียงพอที่จะตัดสินใจว่าจะให้ความร้อนหรือไม่
หากไฟ LED สีแดงติดสว่าง ให้ลดคำแนะนำอุณหภูมิเพื่อตั้งให้ต่ำกว่าอุณหภูมิภายใน ภายในไม่กี่วินาทีรีเลย์จะต้องปิดและไฟ LED สีแดงดับลง
หากไฟ LED สีแดงดับลง ให้เพิ่มคำสั่งอุณหภูมิเพื่อตั้งค่าให้ต่ำกว่าอุณหภูมิภายใน ภายในไม่กี่วินาทีรีเลย์จะต้องเปิดขึ้นและไฟ LED สีแดงติดสว่าง
หากคุณทำมากกว่าหนึ่งครั้ง โปรดทราบว่าระบบจะไม่ตอบสนองทันทีเพื่อหลีกเลี่ยงการเปลี่ยนหม้อไอน้ำเร็วเกินไป
นั่นคือจุดสิ้นสุดของงานเขียงหั่นขนม
ขั้นตอนที่ 28: บัดกรีพาวเวอร์ซัพพลาย 1/4
ฉันแนะนำให้ใช้ PCB 2 แบบ: อันหนึ่งสำหรับพาวเวอร์ซัพพลายและอีกอันสำหรับไมโครคอนโทรลเลอร์
คุณจะต้องใช้ตัวเชื่อมต่อสำหรับ;
· 2 สำหรับแหล่งจ่ายไฟอินพุต 9v
· 1 สำหรับเอาต์พุต +9v
· 1 สำหรับเอาต์พุต +3.3v (ฉันทำ 2)
· 2 สำหรับเอาต์พุต +5v (ฉันทำ 3)
· 2 สำหรับคำสั่งรีเลย์
· 2 สำหรับกำลังรีเลย์
ขั้นตอนที่ 29: ประสานพาวเวอร์ซัพพลาย 2/4
นี่คือโครงการ Frizting ที่จะปฏิบัติตาม!
คุณสามารถดูหมายเลขชิ้นส่วนตามรุ่น Fritzing ได้ที่ด้านบน
ขั้นตอนที่ 30: ประสานพาวเวอร์ซัพพลาย 3/4
คุณสามารถดูหมายเลขชิ้นส่วนตามรุ่น Fritzing ได้ที่ด้านบน
ขั้นตอนที่ 31: บัดกรีพาวเวอร์ซัพพลาย 4/4
คุณสามารถดูหมายเลขชิ้นส่วนตามรุ่น Fritzing ได้ที่ด้านบน
ขั้นตอนที่ 32: ประสานไมโครคอนโทรลเลอร์บน PCB 1/7
ฉันขอแนะนำว่าอย่าบัดกรี Arduino และ ESP8266 บน PCB. โดยตรง
ให้ใช้คอนเนคเตอร์ตามด้านล่างแทนเพื่อให้ง่ายต่อการเปลี่ยนไมโครคอนโทรลเลอร์
ขั้นตอนที่ 33: ประสานไมโครคอนโทรลเลอร์บน PCB 2/7
คุณจะต้องใช้ตัวเชื่อมต่อสำหรับ:
- 3 x +5v (ฉันทำสำรองไว้หนึ่งอัน)
- 6 x พื้นดิน
- 3 x สำหรับ DS1820
- 3 x สำหรับ LED
- 1 x ตัวรับสัญญาณ IR
- 2 x สำหรับคำสั่งรีเลย์
- 4 x สำหรับบัส I2C
นี่คือโครงการ Frizting ที่จะปฏิบัติตาม!
คุณสามารถดูหมายเลขชิ้นส่วนตามรุ่น Fritzing ได้ที่ด้านบน
ขั้นตอนที่ 34: ประสานไมโครคอนโทรลเลอร์บน PCB 3/7
คุณสามารถดูหมายเลขชิ้นส่วนตามรุ่น Fritzing ได้ที่ด้านบน
ขั้นตอนที่ 35: ประสานไมโครคอนโทรลเลอร์บน PCB 4/7
คุณสามารถดูหมายเลขชิ้นส่วนตามรุ่น Fritzing ได้ที่ด้านบน
ขั้นตอนที่ 36: ประสานไมโครคอนโทรลเลอร์บน PCB 5/7
คุณสามารถดูหมายเลขชิ้นส่วนตามรุ่น Fritzing ได้ที่ด้านบน
ขั้นตอนที่ 37: ประสานไมโครคอนโทรลเลอร์บน PCB 6/7
คุณสามารถดูหมายเลขชิ้นส่วนตามรุ่น Fritzing ได้ที่ด้านบน
ขั้นตอนที่ 38: ประสานไมโครคอนโทรลเลอร์บน PCB 7/7
คุณสามารถดูหมายเลขชิ้นส่วนตามรุ่น Fritzing ได้ที่ด้านบน
ขั้นตอนที่ 39: เชื่อมต่อและตรวจสอบทั้งหมดก่อนใส่ในกล่อง
ขั้นตอนที่ 40: ขัน PCBs บนชิ้นไม้
ขั้นตอนที่ 41: มาทำกล่องฝาไม้กันเถอะ
ขั้นตอนที่ 42: ใส่ทั้งหมดลงในกล่อง
ขั้นตอนที่ 43: สร้างโครงการรหัสเซิร์ฟเวอร์
เริ่มสภาพแวดล้อม IDE ของคุณ
ดาวน์โหลดแหล่งที่มาของแบตช์จาก GitHub
ดาวน์โหลดแหล่งข้อมูล J2EE จาก GitHub
เริ่ม Java IDE ของคุณ (เช่น Eclipse)
สร้างโปรเจ็กต์ Java “ThermostatRuntime”
นำเข้าแบทช์ที่ดาวน์โหลดมา
สร้างโครงการ J2EE (Dynamic Web Project สำหรับ Eclipse) “ThermostatPackage”
นำเข้าแหล่ง J2EE ที่ดาวน์โหลดมา
ขั้นตอนที่ 44: กำหนดการเชื่อมต่อ SQL ของคุณ
สร้างคลาส “GelSqlConnection” ทั้งในโปรเจ็กต์ Java และ J2EE
คัดลอกและวางเนื้อหา GetSqlConnectionExample.java
ตั้งค่าผู้ใช้เซิร์ฟเวอร์ MySql รหัสผ่าน และโฮสต์ที่คุณจะใช้เพื่อเก็บข้อมูล
บันทึก GelSqlConnection.java
คัดลอกและวาง GelSqlConnection.java ไว้ในโครงการ ThermostatRuntime
ขั้นตอนที่ 45: สร้างตารางฐานข้อมูล
สร้างตารางต่อไปนี้
ใช้สคริปต์ SQL เพื่อสร้างตาราง indDesc
ใช้สคริปต์ sql เพื่อสร้างตาราง indValue
ใช้สคริปต์ sql เพื่อสร้างตารางสถานี
เริ่มต้นตาราง
ดาวน์โหลดไฟล์ loadStations.csv
เปิดไฟล์ csv
แก้ไข st_IP เพื่อให้พอดีกับการกำหนดค่าเครือข่ายของคุณ
- ที่อยู่แรกคือเทอร์โมสตัทหนึ่ง
- ตัวควบคุมอุณหภูมิที่สองคือเซิร์ฟเวอร์หนึ่ง
บันทึกและโหลดตารางสถานีด้วย csv. นี้
ดาวน์โหลด loadIndesc.csv
โหลดตาราง ind_desc ด้วยcsv.นี้
ขั้นตอนที่ 46: กำหนดการควบคุมการเข้าถึง
คุณสามารถควบคุมอะไรก็ได้ตามต้องการโดยแก้ไขโค้ด “ValidUser.java” เพื่อให้เหมาะสมกับความต้องการด้านความปลอดภัยของคุณ
ฉันเพียงแค่ตรวจสอบที่อยู่ IP เพื่ออนุญาตการแก้ไข หากต้องการทำเช่นเดียวกันนี้ ให้สร้างตารางความปลอดภัยและแทรกบันทึกในตารางนี้ดังที่กล่าวไว้ข้างต้น
ขั้นตอนที่ 47: ไม่บังคับ
อุณหภูมิภายนอก
ฉันใช้ API พยากรณ์อากาศนี้เพื่อรับข้อมูลตำแหน่งของฉันและใช้งานได้ดีทีเดียว เชลล์ที่มี curl ทุกชั่วโมงจะดึงอุณหภูมิและเก็บไว้ในฐานข้อมูล คุณสามารถปรับวิธีการรับอุณหภูมิภายนอกได้โดยแก้ไขโค้ด “KeepUpToDateMeteo.java”
การรักษาความปลอดภัยภายในบ้าน
ฉันเชื่อมต่อระบบรักษาความปลอดภัยภายในบ้านกับเทอร์โมสตัทเพื่อลดคำแนะนำอุณหภูมิโดยอัตโนมัติเมื่อฉันออกจากบ้าน คุณสามารถทำสิ่งที่คล้ายกับฟิลด์ "securityOn" ในฐานข้อมูล
อุณหภูมิน้ำหม้อไอน้ำ
ฉันตรวจสอบอุณหภูมิน้ำในหม้อไอน้ำเข้าและออกด้วย Arduino และเซ็นเซอร์ 2 ตัว DS1820 ดังนั้นฉันจึงเพิ่มข้อมูลลงใน WEB HMI
ขั้นตอนที่ 48: เริ่มรหัสรันไทม์
ส่งออกโปรเจ็กต์ ThermostatRuntime เป็นไฟล์ jar
ยกเว้นกรณีที่คุณต้องการแก้ไขพอร์ต UDP เริ่มแบตช์ด้วยคำสั่ง:
java -cp $CLASSPATH ThermostatDispatcher 1840 1841
CLASSPATH ต้องมีการเข้าถึงไฟล์ jar และตัวเชื่อมต่อ mysql
คุณต้องเห็นบางอย่างด้านบนในบันทึก
เพิ่มรายการใน crontable เพื่อเริ่มต้นเมื่อรีบูต
ขั้นตอนที่ 49: เริ่มแอปพลิเคชัน J2EE
ส่งออก ThermostatPackage เป็น WAR
ปรับใช้ WAR ด้วยตัวจัดการ Tomcat
ทดสอบแอปพลิเคชัน youserver:port/Thermostat/ShowThermostat?station=1
คุณต้องเห็นบางอย่างเช่นด้านบน
ขั้นตอนที่ 50: ซิงโครไนซ์เทอร์โมสตัทและเซิร์ฟเวอร์
ใช้เมนูคำสั่งของ HMI เพื่อทำตามขั้นตอนต่อไปนี้
· อัปโหลดอุณหภูมิ
· อัพโหลดทะเบียน
· กำหนดการอัพโหลด
· เขียน eeprom / เลือกทั้งหมด
ขั้นตอนที่ 51: เชื่อมต่อเทอร์โมสตัทกับบอยเลอร์
ก่อนอ่านคำแนะนำหม้อไอน้ำอย่างละเอียด ดูแลไฟฟ้าแรงสูง
เทอร์โมสตัทต้องต่อเข้ากับหน้าสัมผัสธรรมดาด้วยสายไฟ 2 เส้น
ขั้นตอนที่ 52: เพลิดเพลินกับระบบควบคุมความร้อนของคุณ
คุณพร้อมที่จะกำหนดค่าระบบให้ตรงกับความต้องการของคุณได้อย่างแม่นยำ !
ตั้งอุณหภูมิอ้างอิง ตารางเวลาของคุณ
ใช้เอกสารประกอบเกี่ยวกับเทอร์โมสตัทเพื่อดำเนินการดังกล่าว
เริ่มการติดตาม PID ปล่อยให้ระบบทำงานสองสามวันแล้วใช้ข้อมูลที่รวบรวมมาเพื่อปรับแต่งเทอร์โมสตัท
เอกสารประกอบมีข้อกำหนดที่คุณสามารถอ้างอิงได้หากต้องการเปลี่ยนแปลง
หากคุณต้องการข้อมูลเพิ่มเติมโพสต์ฉันขอ ฉันจะยินดีที่จะตอบ
ซึ่งเป็นส่วนหนึ่งของโครงสร้างพื้นฐานระบบอัตโนมัติภายในบ้าน
ขั้นตอนที่ 53: กล่องพิมพ์ 3 มิติ
ฉันได้เครื่องพิมพ์ 3 มิติและพิมพ์กล่องนี้
การออกแบบด้านหลัง
การออกแบบด้านหน้า
การออกแบบด้านบนและด้านล่าง
การออกแบบด้านข้าง
แนะนำ:
DIY 37 Leds เกมรูเล็ต Arduino: 3 ขั้นตอน (พร้อมรูปภาพ)
DIY 37 Leds เกมรูเล็ต Arduino: รูเล็ตเป็นเกมคาสิโนที่ตั้งชื่อตามคำภาษาฝรั่งเศสหมายถึงวงล้อเล็ก
หมวกนิรภัย Covid ส่วนที่ 1: บทนำสู่ Tinkercad Circuits!: 20 ขั้นตอน (พร้อมรูปภาพ)
Covid Safety Helmet ตอนที่ 1: บทนำสู่ Tinkercad Circuits!: สวัสดีเพื่อน ๆ ในชุดสองตอนนี้ เราจะเรียนรู้วิธีใช้วงจรของ Tinkercad - เครื่องมือที่สนุก ทรงพลัง และให้ความรู้สำหรับการเรียนรู้เกี่ยวกับวิธีการทำงานของวงจร! หนึ่งในวิธีที่ดีที่สุดในการเรียนรู้คือการทำ ดังนั้น อันดับแรก เราจะออกแบบโครงการของเราเอง: th
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): 6 ขั้นตอน (พร้อมรูปภาพ)
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): การชาร์จแบบเหนี่ยวนำ (เรียกอีกอย่างว่าการชาร์จแบบไร้สายหรือการชาร์จแบบไร้สาย) เป็นการถ่ายโอนพลังงานแบบไร้สาย ใช้การเหนี่ยวนำแม่เหล็กไฟฟ้าเพื่อจ่ายกระแสไฟฟ้าให้กับอุปกรณ์พกพา แอปพลิเคชั่นที่พบบ่อยที่สุดคือ Qi Wireless Charging st
4 ขั้นตอน Digital Sequencer: 19 ขั้นตอน (พร้อมรูปภาพ)
4 ขั้นตอน Digital Sequencer: CPE 133, Cal Poly San Luis Obispo ผู้สร้างโปรเจ็กต์: Jayson Johnston และ Bjorn Nelson ในอุตสาหกรรมเพลงในปัจจุบัน ซึ่งเป็นหนึ่งใน “instruments” เป็นเครื่องสังเคราะห์เสียงดิจิตอล ดนตรีทุกประเภท ตั้งแต่ฮิปฮอป ป๊อป และอีฟ
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: 13 ขั้นตอน (พร้อมรูปภาพ)
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: ทำป้ายโฆษณาแบบพกพาราคาถูกด้วยตัวเอง ด้วยป้ายนี้ คุณสามารถแสดงข้อความหรือโลโก้ของคุณได้ทุกที่ทั่วทั้งเมือง คำแนะนำนี้เป็นการตอบสนองต่อ/ปรับปรุง/เปลี่ยนแปลงของ: https://www.instructables.com/id/Low-Cost-Illuminated-