สารบัญ:

DIY Pocket Watch: 9 ขั้นตอน
DIY Pocket Watch: 9 ขั้นตอน

วีดีโอ: DIY Pocket Watch: 9 ขั้นตอน

วีดีโอ: DIY Pocket Watch: 9 ขั้นตอน
วีดีโอ: ขั้นตอนการทำนาฬิกาแฮนด์เมด #allprocessofworld 2024, พฤศจิกายน
Anonim
DIY นาฬิกาพก
DIY นาฬิกาพก
DIY นาฬิกาพก
DIY นาฬิกาพก

ในโลกที่วุ่นวายนี้ การติดตามเวลาเป็นสิ่งจำเป็นสำหรับประสิทธิภาพที่ดีขึ้น และการเป็นนักอดิเรกทำไมไม่สร้างอุปกรณ์เพื่อติดตามเวลา ต้องขอบคุณเทคโนโลยีที่มีอุปกรณ์ที่เรียกว่า 'นาฬิกา' แต่! เมื่อคุณทำสิ่งต่างๆ ด้วยตัวเอง ความสุขจะแตกต่างออกไป ดังนั้นในคำแนะนำนี้ ฉันจะแสดงให้คุณเห็นว่าฉันทำนาฬิกาเรือนเล็กๆ เรือนนี้ได้อย่างไร

ขั้นตอนที่ 1: ไอเดีย

ความคิด
ความคิด

แนวคิดคือทำให้ง่ายที่สุดและใช้ส่วนประกอบน้อยที่สุด

  1. จอแสดงผลเพื่อแสดงเวลา
  2. ส่วนประกอบในการติดตามเวลา
  3. ส่วนประกอบอื่นต้องใช้เวลาและส่งไปแสดง
  4. และเป็นแหล่งพลังงาน

// ผังความคิด

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

สมอง
สมอง

Brain ควรเป็นไมโครคอนโทรลเลอร์อย่างแน่นอน เพราะมีข้อดีของการเขียนโปรแกรมที่ง่ายและขนาดที่เล็กกว่า ตอนแรกฉันคิดว่า attiny85 จะเข้ากันได้อย่างสมบูรณ์แบบ แต่แล้วพิน GPIO ที่จำกัดทำให้ยากต่อการดำเนินการ จากนั้นฉันตัดสินใจใช้ Atmega328p ที่มีอยู่ในแพ็คเกจ tqfp แต่มีประสบการณ์เล็กน้อยในการบัดกรีแพ็คเกจเล็ก ๆ เช่นนี้ฉันตัดสินใจใช้ arduino pro mini แม้ว่าบอร์ดนี้จะถูกยกเลิกอย่างเป็นทางการแล้ว แต่ก็ยังเป็นโอเพ่นซอร์สอยู่

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

แสดง
แสดง
แสดง
แสดง
แสดง
แสดง

โมดูลแสดงผล OLED ขนาด 0.91 นิ้วจะเป็นตัวเลือกที่ดีสำหรับการแสดงผล ทำให้ดูทันสมัยขึ้น แต่ปัญหาก็คือการใช้พลังงาน โดยเฉลี่ยแล้วจะกินไฟ 20mA ซึ่งถือว่าหนักมากสำหรับแบตเตอรี่ ในขณะที่สงสัยว่าจะใช้อะไรเป็นจอแสดงผล ฉันพบว่าเครื่องเล่นดีวีดีนี้วางอยู่รอบๆ จอแสดงผลนี้มีจอแสดงผลเจ็ดส่วนสี่หลักพร้อมไฟ LED เสริม ไฟ LED ทั้งหมดได้รับการกำหนดค่าเป็นแคโทดทั่วไป ดังนั้นในการขับมัน เราจำเป็นต้องใช้วิธีการที่เรียกว่า mutliplexing ซึ่งไม่ใช่อะไรอื่นนอกจากการขับแต่ละหลักทีละตัวอย่างรวดเร็วจนดูเหมือนว่าทั้งหมดจะสว่างขึ้นพร้อมกัน นอกจากนี้ Atmega328 สามารถจมได้มากถึง 20mA ดังนั้นความต้องการทรานซิสเตอร์จึงลดลง ไฟ LED แต่ละตัวทำงานได้ดีกับ 100 โอห์มที่ 3.3v

ขั้นตอนที่ 4: RTC

RTC
RTC

Arduino pro mini สามารถติดตามได้ แต่ปัญหาคือกินไฟ ที่ 3.3v จะดึง 3mA ที่ 8MHz และเรายังมีจอแสดงผลซึ่งจะใช้น้ำผลไม้บางส่วนด้วย ฉันเลือกใช้ชิป DS3231 RTC เนื่องจากใช้งานง่ายด้วยอินเทอร์เฟซ I2C นอกจากนี้ยังติดตามเวลาได้แม่นยำกว่า atmega328 และใช้พลังงานน้อยกว่า

ขั้นตอนที่ 5: เชื่อมต่อกับ User

อินเทอร์เฟซกับผู้ใช้
อินเทอร์เฟซกับผู้ใช้
อินเทอร์เฟซกับผู้ใช้
อินเทอร์เฟซกับผู้ใช้

อินเทอร์เฟซเรียบง่าย - ผู้ใช้ต้องการเวลา อุปกรณ์ช่วยให้เราสามารถใช้สิ่งที่ซับซ้อน เช่น ท่าทางมือ หรือง่ายๆ เพียงกดปุ่ม ดังนั้นเมื่อใดก็ตามที่ผู้ใช้ต้องการทราบเวลา ให้กดปุ่ม และเวลาจะปรากฏบนจอแสดงผล แผนสำหรับรหัสคือตรวจสอบว่ามีการกดปุ่มหรือไม่ เมื่อกดขอเวลาปัจจุบันจาก RTC และแสดงผ่านจอแสดงผล แต่แล้วฉันก็รู้ว่า arduino pro mini มีปุ่มกดเพื่อรีเซ็ตตัวเอง ทำไมไม่ลองใช้มันแทนการตรวจสอบ สำหรับปุ่มใช้เวลาปัจจุบันและแสดงหนึ่งครั้งและรอจนกว่าจะรีเซ็ตครั้งถัดไป

ขั้นตอนที่ 6: The Twist

ตอนนี้เรามีส่วนประกอบที่ตั้งค่า arduino pro min, จอดีวีดี, ชิป DS3231 RTC และเซลล์ปุ่ม CR2032 เป็นโรงไฟฟ้าโดยไม่ต้องคิดมากเกี่ยวกับการเลือกแบตเตอรี่ ด้วยวงจรในใจของฉัน ฉันจึงออกแบบเค้าโครง PCB และก่อนที่ฉันจะสั่ง PCB ได้ สิ่งหนึ่งที่ฉันคิดได้ก็คือ … ถ้าฉันพิจารณาชิป RTC และที่ยึดเซลล์ปุ่ม พวกมันถูกบัดกรีในโมดูล DS3231 RTC แล้ว เหตุใดจึงต้องเปลืองทรัพยากรในการรับ PCB แบบกำหนดเอง ในกรณีนี้ เราก็แค่มีพลังประสาน, เส้น I2C และจอ DVD แบบโปรมินิ ในกรณีที่คุณต้องการดูเค้าโครง PCB ได้แนบมาด้านล่าง

ขั้นตอนที่ 7: ปัญหาเกี่ยวกับเซลล์ปุ่ม

ความผิดพลาดที่ผมทำโดยไม่ให้เวลาเลือกประเภทแบตเตอรีจ่ายแพงไป เมื่ออุปกรณ์ขับเคลื่อนผ่าน arduino uno เมื่อฉันใช้มันเพื่อตั้งโปรแกรม arduino pro mini มันใช้งานได้ดี แต่เมื่อมันถูกขับเคลื่อนโดยเซลล์ปุ่ม มันมีพฤติกรรมแปลก ๆ หลังจากใช้เวลามากในการค้นหาว่าปัญหาคืออะไร ที่จริงแล้ว CR2032 สามารถจ่ายกระแสไฟได้สูงถึง 2mA และความต้องการของอุปกรณ์นั้นมากกว่านั้นมาก ในที่สุดฉันก็ลงเอยด้วยการใช้แบตเตอรี่ lipo แทน

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

โค้ดอาจดูยาวและซ้ำซาก แต่จริงๆ แล้วเข้าใจง่าย ทุกอย่างถูกใส่ลงในส่วนการตั้งค่า เนื่องจากเราทำสิ่งต่างๆ เพียงครั้งเดียว และรอจนกระทั่งคำสั่งรีเซ็ตครั้งถัดไป

โฟลว์ของรหัสเริ่มต้นทุกอย่าง -> ใช้เวลาปัจจุบันจาก RTC -> จัดการข้อมูลเพื่อให้สามารถใช้ในการทวีคูณตัวเลขที่แสดง -> จากนั้นแสดงข้อมูล (เวลา) เป็นเวลา 2 วินาทีโดยมัลติเพล็กซ์แต่ละหลักทีละตัว

ขั้นตอนที่ 9: เสร็จแล้ว

ฉันจะพิมพ์เคส 3 มิติสำหรับมัน แต่ถ้าไม่มีเคส มันจะดูดีเพราะส่วนประกอบทั้งหมดถูกเปิดเผย

แนะนำ: