สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
สวัสดี!
หลังจากคำขอจากผู้ใช้ Instructables เกี่ยวกับความพร้อมใช้งานของรูปแบบ 12 ชั่วโมง ฉันใช้ประโยชน์จากการเปลี่ยนแปลงที่สำคัญกับโครงการดั้งเดิม
ระหว่างการใช้เวอร์ชัน 1 ฉันรู้สึกว่าจำเป็นต้องสร้างเวอร์ชันแบบสแตนด์อโลน ดังนั้นฉันจึงแก้ไขพารามิเตอร์ทั้งหมดได้โดยตรงจากนาฬิกา โดยไม่ต้องใช้พีซี
สำหรับทุกคนที่ไม่ได้อ่านคำสั่งก่อนหน้าของฉันมันเป็นนาฬิกานำ 7 เซ็กเมนต์ทั่วไปพร้อมคุณสมบัติพิเศษบางอย่าง:
- การเปลี่ยนเปลี่ยน 7 นาทีที่แตกต่างกัน
- 3 สีที่กำหนดไว้ล่วงหน้าสำหรับช่วงเวลา
- ความเข้มของแสงโดยรอบ หรี่อัตโนมัติ
- ปิดเครื่องอัตโนมัติ/สตาร์ทเมื่อไม่ต้องการแสดงเวลา
- ปรับเวลาออมแสงอัตโนมัติ
เวอร์ชัน 2 ช่วยให้คุณ:
- เปลี่ยนรูปแบบเวลา 12/24h
- พารามิเตอร์ที่ปรับเปลี่ยนได้ง่าย
พารามิเตอร์ที่สามารถแก้ไขได้โดยตรงจากนาฬิกาคือ:
- เวลาตื่น/ปิดเครื่อง
- สีสำหรับช่วงเวลา
- วันเวลา
- รูปแบบเวลา 12/24 ชม
ข้อมูลเหล่านี้ถูกเก็บไว้ใน Arduino eeprom พร้อมกับโหมดการเปลี่ยนแปลงที่เลือก ฉันได้เตรียมคู่มือการเริ่มต้นอย่างรวดเร็วในขั้นตอนต่อไป
เฟรมเป็น 3D พิมพ์ขับเคลื่อนโดย Arduino Nano, DS3231 และ WS2812 leds
เสบียง
- Arduino นาโน
- เซลล์ภาพ
- 2 x ปุ่มกดชั่วขณะ
- สวิตช์เปิด/ปิด
- ปลั๊ก DC
- หม้อแปลง 5V
- ไฟ LED n°30 WS2812 (รุ่น 30 ไฟ LED/เมตร)
- pcb
- โมดูล DS3231
- สายเคเบิลแบบบางสำหรับการเชื่อมต่อไฟ LED
- ตัวต้านทาน 10K, 550
- ประสาน
- กาว
- จัมเปอร์
- ส่วนหัว ชาย/หญิง
ขั้นตอนที่ 1: มีอะไรใหม่
ดังที่กล่าวไว้ ฉันไม่ต้องการเชื่อมต่อนาฬิกากับพีซีทุกครั้งที่ฉันต้องการเปลี่ยนพารามิเตอร์ จากนั้นเพิ่มปุ่มกดชั่วขณะลงในโปรเจ็กต์ที่ฉันไปถึงเป้าหมายได้อย่างง่ายดาย ด้วยปุ่มเดียว ฉันสามารถเลื่อนไปมาระหว่างตัวเลือกต่างๆ อีกปุ่มหนึ่งเพื่อยืนยันข้อมูลและเข้าไปข้างในเมนู ฉันได้เชื่อมต่อโฟโตเซลล์กับ Arduino PIN แทน +5V ดังนั้นเมื่อนาฬิกาเข้าสู่โหมดสลีปวงจรโฟโตเซลล์จะไม่ระบายพลังงาน ในที่สุดฉันก็ทำให้มันเป็นมืออาชีพมากขึ้นในการแกะสลักวงจรบนแผ่นทองแดง
ขั้นตอนที่ 2: การประกอบ PCB
เพื่อความสะดวกฉันได้เปลี่ยนการเชื่อมต่อ ดูแผนผัง สวิตช์เปิด/ปิดเป็นอุปกรณ์เสริม เพื่อเข้าสู่เมนูภายในโดยไม่ต้องเชื่อมต่อ +5V กดปุ่ม 1 ค้างไว้
ความต้านทานระหว่างไฟ LED และ D5 คือ 550Ohm อีก 10Kohm
วงจรนั้นง่ายมากและไม่จำเป็นต้องแกะสลัก
ในโครงการของฉัน แต่ละเซ็กเมนต์สำหรับตัวเลขแต่ละตัวต้องการหนึ่งตัว สำหรับโปรเจ็กต์ขนาดใหญ่ สามารถเพิ่มไฟ LED เพิ่มเติมสำหรับเซ็กเมนต์หลังจากแก้ไขไลบรารี "segment_display.cpp"
สำหรับข้อมูลอื่นๆ เกี่ยวกับลำดับ LED และรุ่นตรวจสอบอื่นๆ 1
ขั้นตอนที่ 3: การพิมพ์ 3 มิติ
เริ่มต้นจากเวอร์ชันดั้งเดิม (ขอบคุณผู้ใช้ Thingverse random1101) ฉันได้ออกแบบการสนับสนุนที่ปรับแต่งด้วยบาร์โค้ดใหม่ (นั่นหมายถึง ACMECORPORATION แต่เครื่องอ่านบาร์โค้ดจะไม่รู้จัก….ซบ)
ขอแนะนำให้ทากาวแต่ละหลักหลังจากใส่เข้าไปในช่องแล้ว
ขั้นตอนที่ 4: ร่าง
ไลบรารียังคงไม่เปลี่ยนแปลง และในครั้งแรกที่คุณอัปโหลดและรันสเก็ตช์ ไม่มีอะไรเกิดขึ้นเพราะมันอ่านข้อมูลจาก eeprom และอาจมีค่าสุ่มใน eeprom ของคุณ ในการรันครั้งแรก คุณต้องตั้งค่าข้อมูล
โหมดการเปลี่ยนภาพจะถูกเก็บไว้ใน eeprom
ในระหว่างการป้อนข้อมูล ให้ปฏิบัติตามรูปแบบเวลาอย่างละเอียด (รูปแบบเวลาจริงหรือรูปแบบเวลา 24 ชั่วโมงในฤดูหนาว)
ตรวจสอบข้อมูลห้องสมุดและการใช้งานเวอร์ชันก่อนหน้า