สารบัญ:
- ขั้นตอนที่ 1: รายการ IO และสิ่งที่คุณต้องการ
- ขั้นตอนที่ 2: ผังงาน
- ขั้นตอนที่ 3: Fritzing
- ขั้นตอนที่ 4: การเข้ารหัส
- ขั้นตอนที่ 5: Node-Red
- ขั้นตอนที่ 6: การปรับใช้และการใช้งาน
วีดีโอ: UCL-lloT-แสงกลางแจ้งที่กระตุ้นโดยพระอาทิตย์ขึ้น/พระอาทิตย์ตก: 6 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
สวัสดีทุกคน! ด้วยการทำงานเล็กน้อย บางส่วนและรหัส ฉันได้รวบรวมคำแนะนำนี้ซึ่งจะแสดงให้คุณเห็นตั้งแต่ต้นจนจบถึงวิธีการผลิตแสงกลางแจ้งนี้ แนวคิดนี้มีต้นกำเนิดมาจากพ่อของฉัน ซึ่งในช่วงหน้าร้อนต้องออกไปข้างนอกและเปลี่ยนตัวเองเมื่อเปิดไฟ ด้วยเวลาพระอาทิตย์ตกและพระอาทิตย์ขึ้นที่เปลี่ยนแปลงอย่างรวดเร็วตลอดทั้งปี เขาถามว่าฉันจะหาวิธีอัตโนมัติได้หรือไม่ และเราอยู่ที่นี่ โครงการที่ค่อนข้างเล็ก
ขั้นตอนที่ 1: รายการ IO และสิ่งที่คุณต้องการ
Arduino MEGA 2560 เท่าที่ผมเคยใช้มา ผมรู้ว่าคุณสามารถใช้อย่างอื่นได้ง่าย
DS3231 และมันคือห้องสมุด (https://rinkydinkelectronics.com/library.php?id=73… สิ่งสำคัญคือต้องรู้ว่าพินที่ตั้งไว้สำหรับ SDA และ SCL นั้นแตกต่างกันขึ้นอยู่กับ Arduino ที่คุณใช้
I052116 โมดูลเซ็นเซอร์ตรวจจับการเคลื่อนไหวอินฟราเรด IR โมดูลเฉพาะนี้สามารถเปลี่ยนเป็นเซ็นเซอร์ที่คุณเลือกได้
ขั้นตอนที่ 2: ผังงาน
ดังที่เห็นในผังงานอย่างง่าย การยกของหนักส่วนใหญ่อยู่ใน Node-Red ด้วยโหนดที่ค่อนข้างง่าย แนวคิดก็คือจาก Node-Red คุณจะเข้าถึงเว็บไซต์ที่รู้ว่าดวงอาทิตย์ตกและขึ้นกี่โมง เมื่อมีแล้วก็จะส่งข้อมูลไปยัง Arduino เพื่อบอก จาก Arduino เราจะได้สัญญาณที่บ่งบอกได้อย่างแม่นยำว่าไฟเปิดอยู่จริงเมื่อใด เพื่อให้คุณสามารถตรวจสอบจากบ้านของคุณได้เมื่อไฟดับ นอกจากนี้ จาก Arduino เราจะได้ข้อมูลว่าเซ็นเซอร์ความใกล้ชิดถูกเปิดใช้งาน ซึ่งเปิดไฟไว้นาน x ครั้ง
ขั้นตอนที่ 3: Fritzing
เมื่อเทียบกับโครงการอื่นๆ การเดินสายค่อนข้างง่ายที่นี่ สิ่งที่คุณต้องระวังคือ คุณจะต้องใช้โมดูล WIFI เพื่อติดต่อกับเซิร์ฟเวอร์ Node-Red หรือหาคอมพิวเตอร์ที่ใช้แล้วทิ้งเพื่อโฮสต์เซิร์ฟเวอร์ Node-Red บนที่เชื่อมต่อกับ Arduino ไม่แสดงในรูปภาพเป็นการเชื่อมต่อระหว่าง Arduino และแล็ปท็อป และฉันขอโทษล่วงหน้าสำหรับรูปภาพ Fritzing ที่น่าสงสาร!
ขั้นตอนที่ 4: การเข้ารหัส
หากมีสิ่งหนึ่งที่ฉันพบคือกับ Firmata (สำหรับการสื่อสาร Arduino กับ Node-Red) ไลบรารี DS3231 และอื่นๆ มีไลบรารีที่โหลดไว้มากมาย ขณะที่เผยแพร่ การเข้ารหัสยังไม่เสร็จ ดังนั้นจึงรวมรหัสเทียมไว้ด้วย
รวมอยู่ในไลบรารีจาก DS3231 คือพินที่ตั้งไว้ล่วงหน้าสำหรับบอร์ด Arduino แต่ละอัน และในกรณีของเมกะ มันคือพิน 20 และ 21 เนื่องจากเป็นพิน SDA และ SCL บนเมกะ เมื่อเชื่อมต่อแล้ว นาฬิกาสามารถบอกได้ว่าวันนี้เป็นวันอะไรและควรติดตามอะไร สิ่งที่ฉันพบว่าง่ายต่อการใช้งานในการติดตามตัวเลขคือการใช้ int แทนสตริง สิ่งที่ฉันทำคือแปลงตัวเลขของสตริงเป็น int แต่เนื่องจาก int ไม่สามารถใช้: เพื่อแยกนาฬิกา ฉันจึงตัดสินใจทำอย่างอื่นแทน แทนที่จะทำงานเป็นชั่วโมง เราก็จะทำงาน ด้วยนาที หลายนาที เช่น ถ้านาฬิกาเป็น 13:21 ฉันจะแยกตัวเลขสองหลักแรกและจับเวลาเป็นหกสิบ ขณะนี้เราอยู่ที่ 801 นาที เนื่องจาก 13 คูณ 60 เท่ากับ 780 และคุณบวก 21 นาทีสุดท้าย หากโหนดแดงของเราบอกว่าดวงอาทิตย์ตกเวลา 16:58 น. (ในกรณีของฤดูหนาว) เราจะเปิดไฟกลางแจ้งระหว่าง 1,018 นาที และเวลาปิดที่กำหนดไว้ล่วงหน้าซึ่งจะเป็น 1380 (23:00 น.)). หากตัวจับเวลาของเราอยู่ระหว่างนั้น ไฟจะเปิดขึ้น คณิตศาสตร์ข้างต้นเป็นพื้นฐานของโปรแกรมทั้งหมด โดยไม่มีขั้นตอนในการรับ Node-Red เพื่อเชื่อมต่อกับ Arduino และสื่อสาร นอกจากนี้ยังมีการใช้เซ็นเซอร์ที่ทำให้แน่ใจว่าไฟเปิดอยู่ (แม้พระอาทิตย์ตกดินไปแล้วก็ตาม) แต่อย่างอื่นนั่นคือโปรแกรมทั้งหมดข้างต้น
ขั้นตอนที่ 5: Node-Red
ไม่ใช่โฟลว์ขนาดใหญ่โดยเฉพาะ ไม่จำเป็นว่าจะต้องเป็นในกรณีนี้ โหนด 2 แถวแรกเป็นส่วนสำคัญของโปรแกรม เมื่อใช้ฟังก์ชัน GET เราจะดึงข้อมูลการคาดการณ์ในปัจจุบันว่าดวงอาทิตย์จะขึ้นและตกอย่างไร จากที่นั่น เราใช้ตัวเลือก CSS เพื่อดึงข้อมูลเฉพาะของเรา ซึ่งมักจะเข้าถึงได้จากเว็บไซต์ "ตรวจสอบองค์ประกอบ" บน firefox ตามที่ระบุไว้ในรูปภาพ โปรดทราบว่าไม่ใช่ทุกเว็บไซต์ที่จะทำงานในลักษณะนี้ และเว็บไซต์ที่ฉันใช้สามารถทำงานได้อย่างสมบูรณ์แบบด้วยวิธีนี้ จากนั้นจะเขียนข้อมูลไปที่พิน 13 เพราะนั่นคือสิ่งที่ฉันได้กำหนดให้เป็น แม้ว่าการทดสอบจะยังไม่กำหนดว่าพินหนึ่งพินไปถึงเวลาที่ต่างกันนั้นใช้การได้หรือไม่ ตามที่อธิบายไว้ในส่วนการเข้ารหัส ข้อมูลจะมาจาก Arduino ไปยัง Node-Red ซึ่งจะระบุในเว็บไซต์ที่สามารถเข้าถึงได้ซึ่งสามารถตรวจสอบได้ง่าย คุณจะต้องใช้ Firmata สำหรับสิ่งนี้หากคุณต้องการใช้ฟังก์ชัน Arduino ได้มาจากไลบรารี node-red-node-arduino บน Node-Red แม้ว่าจะยังไม่ได้ตั้งค่าทั้งหมด และจะได้รับการอัปเดตเมื่อฉันทำโปรเจ็กต์เสร็จ ฉันได้แนบโค้ดสำหรับ Node-Red Flow ไว้ในเอกสารข้อความเพื่อให้เข้าถึงได้ง่าย
ขั้นตอนที่ 6: การปรับใช้และการใช้งาน
และเพื่อจบการสั่งสอนของเรา เป็นส่วนที่ใช้ได้จริงของมัน ด้วยบ้านไม่กี่หลังที่มีแสงอัตโนมัติระดับนี้ เจ้าของบ้านจำนวนมากจึงยินดีต้อนรับวิธีแก้ปัญหาตลอดทั้งปี ในการเชื่อมต่อสิ่งนี้กับหลอดไฟโดยใช้ไฟฟ้าที่ไม่ใช่ Arduino ฉันไม่แนะนำให้ทำเองเว้นแต่คุณจะรู้ว่าคุณกำลังทำอะไรอยู่ เมื่อโปรเจ็กต์จบลง ฉันจะรับงานนี้โดยได้รับความช่วยเหลือจากช่างไฟฟ้าเพื่อให้แน่ใจ การทำให้ถนนของคุณสว่างขึ้นโดยใช้เซ็นเซอร์หรือตามกำหนดเวลาอย่างเคร่งครัด ฉันแนะนำให้คุณต่อยอดจากสิ่งที่ฉันได้ทำไปแล้วหากคุณ หมายถึงการนำไปใช้จริง ๆ นอกเหนือระยะการทดสอบนี้ ปัญหาส่วนใหญ่ของฉันกับโครงการอยู่ที่ส่วน Node-Red ถึง Arduino อย่างเคร่งครัด และฉันหวังว่าฉันจะสามารถอธิบายให้ชัดเจนที่สุดว่าเป็นไปได้อย่างไร เสร็จแล้ว
แนะนำ:
UCL Embedded - B0B the Linefollower: 9 ขั้นตอน
UCL Embedded - B0B the Linefollower: นี่คือ B0B.*B0B เป็นรถที่ควบคุมด้วยวิทยุทั่วไป ซึ่งให้บริการพื้นฐานของหุ่นยนต์ตามสายชั่วคราว เช่นเดียวกับหุ่นยนต์ติดตามบรรทัดจำนวนมากก่อนหน้าเขา เขาจะพยายามอย่างเต็มที่เพื่ออยู่ต่อ เส้น aa เกิดจากการเปลี่ยนระหว่างพื้นและแ
UCL - IIoT - Indoor-climate 4.0: 8 ขั้นตอน
UCL - IIoT - Indoor-climate 4.0: หลังจากอ่านและทำงานกับคำแนะนำนี้ คุณจะมีสภาพอากาศในร่มอัตโนมัติ ซึ่งคุณสามารถสังเกตได้ทางออนไลน์ด้วยความช่วยเหลือของ Node-red ในกรณีของเรา เราได้พัฒนาแนวคิดนี้และนำเสนอในโรงพิมพ์ 3 มิติ
UCL-IIoT-Drivhus: 5 ขั้นตอน
UCL-IIoT-Drivhus: วัตถุประสงค์ของโครงการนี้คือการสร้างบ้านสวนโดยใช้ Arduino ดังนั้น นักเรียน 3 คนในกลุ่มจึงตัดสินใจสร้าง Greenhouse อัตโนมัติ เราจึงตัดสินใจบันทึกข้อมูลเกี่ยวกับข้อมูลที่เรือนกระจกให้ไว้ ผ่านเซิร์ฟเวอร์ Wamp, node-re
UCL-IIOT - ระบบเตือนภัยพร้อมฐานข้อมูลและโหนดสีแดง: 7 ขั้นตอน
UCL-IIOT - Alarm System With Database and Node-red: จุดประสงค์ของ build นี้คือการสอนเกี่ยวกับการเชื่อมต่อ Arduino กับ Node-red และฐานข้อมูล เพื่อให้คุณสามารถบันทึกข้อมูลและเก็บรวบรวมไว้เพื่อใช้ในภายหลัง สำหรับ build นี้ ฉันใช้ ระบบเตือนภัย Arduino อย่างง่ายที่ส่งออกตัวเลขข้อมูล 5 ตัว โดยแต่ละตัวคั่นด้วย
UCL-IIoT-Strongbox พร้อม RFID และหน้าจอ LCD (Nodered, MySQL): 5 ขั้นตอน
UCL-IIoT-Strongbox พร้อม RFID และหน้าจอ LCD (Nodered,MySQL): โครงการ Arduino พร้อมเครื่องสแกน RFID และ LCD บทนำ เพื่อสรุปหลักสูตรของเราด้วยไมโครคอนโทรลเลอร์ โดยเฉพาะ Arduino Mega ที่เราใช้อยู่ เราได้รับมอบหมายให้ทำโครงการที่รวม Arduino Mega ของเราไว้ด้วย นอกเหนือจาก