สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
จากโครงการก่อนหน้านี้ ฉันมี 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 ตัวเก่า และหมุดบางตัวเพื่อเชื่อมต่อบอร์ดต้นแบบ
คุณสามารถค้นหารหัส 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 กับไม้
ใช้เนคไทพลาสติก 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 แถบ หากคุณทดสอบ โปรดกรุณารายงานจุดบกพร่องหรือยืนยันว่าทำงานได้ดี
ขอขอบคุณ.