นาฬิกาเชิงเส้นโดยใช้ Arduino + DS1307 + Neopixel: นำฮาร์ดแวร์บางส่วนกลับมาใช้ใหม่: 5 ขั้นตอน
นาฬิกาเชิงเส้นโดยใช้ Arduino + DS1307 + Neopixel: นำฮาร์ดแวร์บางส่วนกลับมาใช้ใหม่: 5 ขั้นตอน
Anonim
Image
Image

จากโครงการก่อนหน้านี้ ฉันมี Arduino UNO และแถบ LED Neopixel เหลืออยู่ และต้องการสร้างสิ่งที่แตกต่างออกไป เนื่องจากแถบ Neopixel มีไฟ LED 60 ดวง คิดว่าจะใช้เป็นนาฬิกาขนาดใหญ่

เพื่อระบุชั่วโมง จะใช้เซ็กเมนต์ 5-LED สีแดง (60 LED / 12 เซ็กเมนต์ = 5 LED) นาทีจะแสดงด้วย LED สีเขียวดวงเดียว และวินาทีโดยใช้ LED สีน้ำเงินหนึ่งดวง

ฉันเพิ่มบอร์ดนาฬิกาเรียลไทม์ DS1307 เพื่อเก็บเวลาเมื่อไม่ได้จ่ายไฟ Arduino

นี่คือแถบ LED Neopixel 60 ที่ใช้: https://www.adafruit.com/product/1138 และนี่คือบอร์ด DS1307:

ในขั้นต้น แถบ LED ถูกวางแผนว่าจะแขวนไว้บนผนังห้องรับประทานอาหาร แต่ลูกสาวของฉันบอกให้ฉันติดมันเข้ากับแผ่นไม้จากพาเลท ดังนั้นพวกเขาจึงวาดตัวเลขและติดกาวเข้ากับไม้

ขั้นตอนที่ 1: บอร์ดต้นแบบ

บอร์ดต้นแบบ
บอร์ดต้นแบบ
บอร์ดต้นแบบ
บอร์ดต้นแบบ

ที่นี่คุณมีวงจรที่จะดำเนินการและ BOM

หากคุณไม่ใช้บอร์ด DS1307 RTC บอร์ดจะไม่ทำงาน ชั่วโมงและนาทีจะถูกรีเซ็ตเมื่อไม่ได้จ่ายไฟ Arduino เนื่องจากบอร์ดนี้ไม่มี RTC ภายใน

บอร์ดต้นแบบช่วยรักษา RTC DS1307 ตัวต้านทานและปุ่มสองสามตัวให้เข้าที่

จำเป็นต้องมีการบัดกรีและการเดินสาย

ปุ่ม "H" เพิ่มชั่วโมงเมื่อกด ปุ่ม "M" เพิ่มนาที วินาทีจะถูกรีเซ็ตเมื่อกดปุ่มใดๆ

หลังจากใช้งานต่อเนื่อง 6 เดือน มีความล่าช้า 2 นาที (ในความคิดของฉันค่อนข้างดี)

ขั้นตอนที่ 2: Arduino UNO

Arduino UNO
Arduino UNO
Arduino UNO
Arduino UNO
Arduino UNO
Arduino UNO
Arduino UNO
Arduino UNO

ฉันใช้โคลน Arduino ตัวเก่า และหมุดบางตัวเพื่อเชื่อมต่อบอร์ดต้นแบบ

คุณสามารถค้นหารหัส Arduino ได้ที่:

github.com/Giroair/Linear-Clock-Arduino/bl…

ติด Arduino กับชิ้นไม้โดยใช้พลาสติกผูก

บัดกรีสายเคเบิล 3 เส้นเข้ากับแถบ Neopixel (ข้อควรระวัง: ใช้เทปหรือขั้วต่อสำหรับการแยกบางส่วน)

ในโครงการนี้ Arduino ใช้พลังงานจากเครื่องชาร์จ USB 5V 1A มาตรฐาน

ข้อมูลสำหรับนักพัฒนา: Neopixel ใช้พลังงานจากพิน 5V ของ Arduino UNO เพราะมีเพียง 7 LED เท่านั้นที่เปิดพร้อมกัน หากคุณวางแผนที่จะเปิดไฟ LED มากขึ้น (ซึ่งจะสมบูรณ์แบบสำหรับจอแสดงผลที่น่าดึงดูดยิ่งขึ้น) ให้พิจารณาเปิดเครื่อง Neopixel จากแหล่ง 5V ภายนอก ในกรณีนั้น ให้เชื่อมต่อ GND ต้นทางกับพิน GND ของบอร์ด Arduino

การจ่ายไฟให้กับ Arduino ที่เชื่อมต่อแหล่งพลังงานภายนอกและเชื่อถือได้กับพิน 5V ก็เป็นตัวเลือกเช่นกัน

ขั้นตอนที่ 3: ติดแถบ LED กับไม้

การติดแถบ LED กับไม้
การติดแถบ LED กับไม้
การติดแถบ LED กับไม้
การติดแถบ LED กับไม้
การติดแถบ LED กับไม้
การติดแถบ LED กับไม้
การติดแถบ LED กับไม้
การติดแถบ LED กับไม้

ใช้เนคไทพลาสติก 3 อันเพื่อยึดแถบให้เข้าที่ ระวังอย่าปิดไฟ LED ใดๆ

แผ่นบางแผ่นติดกาวที่ไม้และทาสีตัวเลข

ตัวเลขสีแดงแสดงถึงชั่วโมง เส้นจะถูกวาดทุกๆ 5 LED

ตัวเลขสีเขียวระบุนาที โปรดทราบว่า LED แรกระบุนาทีแรก และสุดท้ายระบุนาทีที่ 60

ขั้นตอนที่ 4: การพัฒนาในอนาคต

การพัฒนาในอนาคต
การพัฒนาในอนาคต

แนวคิดบางส่วนจากโครงการนี้:

1.- แกะสลักตัวเลขบนไม้โดยใช้สิ่ว แล้วทาสีและเคลือบเงา

2.- วาดตัวเลขชั่วโมงในด้านหนึ่งและตัวเลขนาทีอีกด้านหนึ่ง

3.- ใช้แถบ LED 2 แถบด้านหลัง: หนึ่งอันหันไปทางซ้ายสำหรับชั่วโมงและอีกอันหนึ่งหันไปทางขวาสำหรับนาที

4.- ทดลองกับเซ็กเมนต์และสีต่างๆ: จินตนาการคือขีดจำกัด (ขอแนะนำให้ใช้ไฟ 5V ภายนอกกับแถบนีโอพิกเซล)

5.- แสดงชั่วโมงและนาทีหรือ

6.- แบ่งแถบ LED ออกเป็นส่วน ๆ และสร้างเมทริกซ์ LED ขนาด 7x8 เพื่อแสดงตัวเลขและตัวอักษรดิจิทัล

7.- หรี่ไฟ: ใช้ LDR หรือโฟโตไดโอดเพื่อหรี่แสงโดยอัตโนมัติ

8.- เชื่อมต่อกับระบบคลาวด์เพื่อรับเวลาจากเซิร์ฟเวอร์

9.- เปิดใช้งานการเตือน: แถบจะกะพริบเมื่อมีการรับสายหรือทวีตหรือตั้งเวลาปลุก

10.-….. เพียงแค่แจ้งให้เราทราบ!

ขั้นตอนที่ 5: โพสต์สคริปต์: 2 แถบ

ฉันทิ้งไฟล์ "neopixel_invers_2_strips.ino" ไว้ใน

มีจุดมุ่งหมายเพื่อควบคุมแถบหนึ่งเพื่อระบุชั่วโมงที่เชื่อมต่อกับหมุด #6 และแถบที่สองเพื่อระบุนาที/วินาทีที่เชื่อมต่อกับหมุด #7

ทั้ง 5V DC และกราวด์ของแถบนั้นเชื่อมต่อกับแหล่งสัญญาณเดียวกัน

ข้อจำกัดความรับผิดชอบ: ไม่สามารถทดสอบได้ตราบใดที่ไม่มี 2 แถบ หากคุณทดสอบ โปรดกรุณารายงานจุดบกพร่องหรือยืนยันว่าทำงานได้ดี

ขอขอบคุณ.