สารบัญ:

Arduino DCF77 Pulse Clock: 13 ขั้นตอน (พร้อมรูปภาพ)
Arduino DCF77 Pulse Clock: 13 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino DCF77 Pulse Clock: 13 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino DCF77 Pulse Clock: 13 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: STM32 General Purpose Timer : Understanding Input Capture (IC) Mode -2 2024, กรกฎาคม
Anonim
Image
Image

By oliverbFollow เพิ่มเติมโดยผู้เขียน:

กล่องใส่เครื่องพิมพ์ 3 มิติ Ender 5
กล่องใส่เครื่องพิมพ์ 3 มิติ Ender 5
ESP32 LED Matrix WIFI Ticker Display
ESP32 LED Matrix WIFI Ticker Display
ESP32 LED Matrix WIFI Ticker Display
ESP32 LED Matrix WIFI Ticker Display
Arduino บารอมิเตอร์
Arduino บารอมิเตอร์
Arduino บารอมิเตอร์
Arduino บารอมิเตอร์

บทนำ

คำแนะนำนี้จะแสดงให้คุณเห็นถึงวิธีการสร้างนาฬิกาพัลส์แบบดิจิทัลและเพิ่มลงในตัวเรือนนาฬิกาหรือหน้าปัดขนาด 12 นิ้ว (300 มม.) รุ่นเก่า ฉันเคยใช้นาฬิกาหน้าปัดภาษาอังกฤษแบบเก่าที่มีหน้าปัดขนาด 12 นิ้ว แต่นาฬิกาใดๆ ที่มีตัวเรือนขนาดใหญ่พอ ใช้ตราบเท่าที่มีที่ว่างบนหน้าปัดสำหรับการแสดงผลแบบดิจิตอลและการเคลื่อนไหวแบบอะนาล็อกทุติยภูมิ

เคสแบบเก่าเหล่านี้หาได้จาก ebay และบางครั้งก็มาพร้อมกล่องด้านหลังแบบโค้งหรือมุม ดูรูปที่ 5 & 6 หากนาฬิกาของคุณไม่มีกล่องด้านหลัง ให้ทำด้วยไม้อัดสักอันหนึ่งแล้วย้อมให้เข้ากับหน้าปัด

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

หน้าปัดเดิมที่มาพร้อมกับนาฬิกานั้นมีสีเหลืองมากและมีรอยสีมากมาย ฉันตัดสินใจที่จะเก็บมันไว้เพราะมันทำให้นาฬิกาดูสมจริง ปัญหาเดียวคือสีบิ่นขณะที่ฉันตัดรูสำหรับจอแสดงผล 7 ส่วนออก ฉันพบสีครีมกระป๋องเก่าๆ ในโรงรถของฉัน และสีนี้ก็เข้ากันอย่างลงตัว

หน้าปัดวินาทีถูกนำไปใช้โดยใช้การถ่ายโอนแบบแห้งจากร้านนาฬิกา ฉันซื้อสิ่งนี้มาเมื่อหลายปีก่อน แต่คุณสามารถทำให้คุณเป็นเจ้าของการถ่ายโอนแบบเปียกโดยใช้กระดาษถ่ายโอนอิงค์เจ็ท ดูนาฬิกาควบคุมการสืบพันธุ์ของฉันที่นี่ ขั้นตอนที่ 4 สำหรับรายละเอียดและเทมเพลต

การเคลื่อนไหว

การแสดงผลวินาทีแบบอะนาล็อกใช้การแทรกนาฬิกาควอตซ์มาตรฐานและได้รับการแก้ไขเพื่อให้สามารถขับเคลื่อนผ่าน Arduino ได้

การแสดงชั่วโมงและนาทีแบบอะนาล็อกใช้การเคลื่อนไหวของทาสไฟฟ้า 30 วินาที มีทุกประเภทที่มีอยู่ทั่วโลก ดังนั้นเพียงแค่ระบุประเภทที่มีอยู่ในตำแหน่งของคุณ หากการเคลื่อนไหวของคุณไม่ใช่แบบ 30 วินาที เพียงแค่ปรับเปลี่ยนรหัสให้เหมาะสม

แหล่งเวลา

ฉันใช้สัญญาณเวลารหัสวิทยุ DCF77 จากเยอรมนีเพื่อให้นาฬิกานี้บอกเวลาที่สมบูรณ์แบบ ดังนั้นหากคุณไม่ได้อยู่ในยุโรป คุณจะต้องใช้ไลบรารี Arduino ที่เกี่ยวข้องสำหรับตำแหน่งของคุณและโหมดโค้ดตามนั้น

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

จอแสดงผล

การแสดงข้อมูล

ฉันใช้จอ LCD ขนาดใหญ่ 20x4 สำหรับนาฬิกาและข้อมูล DCF77 แต่สามารถใช้จอแสดงผลขนาด 20x4 มาตรฐานได้โดยไม่ต้องเปลี่ยนโค้ด จอแสดงผลใช้โมดูล I2C ดังนั้นต้องใช้เพียง 2 สาย (บวก 5v และ 0v) เพื่อควบคุม

จอแสดงผลนาฬิกาดิจิตอล

โมดูลแสดงผลเจ็ดเซกเมนต์ 8 หลัก 0.56 นิ้ว 8 หลักใช้สำหรับแสดงเวลาแบบดิจิตอล

สิ่งเหล่านี้มีอยู่ใน Ebay เป็นชุดหรือโมดูลที่สร้างไว้ล่วงหน้าและต้องการเพียง 3 สาย (บวก 5v และ 0v) เพื่อควบคุม

เสียง

นาฬิกานี้มีเสียงติ๊กต๊อก 1 วินาทีจากนาฬิกาเรือนยาว (ปู่) เล่นโดย adafruit Audio FX Sound Board + 2x2W Amp ที่ควบคุมโดย Arduino สามารถปิดเสียงหรือปรับระดับเสียงขึ้นหรือลงได้ตามต้องการ

แผงวงจร

เนื่องจากเป็นวงจรนอกวงจรที่สร้างขึ้นบนบอร์ด vero ฉันได้สร้าง Arduino Uno ในการออกแบบแล้ว แต่สามารถใช้ Uno ขนาดเต็มแทนได้หากต้องการ โปรดทราบว่าไลบรารี DCF77 ที่ใช้ในนาฬิกานี้ต้องใช้คริสตัลควอตซ์บน Arduino

ขั้นตอนที่ 1: การสร้างพื้นฐาน

การสร้างพื้นฐาน
การสร้างพื้นฐาน
การสร้างพื้นฐาน
การสร้างพื้นฐาน
การสร้างพื้นฐาน
การสร้างพื้นฐาน

รูปที่ 1 แสดงนาฬิกาที่เสร็จสมบูรณ์ นาฬิกาสร้างขึ้นจากชิ้นส่วนต่างๆ จากนาฬิกาหน้าปัดขนาด 12 นิ้ว (300 มม.) ที่ติดตั้งบนกล่องด้านหลังแบบใหม่ที่สร้างจากไม้อัด

กล่องไม้อัดได้รับการย้อมสีเพื่อให้เข้ากับหน้าปัด หน้าปัดไม้โอ๊คถูกถอดกลับไปเป็นไม้เปล่าและฟอกเพื่อให้สีอ่อนลง

รูปที่ 2 แสดงนาฬิกาโดยที่หน้าปัดถูกตัดออกเพื่อแสดงตำแหน่งของการเคลื่อนไหวและการแสดงผล การเคลื่อนไหวควอทซ์วินาทีที่แฮ็กอยู่ด้านบน, การเคลื่อนไหวทาส 30 วินาทีตรงกลางและด้านล่างของจอแสดงผลดิจิตอล การเคลื่อนไหวของสเลฟ 30 วินาทีถูกยึดไว้ที่หน้าปัดนาฬิกาโลหะด้วยสกรูขนาดเล็กสองตัว จากนั้นระบบควอตซ์จะติดเข้ากับการเคลื่อนไหว 30 วินาทีโดยใช้ขายึด การเคลื่อนไหวของระบบควอตซ์ได้ตัดแผงควบคุมควอตซ์ออกและต่อสายไฟเข้ากับขดลวดมอเตอร์ของไดรฟ์โดยตรง หน้าปัดดิจิตอลจับจ้องไปที่แผ่นรองแป้นหมุนไม้ด้วยขายึดโลหะสองอัน

รูปที่ 3 แสดงวงแหวนรอบทิศทางและขอบที่ถอดออกเพื่อให้มองเห็นส่วนประกอบและโมดูลทั้งหมดได้ วงแหวนและวงแหวนรอบข้างถูกบานพับไปด้านข้างของกล่องด้านหลัง และสามารถเปิดและพับกลับเพื่อให้สามารถเข้าถึงส่วนควบคุมและแผงวงจรได้

รูปที่ 4 แสดงแผงด้านหลังและโมดูลที่ไม่มีการแสดงนาฬิกาและการเคลื่อนไหว

ด้านบนขวา - โมดูล PSU ปรับให้ไฟ 5 โวลต์ที่บอร์ดหลังไดโอดป้องกัน บอร์ด Vero กลาง - หลักพร้อมไมโครคอนโทรลเลอร์ Atemega 328 และโมดูลบอร์ดเสียง ด้านล่าง - โมดูลจอแสดงผล LCD พร้อมโมดูลควบคุม I2C ติดตั้งที่ด้านหลัง แผงควบคุมสวิตช์มอเตอร์นาฬิกาควอตซ์อยู่ที่ด้านบนซ้ายพร้อมเสียงและสวิตช์ควบคุมไฟหลังจอ LCD ติดตั้งอยู่ทางด้านขวา บอร์ดเสียงที่สร้างเสียงติ๊กถูกต่อเข้ากับลำโพงขนาดเล็กที่ยิงทะลุด้านล่างของเคส เสียงติ๊กต็อกถูกสุ่มตัวอย่างจากการเคลื่อนไหวของนาฬิกาตัวเรือนยาว 1 วินาทีที่แก้ไขใน Audacity จนถึงตัวอย่าง 1.5 วินาที นาฬิกาจะเล่นตัวอย่างนี้ทุก ๆ วินาที ดังนั้นการติ๊กจะซิงค์กับการแสดงนาฬิกาทั้งหมดเสมอ ติดตั้ง LDR ผ่านช่องเจาะทางด้านขวาของกล่องด้านหลังเพื่อควบคุมความเข้มของการแสดงผล 7 ส่วนผ่านไมโครคอนโทรลเลอร์ หน้าจอ LCD และจอแสดงผลดิจิตอล 7 ส่วนเปิดโดยโมดูลเครื่องตรวจจับ PIR ซึ่งอยู่ในห้องเดียวกับนาฬิกาเมื่อมีคนอยู่ในห้อง

รูปที่ 5 แสดงหน้าปัดเดิมที่มีรอยเปื้อน ชิป และรอยบุบ และเพิ่มหน้าปัดวินาทีและช่องที่ตัดออกสำหรับจอแสดงผลดิจิตอล

ขั้นตอนที่ 2: แสดง

จอแสดงผล
จอแสดงผล

"กำลังโหลด = "ขี้เกียจ" " กำลังโหลด = ขี้เกียจ" " กำลังโหลด = ขี้เกียจ"

วีดีโอ
วีดีโอ
วีดีโอ
วีดีโอ

วิดีโอแสดงนาฬิกาทำงานเต็มนาที

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

ต้องใช้ไลบรารีต่อไปนี้

LedControl.h

dcf77.h หมายเหตุ นาฬิกานี้ใช้ไลบรารี Udo Kleins Release 2 ดาวน์โหลดที่นี่ DCF77 Release 2

LiquidCrystal_I2C.h

Wire.h

แนะนำ: