สารบัญ:

Arduino Outlet Timer: 3 ขั้นตอน
Arduino Outlet Timer: 3 ขั้นตอน

วีดีโอ: Arduino Outlet Timer: 3 ขั้นตอน

วีดีโอ: Arduino Outlet Timer: 3 ขั้นตอน
วีดีโอ: #30 สอน Arduino Tutorial : Arduino คำสั่ง Timer 2024, มิถุนายน
Anonim
Arduino Outlet Timer
Arduino Outlet Timer
Arduino Outlet Timer
Arduino Outlet Timer

ตัวจับเวลาเอาท์เล็ทเป็นเครื่องมือที่ยอดเยี่ยมในการเก็บอุปกรณ์ไว้นานเกินไป แต่ขาดการปรับแต่งที่จำเป็นในบางครั้ง อุปกรณ์บางอย่างไม่มีสวิตช์เลย และการสร้างตัวจับเวลาอัตโนมัติแบบโฮมเมดก็มีประโยชน์จริงๆ สำหรับโครงการนี้ ฉันใช้ Arduino nano, หน้าจอ LCD I2C 18x2, 3 ปุ่ม, หน่วยเต้ารับ DLI และเคสที่พิมพ์ 3 มิติเพื่อสร้างตัวจับเวลา/สวิตช์ที่ปรับแต่งได้อย่างเต็มที่สำหรับเต้ารับสองแห่ง

สิ่งที่ควรทราบ:

-ในโครงการนี้ ฉันใช้ Arduino Nano แต่เหมือนกับหลายๆ ส่วนที่ฉันใช้ พวกเขาสามารถสลับไปใช้ส่วนอื่นๆ ที่คล้ายกันได้อย่างง่ายดาย การใช้ ESP8266 อาจทำให้ระบบอัตโนมัติภายในบ้านแบบไร้สายสำหรับหลอดไฟ พัดลม ฯลฯ

-DLI อาจมีราคาแพงกว่าการซื้อแบบที่หลายคนมักใช้ รีเลย์ แต่มันปลอดภัยกว่ามากและเป็นแนวคิดที่ดีกว่ามาก DLI นั้นใช้งานง่ายมากและสร้างขึ้นเพื่อจุดประสงค์นั้น การใช้รีเลย์ที่ยุ่งเหยิงอาจส่งผลให้กระแสไฟไหลไปในที่ที่คุณไม่ต้องการได้ในปริมาณที่เป็นอันตราย

เสบียง

Arduino Nano (ฉันเพิ่งเปลี่ยนไปใช้ Osoyoo pro micros ซึ่งใช้งานได้จริงคล้ายกับ Nanos และมีราคาที่ถูกกว่ามาก แต่ในโครงการนี้ ฉันใช้ nano)

เต้ารับ DLI

หน้าจอ LCD 18x2 I2C- ตรวจสอบให้แน่ใจว่าได้ลองรับหน้าจอที่รองรับ I2C การพยายามต่อสายอาร์เรย์ 16 พินแบบเต็มอาจเป็นเรื่องยุ่งยาก

ปุ่มเล็กและใหญ่

กรณีพิมพ์ 3 มิติ - ฉันจะให้ STL ด้านล่าง เคสนี้มีไว้เพื่อให้พอดีกับทุกส่วนที่ฉันใช้และควรประกอบโดยใช้กาวร้อน

อุปกรณ์ทั้งหมดเหล่านี้ไม่ได้รับการปรับให้เหมาะสมกับราคา เนื่องจากเป็นเพียงชิ้นส่วนที่ฉันพบว่าวางอยู่รอบๆ บ้าน มีทางเลือกมากมายสำหรับแต่ละรายการ และฉันคิดว่าคุณสามารถสร้างสิ่งนี้ได้ (นอกเหนือจากเต้ารับ DLI) ด้วยเงินน้อยกว่า 10 ดอลลาร์

ขั้นตอนที่ 1: กำหนดค่าส่วนประกอบสายไฟและบัดกรี

กำหนดค่าส่วนประกอบสายไฟและบัดกรี
กำหนดค่าส่วนประกอบสายไฟและบัดกรี

เนื่องจากฉันใช้ Arduino Nano โดยไม่มีหมุดส่วนหัว ฉันจึงบัดกรีจอแสดงผล LCD หนึ่งจอเพื่อเชื่อมต่อผ่าน SDA, SCL, 5V และ GND ข้อสังเกตคือในการเดินสายไฟที่จอ LCD ไม่ใช่ I2C ฉันแค่เดินสายราวกับว่า 4 พินแรกนั้นเป็นไปตามที่อธิบายไว้ข้างต้น สำหรับจอแสดงผลที่คล้ายคลึงกันนี้ คุณต้องใช้บอร์ดอะแดปเตอร์ I2C พิเศษเพื่อประสานเข้ากับแถวของหมุดที่ด้านบนเพื่อแปลงเป็นการสื่อสารแบบอนุกรม นอกจากนี้ บน Arduino Nano SDA คือพิน A4 และ SCL A5

ปุ่มสามปุ่มและเต้ารับ DLI ทั้งหมดต้องใช้การเชื่อมต่อกราวด์ร่วมกัน เนื่องจาก Arduino รุ่นนี้มีเพียงพินกราวด์ 2 พิน (ฉันแยกสายเหล่านี้โดยเพียงแค่ต่อสายไฟและบัดกรีเข้าด้วยกัน) จากนั้นแต่ละปุ่มจะต่อเข้ากับพิน i/o ดิจิทัล จากนั้นจึงต่อกับขั้วบวกสำหรับเต้ารับ DLI

ขั้นตอนที่ 2: รหัส

ด้านล่างนี้เป็นลิงค์ไปยังโค้ด Arduino ที่รันตัวจับเวลาของฉัน การตั้งค่าสำหรับจอแสดงผล LCD เป็นสิ่งที่ฉันออนไลน์ ดังนั้นฉันจึงไม่เข้าใจการตั้งค่าพินทั้งหมดอย่างถ่องแท้ สิ่งสำคัญที่ควรทราบเกี่ยวกับหมุดของปุ่มคือเมื่อเชื่อมต่อปุ่มกับกราวด์แทน 5v pinMode จะต้องตั้งค่าเป็น INPUT_PULLUP (อย่างที่ฉันทำ) ซึ่งช่วยให้มีตัวต้านทานพูลอัพในตัวใน Arduino สิ่งนี้ "พลิก" เอาต์พุตของปุ่ม แต่มันทำให้มีความเสถียรมาก และยังช่วยขจัดความเสี่ยงในการทอดกระดานโดยวาง 5v ในที่ที่มันไม่ได้อยู่ ในการควบคุม DLI อย่างน้อยกับรุ่นที่ฉันใช้ มันง่ายพอๆ กับการเดินสายไฟ 2 เส้นเข้าไป และส่ง 5v ผ่านเส้นเดียวเพื่อเปิด/ปิด DLI ฉันตั้งค่าตัวจับเวลาให้มีเวลาสูงสุด 5 ชั่วโมง และหากคุณเปลี่ยนค่านี้ ฉันขอแนะนำให้เปลี่ยนค่าเวลาเป็นค่า long แทน int เพราะอาจทำให้โอเวอร์โหลดได้ วิธีที่ฉันจัดเรียงฟังก์ชันการทำงานของปุ่มทั้ง 3 ปุ่มของฉันคือการมีปุ่มรีเซ็ต/ปิดตัวจับเวลา (และ DLI) ปุ่มหนึ่งปุ่มเพิ่ม 15 นาที และปุ่มอีกปุ่มสำหรับลบ 15 นาที สุดท้ายนี้ ฉันได้ตั้งโปรแกรมไว้แล้ว ดังนั้นหลังจาก "ไม่มีการใช้งาน" 60 วินาที (เมื่อตัวจับเวลาอยู่ที่ 0 และไม่มีการกดปุ่มใดๆ เลย) หน้าจอ LCD จะปิดลงเพื่อป้องกันการเผาไหม้

ขั้นตอนที่ 3: ประกอบ

ประกอบ
ประกอบ

เคสที่ฉันพิมพ์ได้รับการออกแบบมาเพื่อให้แต่ละชิ้นติดกาวร้อนเข้าที่จากด้านใน หน้าจอและปุ่มต่างๆ แนบสนิทกับจุดต่างๆ (รูสำหรับปุ่มต้องใช้การขัดเนื่องจากเกลียวบนปุ่มที่เล็กกว่าสองปุ่ม) Arduino ไม่มีปลอกหรือที่ยึดแน่น แต่ฉันออกแบบเคสให้มีจุดสำหรับนั่งเพื่อให้มันยึดเข้าที่ด้วยเทปสองด้านและสามารถเข้าถึงได้สำหรับการชาร์จ / ตั้งโปรแกรมผ่าน (ในของฉัน เคส) มินิยูเอสบี สุดท้าย แผงด้านหลังได้รับการออกแบบให้เลื่อนไปทางด้านหลังและสามารถติดกาวร้อนเข้าที่ ฉันได้แนบไฟล์.stl สำหรับเคสด้านล่าง

แนะนำ: