สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
บทช่วยสอนนี้จะอธิบายวิธีสร้าง Audio Visualizer ด้วย Arduino Uno และ LED บางตัวที่สามารถระบุตำแหน่งได้ นี่เป็นโครงการที่ฉันอยากทำมาสักระยะแล้ว เพราะฉันเป็นคนดูดเสียงแสงปฏิกิริยา ไฟเหล่านี้ใช้ไลบรารี FFT (Fast Fourier Transform) เพื่อคำนวณความถี่สูงสุดที่ได้ยินจากไมโครโฟนในตัว และแสดงแต่ละความถี่ด้วยสีที่ต่างกัน
เดิมทีฉันวางแผนที่จะรวมปุ่มและโหมดทางเลือกบางโหมดสำหรับการแสดงผลไว้ด้วย แต่ฉันไม่มีโอกาสเขียนโค้ดสำหรับปุ่มนี้ หากคุณมีประสบการณ์กับ Arduino บ้าง ก็ไม่ควรยากเกินไปสำหรับคุณที่จะแก้ไขโค้ดของฉันเพื่อรวมแอนิเมชั่นอื่นๆ หรือแม้แต่สีที่ต่างกัน คุณจะต้องเพิ่มเป็นปุ่มที่มีตัวต้านทาน 330 โอห์ม
รหัส:
STL:
เสบียง
Elegoo ใจดีมากและส่งชุดเริ่มต้น Arduino พื้นฐานสำหรับโครงการนี้มาให้ฉัน! คุณจะต้องการหยิบขึ้นมาหากคุณยังใหม่กับ Arduino หรือแม้แต่หากคุณต้องการส่วนร่วมเพิ่มเติม: ใช้ลิงค์พันธมิตรเพื่อสนับสนุนเนื้อหาของฉัน!
amzn.to/3fqEkIJ
นี่คือทุกอย่างที่ใช้:
ไม้อัด 1/8 - ร้านฮาร์ดแวร์ในพื้นที่
แถบไฟ LED (5m 30 leds/m) -
แผ่นอะคริลิค -
ไมค์ -
ลวด -
เครื่องปอกสายไฟ -
ปืนกาวร้อน -
หัวแร้ง -
เครื่องพิมพ์ 3 มิติ -
เส้นใย -
ขั้นตอนที่ 1: ตัดฐานและขัดอะคริลิก
ตัดไม้เป็นสี่เหลี่ยมจัตุรัสขนาด 1 'x 1' (หรือตรงกับขนาดของอะคริลิกของคุณ) สามารถทำได้ด้วยเลื่อยวงเดือนหรือเลื่อยมือหากคุณสามารถเก็บขอบเป็นสี่เหลี่ยมจัตุรัสได้ แต่ทำได้ง่ายที่สุดด้วยตุ้มปี่หรือเลื่อยโต๊ะ
ทรายทั้งสองด้านของแผ่นอะครีลิคด้วยกระดาษทรายกรวดต่ำเพื่อให้น้ำค้างแข็ง สามารถทำได้ด้วยเครื่องขัดหรือด้วยมือ หลีกเลี่ยงกระดาษทรายที่มีกรวดทรายสูง เพราะคุณจะทิ้งรอยบากไว้บนวัสดุที่จะทำลายรูปลักษณ์ที่เสร็จแล้ว
ขั้นตอนที่ 2: ต่อสายไฟ LED และไมค์
ตัดแถบ LED ของคุณเป็น 8 ความยาว 8 LEDs ติดไว้กับฐานไม้ เว้นระยะเท่ากันและสลับทิศทาง ระวังลูกศร แถบ LED เหล่านี้ใช้งานได้ทางเดียวเท่านั้น ประสานสามเอาต์พุตของแต่ละแถบกับสามอินพุตของแถบถัดไป เชื่อมต่ออินพุตของแถบแรกกับบอร์ด Arduino หากคุณใช้รหัสของฉัน ฉันใช้พิน 2 สำหรับ Data
ก่อนปิดหัวแร้ง อย่าลืมทดสอบการเชื่อมต่อของคุณด้วยภาพร่างตัวอย่าง FastLED ฉันชอบใช้ ColorPallets
นี่เป็นช่วงเวลาที่ดีในการเชื่อมต่อไมโครโฟนกับ Arduino ต่อไฟเข้ากับเอาต์พุต 3.3V และข้อมูลไปยัง A0 คุณสามารถทดสอบสิ่งนี้ด้วยภาพร่างจากหน้า GitHub ของฉัน
ขั้นตอนที่ 3: อัปโหลดรหัส
การทดสอบร่างด้วยการตั้งค่าขั้นสุดท้ายของคุณเป็นสิ่งสำคัญก่อนที่จะติดกาวอย่างถาวร หากสิ่งใดใช้ไม่ได้ผล จะแก้ไขได้ง่ายกว่าในภายหลัง ร่างที่ฉันเขียนสามารถพบได้ที่นี่:
github.com/mrme88/Arduino-Audio-Visualizer/blob/master/FFT_Visualizer.ino
เปิดใน Arduino IDE และตรวจสอบให้แน่ใจว่าค่าทั้งหมดที่อยู่ด้านบนถัดจากคำสั่ง #DEFINE ตรงกับการตั้งค่าของคุณ เมื่อภาพร่างถูกอัปโหลดและดูเหมือนว่าจะทำงานได้อย่างถูกต้อง คุณสามารถไปยังขั้นตอนสุดท้ายได้
ขั้นตอนที่ 4: การประกอบขั้นสุดท้าย
พิมพ์ 3D ตัวเว้นวรรคขนาด 1 นิ้วสี่ตัวเพื่อแยกอะครีลิคออกจากไฟ LED หากคุณไม่มีเครื่องพิมพ์ 3D คุณสามารถใช้อย่างอื่นเพื่อประดิษฐ์ตัวเว้นวรรคเหล่านี้ได้ กระดาษแข็งหรือบล็อกไม้ก็ใช้ได้ดี กาวตัวเว้นวรรคในแต่ละอัน สี่มุมแล้วติด Arduino และไมโครโฟนของคุณไว้ที่ด้านล่างเพื่อให้ Arduino สามารถรับพลังงานและไมโครโฟนสามารถได้ยินเสียงรบกวน
คุณสามารถเลือกเจาะรูที่ด้านหลังเพื่อให้ติดตั้งบนผนังได้ง่ายโดยใช้ตะปูควง หรือคุณสามารถปล่อยให้มันเป็นเครื่องประดับโต๊ะหรือแถบคำสั่งกับผนัง
ในที่สุดกาวอะคริลิกกับสเปเซอร์ในแต่ละมุมแล้วปล่อยให้แห้ง ตอนนี้คุณมีโปรแกรมสร้างภาพ LED ที่สวยงามซึ่งคุณสามารถใช้เพื่อสร้างความประทับใจให้เพื่อน ๆ หรือสร้างความบันเทิงให้ตัวคุณเอง!