สารบัญ:

นาฬิกาลูกบาศก์มัลติฟังก์ชั่นตามตำแหน่ง: 5 ขั้นตอน (พร้อมรูปภาพ)
นาฬิกาลูกบาศก์มัลติฟังก์ชั่นตามตำแหน่ง: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: นาฬิกาลูกบาศก์มัลติฟังก์ชั่นตามตำแหน่ง: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: นาฬิกาลูกบาศก์มัลติฟังก์ชั่นตามตำแหน่ง: 5 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: การใช้งานฟังค์ชั่นพื้นฐาน 5โหมด G-SHOCK รุ่น GA-110 และ GA-100 2024, กรกฎาคม
Anonim
Image
Image
นาฬิกาลูกบาศก์มัลติฟังก์ชั่นตามตำแหน่ง
นาฬิกาลูกบาศก์มัลติฟังก์ชั่นตามตำแหน่ง
นาฬิกาลูกบาศก์มัลติฟังก์ชั่นตามตำแหน่ง
นาฬิกาลูกบาศก์มัลติฟังก์ชั่นตามตำแหน่ง

โครงการฟิวชั่น 360 »

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

ฉันต้องการนาฬิกาข้างเตียงใหม่ แต่ฉันไม่ต้องการใช้เงินกับนาฬิกาหรูที่มีฟังก์ชันมากมายที่ฉันจะไม่ใช้ นอกจากนี้ ฉันได้รวบรวมส่วนประกอบและเซ็นเซอร์ที่วางอยู่รอบๆ ดังนั้นฉันจึงตัดสินใจใช้ส่วนประกอบเหล่านี้เพื่อทำนาฬิกาของตัวเอง!

ฉันมีเป้าหมายบางประการสำหรับโครงการนี้:

  1. แสดงเวลานั้นพร้อมตัวเลือกที่จะปิด
  2. รวมฟังก์ชั่นไฟกลางคืน
  3. รวมตัวตั้งเวลางีบ 15 นาทีพร้อมนาฬิกาปลุก
  4. สามารถแสดงวันที่

เสบียง

  • Arduino Pro Mini 5V
  • ADXL335 มาตรความเร่ง 3 แกน
  • DS3231 AT24C32 IIC ความแม่นยำนาฬิกาเรียลไทม์
  • ลำโพงขนาดเล็ก
  • จอแสดงผล OLED SSD1306 IIC 0.96in
  • แหล่งจ่ายไฟ 5V DC
  • LED x 2
  • ตัวต้านทาน 220ohm x 2
  • แม่แรง DC บาร์เรล
  • ลวด
  • เครื่องมือ

    • คีมตัด/คีมปอกสายไฟ
    • หัวแร้ง/บัดกรี
    • เครื่องพิมพ์ 3 มิติ (อุปกรณ์เสริม)
    • โปรแกรมเมอร์ FTDI เพื่อเชื่อมต่อระหว่าง Pro mini และ Arduino IDE

ขั้นตอนที่ 1: สร้างต้นแบบและทดสอบวงจร

ต้นแบบและทดสอบวงจร
ต้นแบบและทดสอบวงจร
ต้นแบบและทดสอบวงจร
ต้นแบบและทดสอบวงจร
ต้นแบบและทดสอบวงจร
ต้นแบบและทดสอบวงจร

เชื่อมต่อส่วนประกอบเข้ากับ Arduino เลย์เอาต์ของเขียงหั่นขนมหรือแผนผังแสดงไว้ด้านบน RTC และ OLED ใช้โปรโตคอล I2C เพื่อเชื่อมต่อกับ Arduino และใช้พิน A4 และ A5 มาตรความเร่งใช้พินอะนาล็อก 3 พิน ฉันใช้ A0, A1, A2 LED และ Piezo สามารถใช้หมุดดิจิทัลใดก็ได้ ฉันใช้ 4 และ 8 ตามลำดับ

อินเทอร์เฟซกับแต่ละองค์ประกอบ ฉันต้องติดตั้งไลบรารี Arduino เพื่อเชื่อมต่อกับแต่ละส่วนประกอบ แสดงในภาพด้านบน

รหัสโดยใช้ Arduino IDE ฉันกลั่นกรองภาพสเก็ตช์ตัวอย่างที่แต่ละไลบรารีจัดเตรียมไว้ให้ เพื่อหาไวยากรณ์ที่เหมาะสมสำหรับแต่ละองค์ประกอบตามสิ่งที่ฉันต้องการให้พวกเขาทำ ฉันสร้างภาพร่างสำหรับแต่ละส่วนประกอบเพื่อทดสอบทีละส่วน มีให้ด้านล่าง ฉันเริ่มต้นด้วยลำโพงเพียโซเพราะมันง่ายที่สุด อันที่จริงมันไม่ต้องการไลบรารี่พิเศษ แค่ฟังก์ชันเฉพาะที่กำหนดความถี่และเสียงเท่านั้น การทำให้ไฟ LED ทำงานเพียงแค่ดึงหมุดดิจิตอลอันใดอันหนึ่งขึ้นและลง ต่อไป ฉันเปลี่ยนไปใช้ OLED และการตั้งค่านี้ก็ค่อนข้างง่ายเช่นกัน ภาพร่างด้านล่างเป็นการสาธิต Adafruit ที่ดำเนินการผ่านแอนิเมชั่น/ข้อความทั้งหมดที่สามารถแสดงได้ จากนั้นฉันก็พยายามให้ RTC ทำงาน ภาพร่างที่ฉันให้ไว้เป็นส่วนหนึ่งของตัวอย่างในห้องสมุดที่ได้รับเวลาปัจจุบันและพิมพ์ไปยังจอภาพแบบอนุกรม สุดท้าย ฉันใช้ตัวอย่างที่ให้มาเพื่อทดสอบมาตรความเร่ง เอาต์พุตของแต่ละแกนจะถูกพิมพ์บนจอภาพแบบอนุกรม

ตอนนี้ได้เวลารวบรวมทุกอย่างแล้ว!

ขั้นตอนที่ 2: โปรแกรมหลัก

โปรแกรมหลัก
โปรแกรมหลัก
โปรแกรมหลัก
โปรแกรมหลัก

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

ฉันต้องแสดงเวลาและวันที่บน OLED ซึ่งค่อนข้างง่าย ฉันต้องพิมพ์เวลาปัจจุบันไปที่จอแสดงผลแทนจอภาพแบบอนุกรม มีการจัดรูปแบบบางอย่างที่ฉันต้องพิจารณาเพื่อให้แสดงรูปแบบ 12 ชั่วโมงแทนที่จะเป็น 24 และเพิ่ม/ลบ 0 ตามความเหมาะสม วันที่คล้ายกับการเพิ่มการแสดงเดือนและวันภายในสี่เหลี่ยมที่วาดบนหน้าจอ ฉันใช้ FOR loop ที่ซ้อนกันเพื่อสร้างตัวจับเวลาและตั้งค่า piezo หลังจากสิ้นสุดการวนซ้ำ ฉันตัดสินใจทำให้หน้าจอกะพริบเมื่อเสียงกริ่งดังขึ้น ซึ่งเป็นแอนิเมชั่นพื้นฐานที่นำมาจากการสาธิต Adafruit ฉันหมุนลูกบาศก์กลับไปที่ตำแหน่งนาฬิกาเป็นวิธีเดียวที่จะปิดออด สุดท้าย ฉันต้องการวิธีปิดหน้าจอซึ่งทำได้โดยเพียงแค่ล้างหน้าจอ ตอนนี้ ฉันต้องการฟังก์ชันทั้งหมดเหล่านี้เพื่อทำงานโดยอิงจากเอาท์พุตของมาตรความเร่ง ฉันใช้สคริปต์ Accel_Test เพื่อกำหนดพิกัดแกนของแต่ละตำแหน่งที่ฉันต้องการให้แต่ละฟังก์ชันทำงาน ฉันย้ายชิปมาตรความเร่งด้วยตนเองและบันทึกการอ่านข้อมูลบนจอภาพอนุกรม แผนภาพด้านบนแสดงพิกัดเอาต์พุตของแต่ละตำแหน่งเป็นสีเทา พิกัดสีแดงคือขอบเขตระหว่างแต่ละตำแหน่ง และฉันใช้ตัวเลขเหล่านั้นสำหรับโปรแกรมของฉัน ในตำแหน่งการแสดงผล 4 ตำแหน่ง ต้องการเฉพาะพิกัดแกน X และ Y ตำแหน่งที่ห้าสำหรับไฟกลางคืนใช้แกน Z ฉันใช้คำสั่ง IF อย่างง่ายสำหรับตำแหน่งมาตรความเร่งก่อนแต่ละบล็อกฟังก์ชัน หากคุณใช้มาตรความเร่งอื่น พิกัดเหล่านี้อาจแตกต่างกันไปและจะต้องปรับเปลี่ยนในโปรแกรม

ขั้นตอนที่ 3: การพิมพ์ลูกบาศก์ 3 มิติ

การพิมพ์ 3 มิติ Cube
การพิมพ์ 3 มิติ Cube
การพิมพ์ 3 มิติลูกบาศก์
การพิมพ์ 3 มิติลูกบาศก์
การพิมพ์ 3 มิติลูกบาศก์
การพิมพ์ 3 มิติลูกบาศก์

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

ฉันพิมพ์ตัวกล้องด้วย PLA สีดำโดยมีช่องว่างภายใน 20% ความละเอียด 0.2 มม.

ตัวเครื่องหรือปลอกหุ้มพิมพ์ด้วยเส้นใยที่มีความยืดหยุ่นของ Solutech พร้อมวัสดุเติม 100% ความละเอียด 0.3 มม. ฉันใช้วัสดุนี้เนื่องจากมีความยืดหยุ่นซึ่งทำให้ยืดตามร่างกายได้ง่าย นอกจากนี้ยังมีความรู้สึกนุ่มนวลเมื่อหมุนนาฬิกาไปรอบๆ สุดท้ายนี้ ฉันเลือกไส้หลอดใสเพื่อให้ไฟ LED สำหรับไฟกลางคืนส่องผ่าน

ขั้นตอนที่ 4: การประกอบ

การประกอบ
การประกอบ
การประกอบ
การประกอบ
การประกอบ
การประกอบ

ฉันต่อทุกอย่างเข้าด้วยกันโดยใช้แผนผังจากขั้นตอนที่ 1 ฉันใช้ perfboard ชิ้นเล็ก ๆ เพื่อเชื่อมต่อสายทั่วไปทั้งหมดเพื่อที่ฉันจะได้ไม่ต้องบัดกรีสายไฟหลายเส้นเข้ากับขาเดียวบน Arduino ใช้กาวร้อนเพื่อยึดทุกอย่างไว้ในตำแหน่งนั้น ๆ ยกเว้น Arduino มันถูกผลักเข้าไปในช่องที่กำหนด ฉันแน่ใจว่าบอร์ดมาตรความเร่งตั้งฉากและได้ระดับที่ด้านล่างของตัวกล้อง เพื่อไม่ให้ต้องเปลี่ยนพิกัดในโค้ด

ขั้นตอนที่ 5: อัปโหลดและทำเสร็จแล้ว

อัปโหลดแล้วเสร็จ!
อัปโหลดแล้วเสร็จ!
อัปโหลดแล้วเสร็จ!
อัปโหลดแล้วเสร็จ!
อัปโหลดแล้วเสร็จ!
อัปโหลดแล้วเสร็จ!
อัปโหลดแล้วเสร็จ!
อัปโหลดแล้วเสร็จ!

ตอนนี้สามารถอัปโหลดโปรแกรมสุดท้ายไปที่นาฬิกาเพื่อตั้งเวลาที่ถูกต้องได้ แบตเตอรี่เซลล์ควรรักษาเวลาไว้แม้จะไม่ได้เสียบปลั๊กไฟ เลื่อนปลอกพิมพ์ 3 มิติไปบนร่างกายเพื่อซ่อนส่วนประกอบทั้งหมด และคุณมีนาฬิกาลูกบาศก์ครบชุด!

ฉันหวังว่าคุณจะสนุกกับการทำโครงการนี้และพบว่ามีประโยชน์เช่นเดียวกับฉัน ส่วนที่ดีของโครงการนี้คือมันปรับแต่งได้มาก คุณสามารถเพิ่มฟังก์ชันต่างๆ ของคุณเองได้ตามสบาย เช่น ฟังก์ชันปลุก ใช้ส่วนประกอบต่างๆ เช่น OLED ที่ใหญ่ขึ้น เครื่องรับวิทยุ FM ฯลฯ ขอให้มีความสุข!

แนะนำ: