สารบัญ:

นาฬิกาแสดงผลแบบกลไกเจ็ดส่วน: 7 ขั้นตอน (พร้อมรูปภาพ)
นาฬิกาแสดงผลแบบกลไกเจ็ดส่วน: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: นาฬิกาแสดงผลแบบกลไกเจ็ดส่วน: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: นาฬิกาแสดงผลแบบกลไกเจ็ดส่วน: 7 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: นี่คือวิธีที่นาฬิกาทำงานได้โดยไม่ใช้แบตเตอรี่ 2024, พฤศจิกายน
Anonim
นาฬิกาแสดงเจ็ดส่วนเครื่องกล
นาฬิกาแสดงเจ็ดส่วนเครื่องกล
นาฬิกาแสดงเจ็ดส่วนเครื่องกล
นาฬิกาแสดงเจ็ดส่วนเครื่องกล

สองสามเดือนที่ผ่านมาฉันสร้างจอแสดงผล 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 พิมพ์ส่วนประกอบพลาสติก

3D พิมพ์ส่วนประกอบพลาสติก
3D พิมพ์ส่วนประกอบพลาสติก
3D พิมพ์ส่วนประกอบพลาสติก
3D พิมพ์ส่วนประกอบพลาสติก
3D พิมพ์ส่วนประกอบพลาสติก
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 จะรักษาเวลาไว้เพื่อที่ว่าเมื่อไฟกลับมา นาฬิกาจะรีเซ็ตเป็นเวลาที่ถูกต้องโดยอัตโนมัติ

หากคุณชอบคำแนะนำนี้ โปรดลงคะแนนให้ในการประกวดนาฬิกา และแจ้งให้เราทราบถึงการปรับปรุงหรือข้อเสนอแนะใดๆ ที่คุณสามารถทำได้ในส่วนความคิดเห็นด้านล่าง

การประกวดนาฬิกา
การประกวดนาฬิกา
การประกวดนาฬิกา
การประกวดนาฬิกา

รางวัลรองชนะเลิศการประกวดนาฬิกา

แนะนำ: