สารบัญ:

นาฬิกาตั้งโต๊ะ MP3 ข้างเตียง: 6 ขั้นตอน (พร้อมรูปภาพ)
นาฬิกาตั้งโต๊ะ MP3 ข้างเตียง: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: นาฬิกาตั้งโต๊ะ MP3 ข้างเตียง: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: นาฬิกาตั้งโต๊ะ MP3 ข้างเตียง: 6 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: รีวิวนาฬิกาลำโพงบลูทูธ LED alarm clock นาฬิกา นาฬิกาปลุก | OHMSHOW studio 2024, พฤศจิกายน
Anonim
นาฬิกาปลุกจดหมาย MP3 ข้างเตียง
นาฬิกาปลุกจดหมาย MP3 ข้างเตียง

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

ข้อกำหนดเบื้องต้นส่วนตัวของฉันสำหรับนาฬิกาปลุกข้างเตียงคือ:

  1. อ่านได้ทุกแสง กลางคืนไม่มืด
  2. เพลงปลุก MP3
  3. ฟอร์มแฟกเตอร์ขนาดเล็กและน่าดึงดูด
  4. ฟังก์ชั่นเลื่อนซ้ำ
  5. ฟังก์ชันหน่วยความจำ เพื่อไม่ให้เวลา เวลาปลุก เสียงเรียกเข้า และระดับเสียงหายไปทุกครั้งที่ปิดเครื่อง
  6. ฟังก์ชั่นวันเกิด: ในวันเกิดของฉัน (และของสมาชิกในครอบครัวของฉัน) ฉันต้องการตื่นขึ้นด้วย "สุขสันต์วันเกิด" มากกว่าเสียงเรียกเข้ามาตรฐาน

ฉันไม่พบคำแนะนำใด ๆ ที่รวมสิ่งเหล่านี้ทั้งหมด ด้วยเหตุนี้จึงสอนได้

นาฬิกาถูกสร้างขึ้นรอบ 8X8 WS2812B Matrix เนื่องจากมี LED จำนวนน้อย คำบางคำจึงไม่สามารถประกอบขึ้นจากตัวอักษรต่อเนื่องกันได้ นาฬิกาคำ 8x8 ส่วนใหญ่ (เช่นนี้) แก้ปัญหานี้โดยการจัดกลุ่มตัวอักษรเพิ่มเติมบน LED เดียว แม้ว่าตัวอื่นๆ จะมีโซลูชันที่สร้างสรรค์กว่า ฉันตัดสินใจที่จะหาวิธีแก้ปัญหาแบบนี้มากกว่า โดยที่คำต่างๆ ทำจากตัวอักษรที่ไม่ต่อเนื่องกัน สิ่งนี้ทำให้เกิดความมหัศจรรย์บางอย่าง เนื่องจากคุณไม่เห็นคำศัพท์ก่อนที่จะจุดไฟ เพื่อเพิ่มความสามารถในการอ่าน ตัวอักษรจากคำเดียวกันจะใช้สีเดียวกัน อ่านตอนแรกอาจจะงงๆหน่อย แต่พออ่านไปสักพักก็ติดใจ นี่คือเหตุผลที่ฉันเรียกมันว่านาฬิกาตัวอักษรมากกว่านาฬิกาคำ นาฬิกาปลุกฉันทุกเช้า และฉันยังคงทึ่งกับการสร้างคำ!

เสบียง

นอกจากอุปกรณ์อิเล็กทรอนิกส์แล้ว ส่วนประกอบเกือบทั้งหมดยังเป็นของใช้ซ้ำหรือของที่ใช้ซ้ำซึ่งฉันมีอยู่แล้วที่บ้าน เครื่องมือเดียวที่คุณต้องการจริงๆ และอาจไม่มีอยู่แล้วสำหรับหน้าปัดนาฬิกาคือเครื่องตัดเลเซอร์ โชคดีที่มี fablabs และ makerspaces มากมายที่สามารถช่วยคุณได้ ขอบคุณ Makerspace De Prins!

ชิ้นส่วนอิเล็กทรอนิกส์:

  • 8X8 WS2812B LED เมทริกซ์
  • Arduino นาโน
  • DS3231 โมดูลนาฬิกาเรียลไทม์
  • DFPlayer ขนาดเล็ก
  • การ์ด micro SD ที่จะใส่ใน DFPlayer mini (เล็กที่สุด/ถูกที่สุดที่คุณสามารถหาได้จะทำงานได้ดี)
  • โฟโต้ไดโอด
  • ไฟ LED RGB หนึ่งดวง
  • ตัวเก็บประจุ 1000 F
  • ลำโพงให้เล็กที่สุด
  • สายไฟทั่วไป ขั้วต่อ ตัวต้านทาน ปุ่ม
  • ไม้บางชนิด, MDF,..สำหรับกล่อง

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

ทำกล่อง
ทำกล่อง
ทำกล่อง
ทำกล่อง

สำหรับตัวกล่องนั้น ฉันใช้รอยตัดบางส่วนจากพื้นไม้ของเรา เหล่านี้เป็นไม้โอ๊คหนา 9 มม. ที่ดี ใช้เลื่อยวงเดือนฉันตัดชิ้นส่วนขนาด 10.5 x 8.6 ซม. จำนวน 4 ชิ้น (อันที่จริงฉันตัดอะไหล่บางส่วนเพื่อแก้ไขข้อผิดพลาดที่จะเกิดขึ้น!) ตามขอบด้านสั้น ร่องขนาด 5 มม. ทำขึ้นเพื่อซ่อนแผงด้านหน้าและด้านหลัง ขอบยาวถูกตัดเป็นมุม 45° เพื่อทำเป็นกล่องสี่เหลี่ยมที่สวยงาม นี่ไม่ใช่งานไม้ที่ช่างไม้จะคลั่งไคล้เพราะพื้นที่กาวเกรนปลายเล็ก แต่ฉันชอบรูปลักษณ์ของข้อต่อที่ซ่อนอยู่ตรงมุมและยังแข็งแรงมากสำหรับการใช้งาน แต่นี่เป็นเพียงวิธีแก้ปัญหาของฉันด้วยวัสดุที่ฉันมีอยู่ กล่องใดก็ตามที่มีเมทริกซ์จะทำงานได้ดี ก่อนติดกาวชิ้นส่วนต่างๆ เข้าด้วยกัน เราต้องสร้างและติดตั้งอุปกรณ์อิเล็กทรอนิกส์ จนถึงขั้นต่อไปของเขา

ขั้นตอนที่ 2: หน้าปัดนาฬิกา

หน้าปัดนาฬิกา
หน้าปัดนาฬิกา
หน้าปัดนาฬิกา
หน้าปัดนาฬิกา

ไม่มีนาฬิกาที่ไม่มีหน้าปัด นี่เป็นวิธีหนึ่งที่ฉลาด รวดเร็ว และประหยัดกว่าในการทำให้ตัวอักษรโปร่งแสง ในขณะที่บังแสงอื่นๆ ทั้งหมด คุณต้องใช้แก้วอะคริลิก (AKA plexi) ชิ้นเล็กๆ (10 x 10 ซม.) สีสเปรย์ และเครื่องตัดเลเซอร์ ฉันเริ่มต้นด้วยแก้วอะครีลิคใสรีเคลม ความหนานั้นไม่สำคัญ ตราบใดที่มันพอดีกับช่องของกล่องของคุณ ด้านหนึ่งฉันหยาบมุมด้วยกระดาษทรายแล้วปิดด้วยสีสเปรย์สีดำ ไม่ต้องกังวลว่าสีจะหยดและอื่น ๆ เพราะนี่จะเป็นด้านหลัง อีกด้านหนึ่ง คุณต้องรักษาความบริสุทธิ์ไว้ให้มากที่สุด ตอนนี้ คุณต้องใช้เครื่องตัดเลเซอร์เพื่อขจัดสีและส่วนของแก้วอะคริลิก โดยที่ตัวอักษรต้องมาพร้อมกับ SVG ที่ให้มา อย่าลืมว่าตัวอักษรต้องสะท้อน! และอื่น ๆ: วิธีราคาถูก รวดเร็ว และง่ายในการสร้างแผ่นปิดหน้าให้ดูสมบูรณ์แบบ โดยแทบไม่มีแสงรั่วไหล! คุณอาจต้องเปลี่ยนลำดับของตัวอักษร เนื่องจากสิ่งเหล่านี้ออกแบบมาสำหรับนาฬิกาดัตช์

ตอนนี้คุณสามารถเข้าถึงเลเซอร์แล้ว และตัดเมทริกซ์ (ไฟล์ที่แนบมาด้วย) จาก MDF ขนาด 6 มม. บางส่วนด้วย สิ่งนี้จะอยู่ระหว่างเมทริกซ์ LED และแผ่นปิดด้านหน้าเพื่อกระจายแสงและป้องกันแสงรั่วไปยังตัวอักษรที่อยู่ใกล้เคียง

ขั้นตอนที่ 3: บัดกรีอุปกรณ์อิเล็กทรอนิกส์

บัดกรีอุปกรณ์อิเล็กทรอนิกส์
บัดกรีอุปกรณ์อิเล็กทรอนิกส์
บัดกรีอุปกรณ์อิเล็กทรอนิกส์
บัดกรีอุปกรณ์อิเล็กทรอนิกส์
บัดกรีอุปกรณ์อิเล็กทรอนิกส์
บัดกรีอุปกรณ์อิเล็กทรอนิกส์

ตอนนี้ถึงเวลาสำหรับแกนหลักของนาฬิกาของเราแล้ว อิเล็กทรอนิกส์

หัวใจของโครงการของเราคือ Arduino nano ฉันใช้ Atmega328P ที่ใช้พื้นฐาน ใช้งานได้ แต่ในระหว่างการพัฒนาซอฟต์แวร์ ฉันมักจะพบปัญหาเกี่ยวกับหน่วยความจำ ดังนั้นอาจเป็นนาโนทุก ๆ หรือแม้แต่ ESP32 อาจเหมาะสมกว่า

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

ด้านล่างนี้ คุณจะพบการเชื่อมต่อทั้งหมดสำหรับส่วนประกอบต่างๆ:

RTC (นาฬิกาเรียลไทม์) DS3231: 4 พินเชื่อมต่อกับ Arduino โดยตรง

  • VCC ถึง 5V
  • GND เป็น GND ของ arduino
  • SDA เป็น A4
  • SCL ถึง A5

DFPlayer Mini: อันนี้แตกต่างจากตัวอย่างส่วนใหญ่เล็กน้อย เพื่อหลีกเลี่ยงปัญหาบัส I2C ฉันจะต่อเข้ากับพอร์ตอนุกรมของ Arduino แทนที่จะใช้ซอฟต์แวร์บัส การ์ด micro SD ที่ใส่ลงใน DFPlayer Mini ควรมีเสียงเรียกเข้าแบบ MP3 จำนวน 12 เสียง (ชื่อ 0001.mp3, 0002.mp3, …) และเสียงเรียกเข้าสุขสันต์วันเกิดชื่อ 0014.mp3 (13 ไม่ต้องการทำงาน!?!)

  • VCC ถึง 5V
  • GND เป็น GND
  • RX เป็น TX บน Arduino ไม่ใช่โดยตรง แต่มีตัวต้านทาน 1 kohm; อย่าเชื่อมต่อ TX ของ DFPlayer mini เราไม่ได้ใช้ข้อเสนอแนะจากโมดูลและจะทำให้ฟังก์ชันที่ถูกต้องของนาฬิกาเลอะ!
  • spk1 & spk2 ไปยังลำโพง

WS2812 นำเมทริกซ์:

  • บวกและลบเชื่อมต่อโดยตรงกับแจ็คไฟ
  • Din ของ LED/ตัวอักษรตัวแรกเชื่อมต่อกับพิน D6 ของ Arduino ไม่ใช่โดยตรงแต่มีตัวต้านทานมากกว่า 330 โอห์ม

ตัวเก็บประจุขนาด 1,000 µF: เพื่อป้องกัน LED อาจทำงานได้ดีหากไม่มี

ขาบวกเชื่อมต่อกับด้านบวกของเมทริกซ์ LED (และดังนั้นจึงเป็นแจ็ค DC ด้วย) ขาลบเชื่อมต่อกับด้านลบของเมทริกซ์ LED

RGB LED: LED ที่ฉันใช้มีตัวต้านทานในตัว ซึ่งส่วนใหญ่ไม่มี ดังนั้นให้รวมไว้ด้วยหากจำเป็น

  • ขาที่ยาวที่สุดติดกับพื้น
  • ขาอีกข้างเชื่อมต่อกับพิน D8, D9 และ D10 ของ Arduino

โฟโตไดโอด

  • ขาข้างหนึ่งของโฟโตไดโอดเชื่อมต่อกับ 5V
  • ขาอีกข้างเชื่อมต่อกับพิน A0 บน Arduino และกับกราวด์เหนือตัวต้านทาน 4.7 kohm

ปุ่ม: คุณต้องมี 3 ปุ่ม; ปุ่มปลุกขนาดใหญ่ 1 ปุ่มและปุ่มที่เล็กกว่า 2 ปุ่มสำหรับฟังก์ชั่นขึ้นและลง ปุ่มต่างๆ เชื่อมต่อกับหมุดดิจิทัลบน Arduino คุณต้องเพิ่มตัวต้านทานแบบดึงลง 10kohm ตามที่อธิบายอย่างดีในคำแนะนำนี้

  • ปุ่มนาฬิกาปลุกเชื่อมต่อกับพิน D7
  • ขึ้นเชื่อมต่อกับพิน D12
  • ปุ่มลงเชื่อมต่อกับพิน D11

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

การประกอบนาฬิกา
การประกอบนาฬิกา
การประกอบนาฬิกา
การประกอบนาฬิกา
การประกอบนาฬิกา
การประกอบนาฬิกา

เนื่องจากพื้นที่จำกัดสำหรับส่วนประกอบทั้งหมด การทดสอบให้พอดีกับส่วนประกอบทั้งหมดจึงเป็นสิ่งสำคัญ ดังนั้นฉันจึงเชื่อมต่อส่วนประกอบทั้งหมดกับตัวเชื่อมต่อ เพื่อให้ถอดออกจากเมนบอร์ดได้อย่างง่ายดาย ปุ่มปลุกที่ฉันใช้นั้นยาวเกินไปและฉันติดตั้งมันด้วยวิธีที่แปลกมาก เพราะฉันไม่ชอบพลาสติกสีแดงของมัน ตอนนี้มันอยู่ในตำแหน่งที่ลึกกว่ามากในนาฬิกา เพื่อให้มีที่ว่างสำหรับแผ่นไม้ขนาดเล็กที่ทำหน้าที่เป็นปุ่มในตอนนี้และเข้ากับรูปลักษณ์ของนาฬิกาได้ดียิ่งขึ้น ดิสก์ถูกตัดจากด้ามแปรงทาสีเก่า เห็นว่าชอบเอาของเก่ามาใช้ซ้ำ! แผ่นรองด้านหลังยังเป็นสินค้าที่นำกลับมาใช้ใหม่อีกด้วย: ชิ้นส่วนที่ตัดมาจากแผ่นเคลือบสีทอง ซึ่งทำหน้าที่เป็น backsplash ในห้องครัวของเรา เพียงตัดแผ่นรองด้านหลังให้มีขนาดด้วยเลื่อยปรับองศาแล้วเจาะรูสำหรับแจ็ค DC ติดตั้งด้วยสกรูเพื่อให้สามารถเข้าถึงภายในได้ในภายหลัง เมื่อทุกอย่างดูพอดีและใช้งานได้ก็ถึงเวลาติดกล่อง การติดกาวทำได้ง่ายเพียงแค่ติดกาวทั้ง 4 ด้านเข้าด้วยกันด้วยเทปกาว แล้วทากาวแล้วพันเข้าด้วยกัน เมทริกซ์ LED ติดเทปเข้ากับเมทริกซ์หน้าปก LED และแรงเสียดทานนี้เข้ากับตำแหน่ง แผ่นปิดหน้าติดตั้งอยู่ด้านบนด้วยเทปกาวสองหน้า คืนแรกที่ฉันทำ "คืนทดสอบ" เมื่อทุกอย่างถูกรัดด้วยยางรัด และฉันรู้สึกว่าไฟ LED ยังสว่างเกินไปแม้ในการตั้งค่าต่ำสุด! ปัญหานี้แก้ไขได้ด้วยการเพิ่มกระดาษ 2 ชั้นระหว่างเมทริกซ์ฝาครอบ LED และแผ่นปิดหน้า

ขั้นตอนที่ 5: ซอฟต์แวร์

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

นี่คือภาพรวมของฟังก์ชันทั้งหมดที่ฉันรวมไว้

  • การกดปุ่มสัญญาณเตือนสั้น ๆ จะเป็นการเปิด/ปิดฟังก์ชั่นการเตือน เมื่อนาฬิกาปลุกทำงาน ไฟ LED จะเป็นสีแดง
  • เมื่อเปิดใช้งานการเตือน เวลาปลุกจะปรากฏขึ้นและสามารถเปลี่ยนเวลาปลุกด้วยปุ่มขึ้นและลง (ชั่วโมงเมื่อไฟ LED สีแดงกะพริบ จากนั้นเป็นนาทีเมื่อไฟ LED สีน้ำเงินกะพริบ)
  • ในการเปลี่ยนเสียงเรียกเข้าและระดับเสียง คุณต้องเปิดใช้งานเมนูการตั้งค่าโดยกดปุ่มขึ้นและลงพร้อมกันระหว่างการตั้งเวลาปลุก
  • เมื่อเสียงปลุกดังขึ้น การกดปุ่มปลุกสั้นๆ จะทำให้คุณเลื่อนเวลาปลุกได้ 5 นาที หากต้องการปิดจริงๆ: กดอีกครั้งหรือกดค้างไว้จนกว่าไฟสัญญาณเตือนภัยจะดับลง
  • ในการเปลี่ยนเวลา คุณต้องเปิดใช้งานเมนูการตั้งค่าโดยกดปุ่มขึ้นและลงพร้อมกันระหว่างการทำงานปกติ
  • ในการเปลี่ยนวันที่ (ใช้สำหรับฟังก์ชันวันเกิด) คุณต้องเปิดใช้งานเมนูการตั้งค่าโดยกดปุ่มขึ้นและลงพร้อมกันระหว่างการตั้งค่าเวลา
  • และสุดท้ายกับไข่อีสเตอร์: การกดปุ่มปลุกค้างไว้จะเป็นการเปิดใช้งานโหมดรุ้ง สิ่งนี้ดูไม่เพียงแค่เท่เท่านั้น แต่ยังสามารถใช้เป็นไฟกลางคืนได้อีกด้วย!

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

หน้าที่ที่สำคัญที่สุด ที่ทำให้นาฬิกานี้แตกต่างไปจากเดิมคือ:

String TextToLED (String InputText, แอนิเมชั่น int, int StartLed)

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

ClockFace = String("HETMISDTKWARVIENTBIJFGNAVOORHALFDNTWZEVRPHIAGERNALJFCHTSDUURAPMY") และสะดวกเป็นพิเศษเมื่อเปลี่ยนชื่อสำหรับฟังก์ชันวันเกิด

ขั้นตอนที่ 6: การปรับปรุงในอนาคต

แม้จะใช้งานไปหลายเดือนแล้ว ฉันก็ยังพอใจกับงานสร้างนี้มาก สำหรับโครงการส่วนใหญ่ของฉัน ฉันคิดว่า:" ควรปรับปรุง หรือไม่ก็ จะดีกว่า … " แต่อันนี้ ไม่ มันให้ความรู้สึกและการทำงานตามที่ฉันต้องการ ปัญหาหนึ่งอาจเกิดจากการใช้พลังงาน ซึ่งอาจสูงกว่านาฬิกาปลุกทั่วไปที่คุณซื้อ แต่ขึ้นอยู่กับปริมาณแสงในระหว่างวันเป็นอย่างมาก เนื่องจาก LDR ทำงานได้ดีมาก เมื่อมันมืดสนิท นาฬิกาของฉันจะเข้าสู่โหมดกลางคืน ซึ่งหมายถึงตัวอักษรสีแดงและสีเขียวที่การตั้งค่าที่สลัวที่สุด ในโหมดนี้ นาฬิกาใช้ 0.08 แอมป์ และกินไฟประมาณ 0.4 วัตต์ ในที่แสงเต็มวัน ค่านี้จะเพิ่มขึ้นเป็น 0.3 แอมป์หรือประมาณ 1.5 วัตต์ ในขณะที่โหมดสายรุ้งยังกินไฟ 5 วัตต์อีกด้วย

อย่างไรก็ตาม เมื่อดูผลลัพธ์สุดท้ายแล้ว ฉันเชื่อว่ามันคุ้มค่ากับพลังงานทั้งหมดที่ฉันได้ทุ่มเทลงไป!

อย่าลืมโหวตให้ฉันในการแข่งขันนาฬิกา! ขอบคุณที่อ่านจนจบ

แนะนำ: