สารบัญ:

Tobias - Arduino Music Box พร้อม TVout: 5 ขั้นตอน (พร้อมรูปภาพ)
Tobias - Arduino Music Box พร้อม TVout: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Tobias - Arduino Music Box พร้อม TVout: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Tobias - Arduino Music Box พร้อม TVout: 5 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Tobias - Arduino Music Box 2024, พฤศจิกายน
Anonim
Tobias - กล่องดนตรี Arduino พร้อม TVout
Tobias - กล่องดนตรี Arduino พร้อม TVout
Tobias - กล่องดนตรี Arduino พร้อม TVout
Tobias - กล่องดนตรี Arduino พร้อม TVout
Tobias - กล่องดนตรี Arduino พร้อม TVout
Tobias - กล่องดนตรี Arduino พร้อม TVout

ก่อนอื่น ให้ฉันแนะนำ Tobias ตุ๊กตาหมียักษ์ของแฟนฉัน ซึ่งเป็นแรงบันดาลใจให้กับโครงการนี้

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

โปรเจ็กต์นี้ตั้งใจให้เป็นของขวัญง่ายๆ Arduino พร้อมลำโพง Piezo เล่นเพลงโปรดของเธอ มันออกจากการควบคุมของฉันอย่างรวดเร็วและกลายเป็นกล่องดนตรี:

  • พิมพ์ 3 มิติ
  • สามารถเล่นเพลงได้โดยไม่ต้องใช้การเชื่อมต่อ USB โดยใช้แบตเตอรี่ AA
  • ด้วย "คีย์" ของเปียโนที่สว่างขึ้นในแต่ละโน้ต
  • สามารถสร้างภาพบนโทรทัศน์ CRT เก่าผ่านขั้วต่อ RCA

เสบียง

  • Arduino นาโน
  • ลำโพง (ฉันเอามาจากวิทยุเก่าที่เสียหาย)
  • สวิตช์สลับ (3 ขา) - ตัวเลือกโหมด
  • โพเทนชิออมิเตอร์แบบหมุน - การควบคุมระดับเสียง
  • ตัวต้านทาน 2x220Ω
  • ตัวต้านทาน 440Ω 1x หรือตัวต้านทาน 220Ω 2x
  • ตัวต้านทาน 1x1kΩ
  • ไฟ LED 11 3 มม.
  • 2x ขั้วต่อ RCA ตัวเมีย
  • สายไฟ
  • อะครีลิคสีขาว 3.5 มม.
  • กาวร้อนหรือซุปเปอร์กาว

เครื่องมือ:

  • ชุดบัดกรี
  • เครื่องพิมพ์ 3 มิติ
  • คอมพิวเตอร์ที่มี Arduino IDE เพื่ออัปโหลดโค้ด

ขั้นตอนที่ 1: รหัส - อัปโหลด

คุณจะต้องการ:

  • ไลบรารี TVout - อนุญาตให้ Arduino ใส่ภาพและเสียงบนโทรทัศน์ด้วยการเชื่อมต่อ RCA หรือ SCART
  • arduino-volume1 - ไลบรารีนี้ปรับปรุงคุณภาพเสียง ใช้ในโหมด 1 (เฉพาะ Arduino โดยไม่ต้องเชื่อมต่อทีวี) อย่างไรก็ตาม ในโหมด 2 จะใช้งานพร้อมกันไม่ได้เนื่องจากไลบรารี TVout ใช้ตัวจับเวลาเดียวกันกับ Volume1

หากคุณต้องการเปลี่ยนเพลงหรือรูปภาพ ให้ดูขั้นตอนถัดไป ถ้าไม่เพียงแค่อัปโหลดโค้ดไปยัง Arduino ของคุณ แต่ก่อนอื่นให้ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งไลบรารีทั้งสองไว้

ขั้นตอนที่ 2: รหัส (เปลี่ยนเพลง)

รหัส (เปลี่ยนเพลง)
รหัส (เปลี่ยนเพลง)

คุณสามารถค้นหาเพลงได้ที่นี่:

ฉันแบ่งเพลงเป็นส่วนๆ โดยกำหนดตัวอักษรให้แต่ละส่วนที่ซ้ำกัน จากนั้นฉันกำหนดค่า 1 ถึง 16 สำหรับแต่ละโน้ตและวางไว้ในบรรทัด 0 ของแต่ละอาร์เรย์ ค่าที่สอดคล้องกับความถี่ของโน้ตที่จะเล่น (array freq ) ในบรรทัดที่ 1 ฉันใส่ระยะเวลาของโน้ตแต่ละตัวไว้ด้านบน ตัวอย่าง:

const ไบต์ melB1[2][6] PROGMEM={

{11, 8, 0, 8, 7, 6}, //หมายเหตุ

{ 1, 3, 1, 1, 1, 1}}; // ระยะเวลา

หากคุณต้องการใช้เพลงอื่น:

  • เปลี่ยนความถี่ อาร์เรย์ด้วยความถี่ใหม่ที่ต้องการ (หมายเหตุ)
  • เปลี่ยนอาร์เรย์ที่สอดคล้องกับแต่ละส่วนของเพลง
  • ในเพลงโมฆะ () เลือกลำดับที่ควรเล่น
  • เปลี่ยน "X" ในการประกาศอาร์เรย์สำหรับจำนวนองค์ประกอบในแต่ละบรรทัดและเปลี่ยนแปลงในโมฆะที่สอดคล้องกันเช่น:

melB1[2][X]

เป็นโมฆะ melodiaB1(){

สำหรับ (a=0; a<X; a++){

ขั้นตอนที่ 3: รหัส (เปลี่ยนรูปภาพ / ภาพถ่าย)

รหัส (เปลี่ยนภาพ / ภาพถ่าย)
รหัส (เปลี่ยนภาพ / ภาพถ่าย)
รหัส (เปลี่ยนภาพ / ภาพถ่าย)
รหัส (เปลี่ยนภาพ / ภาพถ่าย)
รหัส (เปลี่ยนภาพ / ภาพถ่าย)
รหัส (เปลี่ยนภาพ / ภาพถ่าย)

ฉันใช้ GIMP เพื่อเปลี่ยนรูปภาพเป็นขาวดำ ขั้นตอน:

สี / ความอิ่มตัว = 0

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

  • Rectangle Select Tool (อัตราส่วนภาพ - คงที่ 1:1)
  • แก้ไข/คัดลอก
  • ไฟล์/สร้าง/จากคลิปบอร์ด
  • ภาพ/ขนาดภาพ (95x95)

จำเป็นต้องแปลงภาพเป็นขาวดำและไม่ใช่ระดับสีเทา

  • Fuzzy Select Tool และ Free Select Tool เพื่อเลือกพื้นที่ที่ต้องการให้แสดงเป็นสีดำ
  • ดินสอ (สีดำ) เพื่อให้การเลือกของเราเป็นสีดำ
  • Select / Invert (สลับการเลือกของเรา)
  • ดินสอ (สีขาว) ให้สีที่เหลือของพื้นที่เป็นสีขาว
  • สี / ความสว่าง-คอนทราสต์ (คอนทราสต์สูงสุดเพื่อให้แน่ใจว่าสีดำเป็นสีดำ)

ตอนนี้เราได้ภาพขาวดำที่มีความละเอียด 95x95 พิกเซลแล้ว

ไฟล์/ส่งออกเป็น (. BMP)

ในการแปลงรูปภาพใหม่เป็นโค้ด ฉันใช้ Image2Code

ซึ่งทำให้เรามีอาร์เรย์ที่เกือบจะดี จากนั้นฉันก็คัดลอกและวางลงใน Arduino IDE

ใช้แก้ไข / ค้นหา:

  • ค้นหา "0xFF" ทั้งหมดและแทนที่ด้วย "0" (แทนที่ทั้งหมด)
  • ทำเช่นเดียวกันสำหรับ “0x00” และแทนที่ด้วย “1”
  • ลบ “{“และ “}” ทั้งหมด

"0" จะเป็นพิกเซลสีดำ

"1" จะเป็นพิกเซลสีขาว

ขั้นตอนที่ 4: โมเดล 3 มิติ

โมเดล 3 มิติ
โมเดล 3 มิติ

ในการสร้างกล่องโมเดล 3 มิติ ฉันใช้ SketchUp เนื่องจากเครื่องพิมพ์ 3 มิติของฉันมีข้อจำกัดและความยาก ฉันคิดว่ามันจะเป็นการเชื่อมต่อภายใน ฉันจึงตัดสินใจสร้างแบบจำลองใน 4 ส่วน

ฉันอัปโหลดไฟล์ SketchUp หากคุณต้องการเปลี่ยนแปลงบางอย่างในการออกแบบ ถ้าไม่ ให้พิมพ์ไฟล์.stl

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

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

การประกอบไม่ซับซ้อนแต่ทำได้ยากเนื่องจากขนาดของกล่องและจำนวนสายไฟที่จะต่อ

แนะนำ: