สารบัญ:

วิธีการสร้าง Visual Visualizer ความถี่สำหรับเครื่องแต่งกาย (โครงการ Arduino): 8 ขั้นตอน (พร้อมรูปภาพ)
วิธีการสร้าง Visual Visualizer ความถี่สำหรับเครื่องแต่งกาย (โครงการ Arduino): 8 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: วิธีการสร้าง Visual Visualizer ความถี่สำหรับเครื่องแต่งกาย (โครงการ Arduino): 8 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: วิธีการสร้าง Visual Visualizer ความถี่สำหรับเครื่องแต่งกาย (โครงการ Arduino): 8 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: สอน Data Visualization EP.1 Data Visualization VS Infographics การวิเคราะห์และสร้างภาพข้อมูล 2024, กันยายน
Anonim
Image
Image
วัสดุและราคา
วัสดุและราคา

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

ขั้นตอนที่ 1: วัสดุและราคา

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

  1. แถบ WS2812B นีโอพิกเซล 30 แถบ 2x…………………………………………………………….$3.22 ต่อแถบ
  2. Arduino uno (ภาษาจีนใช้)……………………………………………………………………มีเจ้าของแล้ว
  3. ต่อสายไฟ…………………………………………………………………………………….มีเจ้าของแล้ว
  4. แหล่งจ่ายไฟภายนอก………………………………………………………………………….มีเจ้าของแล้ว
  5. พื้นผิวการติดตั้ง (กระดาษแข็งใช้แล้ว)………………………………………………………มีเจ้าของแล้ว
  6. โมดูลเครื่องขยายเสียง LM386……………………………………………………………..$8.98 สำหรับ 5 หน่วย
  7. 3.5 มม. เสียงสเตอริโอชายกับขั้วต่อ AV 3-Screw Terminal ตัวเมีย……….$6.50 สำหรับ 5 หน่วย
  8. แจ็คสเตอริโอ 3.5 มม. ตัวเมียกับตัวเมีย………………………………………..$5.99 สำหรับ 6 ยูนิต
  9. เขียงหั่นขนม……………………………………………………………………………………………………เป็นเจ้าของแล้ว

ในการปรับใช้การตั้งค่าสำหรับสูทที่มีไมโครโฟนในที่สุด จำเป็นต้องมีสิ่งต่อไปนี้:

  1. แถบนีโอพิกเซล 19 เส้น…………………………………………………………………………ตัดจากไฟ LED 300 ดวง 5 ม. ในราคา 26.67 ดอลลาร์
  2. แถบนีโอพิกเซล 5 เส้น…………………………………………………………………………..ตัดจากม้วนเดียวกัน
  3. Arduino nano (ภาษาจีนใช้แล้ว)……………………………………………………….$3.00 (5 ต่อ $15)
  4. ต่อสายไฟ…………………………………………………………………………….มีเจ้าของแล้ว
  5. แบตเตอรี่ลิเธียมไอออนแบบรีชาร์จ Talentcell 6000mAh…………………………….$29.99
  6. เสียงสเตอริโอขนาด 3.5 มม. ตัวผู้เป็นขั้วต่อตัวเมียแบบสกรู AV 3 ตัว…..$6.50 สำหรับ 5 เครื่อง
  7. แจ็คสเตอริโอ 3.5 มม. ตัวเมียเป็นตัวเมีย…………………………………………..$5.99 สำหรับ 6 ยูนิต
  8. สวิตช์………………………………………………………………………………………….ดึงจากรถที่เสีย
  9. เครื่องแต่งกาย…………………………………………………………………………………. $50 สำหรับสินค้าคละ

ขั้นตอนที่ 2: การประกอบและการเดินสายไฟ

การประกอบและการเดินสายไฟ
การประกอบและการเดินสายไฟ
การประกอบและการเดินสายไฟ
การประกอบและการเดินสายไฟ
การประกอบและการเดินสายไฟ
การประกอบและการเดินสายไฟ

เริ่มต้นด้วยแถบ LED 30 WS2812 จำนวน 2 แถบ แล้วตัดเป็นแถบ LED ยาว 5 แถบตามเส้นตัด กาวแถบเหล่านี้กับพื้นผิวเรียบ ในตัวอย่างของฉัน ฉันใช้กระดาษแข็ง จากนั้นต่อส่วนประกอบเข้าด้วยกันตามที่แสดง ตรวจสอบให้แน่ใจว่าใช้เวลาเพียงพอเพื่อประกันจุดบัดกรีที่ดี เพื่อให้แน่ใจว่าทุกอย่างทำงานอย่างถูกต้อง ให้ใช้ตัวอย่างภายในไลบรารี Neopixel ของ Adafruit (ตัวอย่าง "Straintest" ใช้งานได้ดี)

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

รหัส Arduino
รหัส Arduino

โครงการนี้ต้องการห้องสมุดเพียงสองแห่งเท่านั้น

สำหรับ FFT ฉันใช้ ArduinoFFT ของ Open Music Lab https://wiki.openmusiclabs.com/wiki/ArduinoFFT ตรวจสอบให้แน่ใจว่าคุณปฏิบัติตามคำแนะนำในการติดตั้งอย่างถูกต้อง ไม่เช่นนั้นจะไม่ทำงาน หลังจากติดตั้งอย่างถูกต้อง ฉันยังคงได้รับข้อความแสดงข้อผิดพลาดเกี่ยวกับ "ไลบรารีที่ไม่ถูกต้อง" อย่างไรก็ตาม ทุกอย่างยังคงใช้งานได้สำหรับฉัน แสดงความคิดเห็นหากคุณระบุสิ่งที่ฉันพลาด สำหรับ neopixels ฉันใช้ไลบรารี NeoPixel ของ Adafruit (ตามที่กล่าวไว้ก่อนหน้านี้) ฉันแนะนำให้ใช้ Library Manager ภายในซอฟต์แวร์ Arduino เพื่อติดตั้ง

ไฟล์ SuitFFT เป็นโค้ดที่ทำงานบน Suit พร้อมอินพุตพิเศษทั้งหมดจากคอนโทรลเลอร์ของฉัน LightShowFFT ใช้สำหรับอาร์เรย์ LED 60 LED อินพุต aux

รหัสทั้งสองนี้สามารถทำให้ทำงานได้เร็วขึ้นโดยการลด N. N ในตัวอย่างของฉันคือ 256 และพบว่ามันเหมาะสมกว่าสำหรับโครงการของฉัน ฉันทดลองพบว่าคลื่นเสียงเต็มรูปแบบทำงานได้ไกลกว่า 9 kHz ตามที่ทดสอบในขั้นตอนต่อไป!

ขั้นตอนที่ 4: FFT กำลังทำอะไรอยู่

Image
Image
FFT กำลังทำอะไรอยู่
FFT กำลังทำอะไรอยู่

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

ตอนนี้ถึงเวลาทำชุดสูท

ขั้นตอนที่ 5: เคล็ดลับเครื่องแต่งกาย

เคล็ดลับเครื่องแต่งกาย
เคล็ดลับเครื่องแต่งกาย
เคล็ดลับเครื่องแต่งกาย
เคล็ดลับเครื่องแต่งกาย
เคล็ดลับเครื่องแต่งกาย
เคล็ดลับเครื่องแต่งกาย

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

  • ทำงานเตรียมการให้ดี (อัดเทป ปิดบัง ฯลฯ) เพราะจะทำให้เวลาต่างกันมากในภายหลัง
  • ผสมบอนโดและไฟเบอร์กลาสในปริมาณเล็กน้อยเสมอ
  • ใช้ Bondo เพื่อเติมช่องว่าง
  • ใช้เรซินไฟเบอร์กลาสเพื่อผนึกและเสริมความแข็งแกร่ง
  • ใช้ผ้าใยแก้วเพื่อทำให้จุดอ่อนแข็งขึ้น
  • ใช้เวลาของคุณและอดทนกับงานของคุณ
  • สำหรับงานขัด

    • 40-100 กรวดเพื่อกำจัดวัสดุ
    • 100-400 กรวดสำหรับการเตรียมไพรเมอร์
    • 400-1000 กรวดสำหรับขัดสีรองพื้น
    • เม็ดทราย 1000-3000 เม็ดสำหรับขัดสี

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

ขั้นตอนที่ 6: การสร้างหรือเลือกคอนโทรลเลอร์ การเดินสายไฟ และโค้ด

การสร้างหรือการเลือกคอนโทรลเลอร์ การเดินสายไฟ และรหัส
การสร้างหรือการเลือกคอนโทรลเลอร์ การเดินสายไฟ และรหัส
การสร้างหรือการเลือกคอนโทรลเลอร์ การเดินสายไฟและรหัส
การสร้างหรือการเลือกคอนโทรลเลอร์ การเดินสายไฟและรหัส
การสร้างหรือการเลือกคอนโทรลเลอร์ การเดินสายไฟ และรหัส
การสร้างหรือการเลือกคอนโทรลเลอร์ การเดินสายไฟ และรหัส
การสร้างหรือการเลือกคอนโทรลเลอร์ การเดินสายไฟ และรหัส
การสร้างหรือการเลือกคอนโทรลเลอร์ การเดินสายไฟ และรหัส

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

เพื่อให้สวิตช์ทำงานได้อย่างถูกต้อง จำเป็นต้องมีตัวต้านทานแบบดึงลง โดยปกติตัวต้านทาน 50-100 kΩ จะทำงาน แต่สวิตช์บางตัวต้องใช้ตัวต้านทานที่ต่ำกว่ามาก (บางตัวประมาณ 300 Ω) เพื่อเปลี่ยนแรงดันไฟฟ้าที่เพียงพอสำหรับ Arduino เพื่อขัดจังหวะอินพุตดิจิตอลอย่างเหมาะสม (ประมาณน้อยกว่า 0.3 * Vcc สำหรับต่ำและสูงกว่า มากกว่า 0.6*Vcc สำหรับสูง) ใครก็ตามที่ทำเช่นนี้ต้องเปลี่ยนทีละสวิตช์ ควรใช้บอร์ดขนมปังก่อนเพื่อให้แน่ใจว่าคอนโทรลเลอร์ทำงานอย่างถูกต้อง

หลังจากหาสวิตช์แล้ว ฉันบัดกรีส่วนประกอบต่างๆ เข้าด้วยกันโดยใช้แผนภาพที่แสดง ใช้แผงวงจร PCB เพื่อแก้ไขส่วนประกอบให้ดีขึ้น ดูภาพเพื่อดูรายละเอียด อาร์เรย์ LED 19 ดวงเรียงลงมาที่กระดูกสันหลังของชุดสูทของฉัน และอีกดวงที่ด้านหน้าเป็นตัวบ่งชี้ว่าเกิดอะไรขึ้น

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

ขั้นตอนที่ 7: สัมผัสสุดท้าย

สัมผัสสุดท้าย
สัมผัสสุดท้าย
สัมผัสสุดท้าย
สัมผัสสุดท้าย
สัมผัสสุดท้าย
สัมผัสสุดท้าย

ในการทำให้เสร็จ ให้กรีดโฟมเพื่อร้อยลวดผ่าน ยึดสายไฟด้วยกาวร้อน ฉันยังซื้อสินค้าเพิ่มเติมอีกสองสามรายการเพื่อ "ปิดผนึกข้อตกลง" ฉันคิดว่า… หากคุณกำลังจะออกไปดูไร้สาระในชุดสูทสีอ่อน ไปที่ขั้นตอนพิเศษ!

ขั้นตอนที่ 8: แค่นั้นแหละ! (พร้อมเคล็ดลับการแก้ไขปัญหา)

แค่นั้นแหละ! (พร้อมเคล็ดลับการแก้ไขปัญหา)
แค่นั้นแหละ! (พร้อมเคล็ดลับการแก้ไขปัญหา)

ขอขอบคุณที่เยี่ยมชม instuctable ของฉันและขอให้สนุกกับ DIY-ers!

เคล็ดลับการแก้ไขปัญหาจากประสบการณ์โครงการ:

  • หากไฟทำงานผิดปกติ (ไฟกะพริบ ทำงานไม่ปกติ สีผิดปกติ)

    • แหล่งจ่ายไฟฟ้าไม่ดี

      • อุปกรณ์จ่ายไฟหลายตัว
      • อย่าสตริงดังนั้นอาจ neopixels ด้วยกัน
      • เรียกใช้สายไฟพิเศษเป็นแถบ
    • รหัสปัญหา

      • ตรวจสอบจำนวนไฟให้ถูกต้อง
      • ตรวจสอบเพื่อดูว่ารหัสแสดงไฟและช่องความถี่อย่างถูกต้องหรือไม่
    • แหล่งจ่ายไฟไม่ดีสำหรับ Arduino

      เพิ่มแหล่งจ่ายไฟ

    • แรงดันไฟฟ้าจาก Arduino ถึง neopixels off

      ใช้แหล่งจ่ายไฟเดียวกันเพื่อจ่ายไฟให้ทั้งคู่

  • ไฟติดแต่ไม่มี FFT

    • ตรวจสอบสายไฟจากแอมพลิฟายเออร์และแอมพลิฟายเออร์ กราวด์ และอินพุต
    • เพิ่ม/ลดเกนของแอมพลิฟายเออร์
    • ไฟไม่ดี

แนะนำ: