สารบัญ:
- ขั้นตอนที่ 1: 3D พิมพ์ส่วนประกอบพลาสติก
- ขั้นตอนที่ 2: เตรียมแผงควบคุมและการเดินสายไฟ
- ขั้นตอนที่ 3: ประกอบเซอร์โว
- ขั้นตอนที่ 4: ตั้งค่าและทดสอบ
- ขั้นตอนที่ 5: การอัปโหลดรหัส
- ขั้นตอนที่ 6: การประกอบนาฬิกาบนกระดานด้านหลัง
- ขั้นตอนที่ 7: การตั้งค่าและการใช้งานขั้นสุดท้าย
วีดีโอ: นาฬิกาแสดงผลแบบกลไกเจ็ดส่วน: 7 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:02
สองสามเดือนที่ผ่านมาฉันสร้างจอแสดงผล 7 ส่วนแบบกลไกสองหลักซึ่งฉันเปลี่ยนเป็นนาฬิกาจับเวลาถอยหลัง มันออกมาค่อนข้างดีและหลายคนแนะนำให้เพิ่มหน้าจอเป็นสองเท่าเพื่อทำนาฬิกา ปัญหาคือว่า PWM IO บน Arduino Mega ของฉันหมดแล้ว และมีไม่เพียงพอสำหรับตัวเลขที่สองหรือสาม จากนั้นฉันก็ชี้ไปในทิศทางของไดรเวอร์ PCA9685 16 ช่องสัญญาณ PWM ซึ่งทำงานผ่านอินเทอร์เฟซ I2C สิ่งเหล่านี้ทำให้สามารถขับเซอร์โว 28 ตัวที่ฉันต้องการทั้งหมดโดยใช้พิน I2C สองตัวบน Arduino ดังนั้นฉันจึงต้องทำงานสร้างนาฬิกาซึ่งตอนนี้ใช้โมดูลนาฬิกาเรียลไทม์ DS1302 เพื่อรักษาเวลาและไดรเวอร์เซอร์โว 16 แชนเนลสองตัวเพื่อควบคุม 28 เซอร์โวที่ใช้สร้างจอแสดงผล ซึ่งทั้งหมดขับเคลื่อนโดย Arduino Uno
หากคุณชอบคำแนะนำนี้ โปรดพิจารณาโหวตใน Clocks Contest
เสบียง:
ในการสร้างนาฬิกา คุณจะต้องมีอุปกรณ์ต่อไปนี้นอกเหนือจากเครื่องมือพื้นฐานบางอย่าง:
- Arduino Uno - ซื้อที่นี่
- โมดูลนาฬิกา DS1302 - ซื้อที่นี่
- ไดรเวอร์เซอร์โว PCA9685 16Ch 2 ตัว - ซื้อที่นี่
- 28 x Micro Servos - ซื้อที่นี่
- สายริบบิ้น - ซื้อที่นี่
- แถบส่วนหัวของหมุดตัวผู้ - ซื้อที่นี่
- แถบส่วนหัวของหมุดตัวเมีย - ซื้อที่นี่
- MDF 3 มม. - ซื้อที่นี่
- สีสเปรย์สีดำ - ซื้อที่นี่
- วงจรกำจัดแบตเตอรี่ 5V 5A - ซื้อที่นี่
- แหล่งจ่ายไฟ 12V - ซื้อที่นี่
สำหรับโครงการนี้ คุณจะต้องมีชิ้นส่วนที่พิมพ์ 3 มิติด้วย หากคุณยังไม่มีเครื่องพิมพ์ 3D และชอบทำสิ่งต่างๆ คุณควรพิจารณาซื้อเครื่องพิมพ์ 3 มิติ Creality Ender 3 Pro ที่ใช้ในที่นี้มีราคาไม่แพงและให้งานพิมพ์คุณภาพดีในราคาที่เหมาะสม
- ใช้เครื่องพิมพ์ 3 มิติ - ซื้อที่นี่
- Filament - ซื้อที่นี่
ขั้นตอนที่ 1: 3D พิมพ์ส่วนประกอบพลาสติก
ฉันออกแบบจอแสดงผล 7 ส่วนให้เรียบง่ายที่สุด เซอร์โวยังเป็นโครงรองรับเพื่อยึดส่วนด้านบนไว้ มีส่วนประกอบที่พิมพ์ 3D สองชิ้นที่จำเป็นสำหรับแต่ละส่วน ได้แก่ บล็อกตัวเว้นวรรคเพื่อรองรับด้านล่างของเซอร์โวและส่วนแสดงผลซึ่งติดกาวเข้ากับแขนเซอร์โวโดยตรง
ดาวน์โหลดไฟล์ 3D Print - Mechanical 7 Segment Display Clock 3D Print Files
พิมพ์เซ็กเมนต์เซอร์โวและจุดโดยใช้ PLA สีสดใส ฉันใช้สีเขียวโปร่งแสง แต่สีแดง สีส้ม หรือสีเหลืองก็ใช้ได้ดีเช่นกัน ฉันใช้ PLA สีดำสำหรับบล็อกตัวเว้นวรรคและจุดรองรับเพื่อไม่ให้มองเห็นได้เมื่อส่วนต่างๆ ถูกเปิดไปที่ตำแหน่งปิด
หากคุณไม่มีสิทธิ์เข้าถึงเครื่องพิมพ์ 3 มิติ ให้ลองใช้บริการการพิมพ์ออนไลน์ มีบริการราคาไม่แพงมากมายที่จะพิมพ์ส่วนประกอบและส่งไปที่ประตูของคุณภายในสองสามวัน
ขั้นตอนที่ 2: เตรียมแผงควบคุมและการเดินสายไฟ
คุณจะต้องใช้ไดรเวอร์ PCA9685 16 ช่องสัญญาณ PWM สองตัวเพื่อขับเคลื่อนเซอร์โวนาฬิกา 28 ตัวของคุณ ฉันแยกเซอร์โวออกเป็นหลักชั่วโมงและนาที โดยที่แต่ละคู่ของหลักถูกขับเคลื่อนด้วยบอร์ดเดียว ดังนั้นฉันจึงมีบอร์ดหนึ่งที่ควบคุมเซอร์โวสำหรับตัวเลขสองหลักและอันที่สองควบคุมเซอร์โวสำหรับตัวเลขสองนาที
ในการเชื่อมโยงทั้งสองเข้าด้วยกัน คุณจะต้องสร้างขั้วต่อสายริบบิ้น 6 เส้น และประสานแถบส่วนหัวที่สองเข้ากับปลายอีกด้านของบอร์ดควบคุมเซอร์โวตัวแรก คุณจะต้องเปลี่ยนที่อยู่ I2C บนกระดานที่สองเพื่อให้แตกต่างจากที่อยู่แรกและสามารถระบุตัวตนได้โดยไม่ซ้ำกัน
คุณจะต้องประกอบชุดสายไฟเพื่อเชื่อมต่อสามบอร์ด (บอร์ดเซอร์โวสองตัวและโมดูลนาฬิกา) กับ Arduino ของคุณ คุณจะต้องใช้ 5V และ GND กับแต่ละบอร์ด เช่นเดียวกับการเชื่อมต่อ I2C กับพิน Arduino A4 และ A5 (I2C บน Arduino Uno) และโมดูลนาฬิกาจะพิน CLK, DAT & RST ไปยังพิน 6, 7 และ 8 บน Arduino ของคุณ ตามลำดับ
จ่ายไฟให้กับ Arduino โดยตรงจากแหล่งจ่ายไฟ 12V และไปยังเซอร์โวโดยใช้ 5V 5A BEC ซึ่งเชื่อมต่อกับขั้วทั้งสองที่ด้านบนของไดรเวอร์ PWM คุณต้องเชื่อมต่อไดรเวอร์เซอร์โวเพียงตัวเดียวเพื่อจ่ายไฟและมันจะป้อนพลังงานให้กับตัวที่สองผ่านการเชื่อมต่อสายแพแบบ 6 เส้น
ขั้นตอนที่ 3: ประกอบเซอร์โว
เมื่อคุณพิมพ์เซ็กเมนต์ของคุณแล้ว คุณจะต้องพ่นด้านหลังและด้านข้างเป็นสีดำ เพื่อไม่ให้มองเห็นได้น้อยลงเมื่อหัน 90 องศาไปที่ตำแหน่งปิด
จากนั้นคุณจะต้องติดกาวส่วนต่างๆ บนแขนเซอร์โวของคุณด้วยกาวร้อนละลาย จะช่วยให้ติดกาวบนเซอร์โวที่มีแขนอยู่บนเซอร์โว วิธีนี้ทำให้คุณสามารถตรวจสอบได้ว่าคุณกำลังติดกาวบนแนวตรงและระดับ
คุณจะต้องติดบล็อกตัวเว้นวรรคที่ด้านล่างของเซอร์โวแต่ละตัว
ประกอบจุดโดยติดเดือยขนาดเล็กหรือไม้เคบับที่ด้านหลังของจุดแล้วติดลงในบล็อกฐาน ฉันพ่นแท่งเหล่านี้เป็นสีดำด้วยเพื่อให้มองเห็นได้น้อยลงหากมองจากมุม
ขั้นตอนที่ 4: ตั้งค่าและทดสอบ
ฉันกำหนดหมายเลขเซอร์โวทั้งหมดและเขียนหมายเลขลงบนแต่ละลีดเพื่อให้ง่ายต่อการติดตาม ฉันเริ่มจากส่วนบนของหลักหน่วยและวนรอบส่วนตรงกลางของหลักสิบ นี่เป็นลำดับที่ฉันเสียบเข้ากับแผงควบคุมเซอร์โวด้วย โดยจำได้ว่าตัวระบุบนบอร์ดนับตั้งแต่ 0 ถึง 13 และไม่ใช่ตั้งแต่ 1 ถึง 14
จากนั้นฉันตั้งค่าส่วนต่างๆ ไว้บนโต๊ะโดยมีพื้นที่ว่างเพียงพอสำหรับการทดสอบ เพื่อไม่ให้ย้ายไปที่ส่วนใดส่วนหนึ่งในขณะที่ตั้งค่าขีดจำกัดการเดินทางและเส้นทาง หากคุณลองวางชิดกัน คุณอาจจะต้องพยายามเคลื่อนที่ไปในทิศทางที่ไม่ถูกต้องหรือเคลื่อนที่ข้ามระยะหนึ่งหรือสองครั้งแล้วชนอีกระยะหนึ่งซึ่งอาจทำให้ชิ้นส่วน แขนเซอร์โว หรือเฟืองบนเซอร์โวเสียหายได้
ขั้นตอนที่ 5: การอัปโหลดรหัส
โค้ดดูซับซ้อนในแวบแรก แต่จริงๆ แล้วค่อนข้างง่ายด้วยสองไลบรารี่ที่ใช้ นอกจากนี้ยังมีการทำซ้ำหลายครั้งเนื่องจากจำเป็นต้องอัปเดตส่วนแสดงผล 7 ส่วนที่แตกต่างกันสี่รายการ
นี่คือคำอธิบายโดยสรุปของโค้ด ดูคำแนะนำฉบับเต็มสำหรับคำอธิบายโดยละเอียดเพิ่มเติมและลิงก์สำหรับดาวน์โหลดโค้ด - นาฬิกาแสดงผล 7 เซ็กเมนต์เครื่องกล
เราเริ่มต้นด้วยการนำเข้าสองไลบรารี virtuabotixRTC.h สำหรับโมดูลนาฬิกาและ Adafruit_PWMServoDriver.h สำหรับไดรเวอร์เซอร์โว ไลบรารี Adafruit สามารถดาวน์โหลดและติดตั้งได้โดยตรงผ่านตัวจัดการไลบรารีใน IDE
จากนั้นเราจะสร้างออบเจ็กต์สำหรับแผงควบคุมแต่ละอันที่มีที่อยู่ที่เกี่ยวข้อง หนึ่งรายการสำหรับหลักชั่วโมง และอีกรายการสำหรับหลักนาที
จากนั้นเรามีสี่อาร์เรย์เพื่อจัดเก็บตำแหน่งเปิดและปิดสำหรับเซอร์โวแต่ละตัว คุณจะต้องทำการปรับเปลี่ยนตัวเลขเหล่านี้ในขั้นตอนต่อไปเพื่อให้แน่ใจว่าเซอร์โวของคุณตั้งตรงเมื่อเปิดเครื่อง เปิด 90 องศาเมื่อปิด และอย่าให้เกินการเดินทาง
อาร์เรย์หลักเก็บตำแหน่งของแต่ละส่วนสำหรับตัวเลขแต่ละหลักที่จะแสดง
จากนั้นเราตั้งค่าโมดูลนาฬิกาและสร้างตัวแปรเพื่อจัดเก็บตัวเลขปัจจุบันและตัวเลขในอดีต
ในฟังก์ชันการตั้งค่า เราจะเริ่มและตั้งค่าแผงควบคุม PWM ตลอดจนอัปเดตเวลาของนาฬิกาหากจำเป็น จากนั้นเราวิ่งวนเพื่อตั้งค่าการแสดงผลเป็น 8 8: 8 8 เพื่อให้เราทราบตำแหน่งเริ่มต้นของเซอร์โวทั้งหมด นอกจากนี้ยังใช้เพื่อตั้งค่าเซอร์โวเพื่อให้ทั้งหมดหันขึ้นอย่างถูกต้อง
ในลูปหลักเราได้รับเวลาที่อัปเดตจากโมดูลนาฬิกา แบ่งเป็นสี่หลัก จากนั้นตรวจสอบว่าเวลามีการเปลี่ยนแปลงจากการตรวจสอบครั้งล่าสุดหรือไม่ หากเวลามีการเปลี่ยนแปลง เราจะอัปเดตการแสดงผลแล้วอัปเดตตัวเลขก่อนหน้า
ในฟังก์ชันการแสดงการอัปเดต ก่อนอื่นให้ย้ายส่วนตรงกลาง วิธีนี้ทำได้ก่อนเพราะมีเหตุผลบางอย่างที่จำเป็นในการย้ายส่วนด้านบนสองส่วนที่อยู่ติดกับส่วนตรงกลางออกไปให้พ้นทางเล็กน้อยก่อนที่จะย้ายส่วนตรงกลาง มิฉะนั้นจะชนเข้ากับส่วนเหล่านั้น เมื่อส่วนตรงกลางถูกย้ายแล้ว ส่วนที่เหลือจะถูกย้ายไปยังตำแหน่งที่ถูกต้อง
ขั้นตอนที่ 6: การประกอบนาฬิกาบนกระดานด้านหลัง
เมื่อฉันทำการทดสอบเสร็จแล้ว ฉันประกอบเซอร์โวบนกระดานด้านหลังโดยใช้เลย์เอาต์ด้านบนเป็นแนวทาง
พื้นที่สีขาวคือขนาดบอร์ดโดยรวม สีเทาอ่อนคือพื้นที่โดยรอบตัวเลขแต่ละหลักที่เซกเมนต์เซอร์โวเคลื่อนเข้าไป และโครงร่างบนพื้นที่สีเทาเข้มคือเส้นกึ่งกลางสำหรับ 6 เซ็กเมนต์ด้านนอกสำหรับแต่ละหลัก
ฉันตัดกระดาน ทำเครื่องหมายเค้าโครง แล้วติดตัวเลขให้เข้าที่เพื่อประกอบเป็นหน้าปัดนาฬิกา
จากนั้นฉันก็เจาะรูใกล้กับเซอร์โวแต่ละตัวและป้อนสายไฟเข้าไปที่ด้านหลังของบอร์ดเพื่อให้มองเห็นได้น้อยลง
ฉันติดอุปกรณ์อิเล็กทรอนิกส์ไว้ที่ด้านหลังนาฬิกาด้วยเทปกาวสองหน้า
ขั้นตอนที่ 7: การตั้งค่าและการใช้งานขั้นสุดท้าย
เมื่อเซอร์โวพร้อมแล้ว ฉันก็ถอดแขนเซอร์โวทั้งหมดออกเพื่อปรับตำแหน่งสุดท้ายของเซ็กเมนต์ คุณควรเปิดเครื่อง Arduino ในสถานะนี้เพื่อให้แสดง 8 8: 8 8 แล้วถอดสายไฟออก ซึ่งจะเน้นที่เซอร์โวทั้งหมดของคุณอีกครั้ง เพื่อให้คุณสามารถใส่แขนเซอร์โวกลับโดยให้ส่วนต่างๆ หันเข้าหาแนวดิ่งมากที่สุด เป็นไปได้.
จากนั้นคุณจะต้องเพิ่มพลังให้ Arduino ของคุณตามลำดับ และทำการปรับเปลี่ยนตำแหน่งเปิดและปิดเซ็กเมนต์ของคุณในอาร์เรย์ทั้งสี่ของคุณ เพื่อให้เซอร์โวอยู่ในแนวตั้งได้อย่างสมบูรณ์แบบเมื่อเปิดเครื่องและพลิกกลับ 90 องศาเมื่อปิดโดยไม่ต้องเดินทางเกิน ขั้นตอนนี้ค่อนข้างใช้เวลานานและต้องใช้ความอดทนเล็กน้อย แต่ผลลัพธ์ที่ได้ก็คุ้มค่า!
นาฬิกาสามารถปล่อยพลังงานทิ้งไว้โดยใช้แหล่งจ่ายไฟ 12V และเชื่อมต่อ BEC 5V หากไฟดับ แบตเตอรี่ในโมดูล RTC จะรักษาเวลาไว้เพื่อที่ว่าเมื่อไฟกลับมา นาฬิกาจะรีเซ็ตเป็นเวลาที่ถูกต้องโดยอัตโนมัติ
หากคุณชอบคำแนะนำนี้ โปรดลงคะแนนให้ในการประกวดนาฬิกา และแจ้งให้เราทราบถึงการปรับปรุงหรือข้อเสนอแนะใดๆ ที่คุณสามารถทำได้ในส่วนความคิดเห็นด้านล่าง
รางวัลรองชนะเลิศการประกวดนาฬิกา
แนะนำ:
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-