สารบัญ:

Arduino Music Reactive Desktop Lamp: 8 ขั้นตอน (พร้อมรูปภาพ)
Arduino Music Reactive Desktop Lamp: 8 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino Music Reactive Desktop Lamp: 8 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino Music Reactive Desktop Lamp: 8 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: How to Make DIY Music Reactive LED Strip Using Arduino - Dancing RGB (ALL PCB Project) 2024, พฤศจิกายน
Anonim
Arduino Music Reactive Desktop Lamp
Arduino Music Reactive Desktop Lamp

สวัสดีทุกคน!

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

อะไรเป็นแรงบันดาลใจให้ฉันทำสิ่งนี้ ในช่วงหนึ่งของการสอนโมดูลของฉัน เราได้รับโอกาสในการเรียนรู้วิธีการทำงานของ Arduino และตั้งแต่นั้นมาฉันก็รู้สึกทึ่งกับความเป็นไปได้มากมายของมัน ประกอบกับความจริงที่ว่ามันเป็นฮาร์ดแวร์โอเพ่นซอร์ส เมื่อได้รับมอบหมายให้สร้างและปรับแต่งสิ่งประดิษฐ์ดิจิทัล ฉันต้องการใช้การคำนวณเป็นเครื่องมือและเป็นสื่อในการแสดงศิลปะและวัฒนธรรมผ่านสิ่งประดิษฐ์ดิจิทัลที่จับต้องได้นี้ นอกจากนี้ ฉันมักจะมีสิ่งที่เกี่ยวกับวัตถุที่มี LED อยู่เสมอ เนื่องจากฉันรู้สึกว่าแถบ LED ควบคุมความเป็นไปได้ที่หลากหลาย ตั้งแต่วิธีการประกอบเข้ากับวัตถุ ไปจนถึงการควบคุมสี มันสามารถทำให้วัตถุธรรมดาดูดีและโต้ตอบได้ จะดีกว่าไหมถ้าเราสามารถทำให้มันเป็นวัตถุที่สวมใส่ได้ ฉันแน่ใจว่าพวกคุณส่วนใหญ่คงรู้จักดีเจมาร์ชเมลโลและหมวกที่เป็นสัญลักษณ์ของเขา แนวคิดดั้งเดิมของฉันคือการปรับแต่งหมวกกันน็อค Marshmello ที่สวมใส่ได้ รวมไฟ LED - ขับเคลื่อนโดย Arduino และเซ็นเซอร์ตรวจจับการเคลื่อนไหว accelerometer (จะพูดถึงสิ่งนี้เพิ่มเติมในความคิดสุดท้าย) อย่างไรก็ตาม ด้วยงบประมาณ (ต้นทุนของ LED นั้นแพง..) และการพิจารณาโครงการในทางปฏิบัติ ณ เวลานั้น เราจึงเปลี่ยนแนวคิดนี้ให้เป็นหลอดไฟ LED Marshmello แบบทำปฏิกิริยากับเสียง มันสามารถถูกมองว่าเป็นสื่อที่แสดงวัฒนธรรมป๊อป และในฐานะที่เป็นโคมไฟที่มีปฏิกิริยาตอบสนอง ดูเหมือนว่าจะเป็นศิลปะดิจิทัล

นี่คือเวอร์ชันของโปรเจ็กต์ของเรา เครดิตทั้งหมดสำหรับ "Natural Nerd" ของ YouTuber เราติดตามจากสิ่งที่พวกเขาทำและขอขอบคุณพวกเขาที่ให้รายละเอียดเกี่ยวกับวิธีการทำโครงการ (เนิร์ดธรรมชาติ)

ขั้นตอนที่ 1: อุปกรณ์หลัก

วัตถุดิบหลัก
วัตถุดิบหลัก

อย่างแรกเลย: นี่คืออุปกรณ์ที่เราต้องการ ส่วนใหญ่จะเป็นทางเลือก - บนพื้นฐานที่คุณสามารถสร้างด้นสดและปรับแต่งโครงการของคุณได้อย่างง่ายดาย อย่างไรก็ตาม จำเป็นต้องมีรายการสำคัญหากคุณต้องการทำตามคำแนะนำนี้:

  • Arduino Uno (หรือ Arduino ชนิดใดก็ได้ที่มีขนาดเล็กเท่ากัน)
  • โมดูลตรวจจับเสียง
  • แหล่งจ่ายไฟภายนอก
  • แถบ LED ที่ระบุแอดเดรสแยกได้ 60 LEDs ต่อเมตร
  • สายจัมเปอร์
  • เขียงหั่นขนม

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

  • โถแก้วรีไซเคิล (หรือโถอื่นๆ ที่เหมาะกับขนาดของคุณ)
  • กระดาษการ์ดสีดำ
  • โฟมบอร์ด
  • สีสเปรย์ (ใช้เคลือบโถ)

รายการหลักทั้งหมดซื้อจาก Continental Electronic (B1-25 Sim Lim Tower) แถบ LED นั้นเป็นส่วนที่แพงที่สุดโดยมีราคา SGD 18 ต่อ 1 เมตร - เราใช้ 2 เมตร ส่วนที่เหลือเป็นวัสดุรีไซเคิลหรือซื้อจากร้านสะดวกซื้อ/ร้านฮาร์ดแวร์ในบริเวณใกล้เคียง

ขั้นตอนที่ 2: การเพิ่มพลังให้กับส่วนประกอบ

การเพิ่มพลังให้กับส่วนประกอบ
การเพิ่มพลังให้กับส่วนประกอบ

ฉันใช้แหล่งจ่ายไฟภายนอก เช่น แหล่งจ่ายไฟ AC เป็น DC - ผู้ชายที่เคาน์เตอร์แนะนำให้ใช้แหล่งจ่ายไฟภายนอก เนื่องจากควรจ่ายไฟให้กับแถบ LED ขนาด 2 เมตร และไม่เผาพอร์ต USB หากคุณใช้ไม่เกิน 1 เมตร แสดงว่าไม่ต้องใช้แหล่งจ่ายไฟภายนอก และใช้สาย USB ของ Arduino Uno แล้วเสียบเข้ากับพีซีโดยตรง

องค์ประกอบหลักของโครงการคือโมดูลเครื่องตรวจจับเสียง มันจะให้สัญญาณอนาล็อก (อินพุต) แก่ Arduino ซึ่งใช้สำหรับให้แสง RGB (เอาต์พุต) แหล่งจ่ายไฟภายนอกจะจ่ายไฟให้กับส่วนประกอบทั้งสาม - Arduino, โมดูลตรวจจับเสียง และไฟ LED ต่อ VIN (หรือ 5V) บน Arduino และ VCC บนบอร์ดตรวจจับเสียงเข้ากับอินพุตบวก จากนั้นต่อ GND บน Arduino และตัวตรวจจับไปที่ค่าลบ นี่คือภาพประกอบในแผนผังที่แนบมา เรายังต้องต่ออินพุต 5V และ GND บนแถบ LED เข้ากับแหล่งพลังงาน

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

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

ขั้นตอนที่ 3: เครื่องตรวจจับและแถบ

เครื่องตรวจจับและแถบ
เครื่องตรวจจับและแถบ

หลังจากเชื่อมต่อส่วนประกอบทั้งสามเข้ากับพลังงานแล้ว เราต้องเชื่อมต่อพวกมันเข้าด้วยกัน

โมดูลเครื่องตรวจจับเสียงจะสื่อสารกับ Arduino ผ่านพินอินพุตแบบอะนาล็อก - ฉันจะใช้พิน A0

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

ในทำนองเดียวกัน คุณสามารถทำตามแผนผังที่ให้ไว้เพื่อดูภาพรวมของการเชื่อมต่อ

ขั้นตอนที่ 4: การอัปโหลดรหัส

กำลังอัปโหลดรหัส
กำลังอัปโหลดรหัส

นี่อาจเป็นส่วนที่สำคัญที่สุดของโครงการ คุณสามารถค้นหาแหล่งที่มาของรหัสที่ฉันใช้ได้ที่นี่ (ลิงก์) หรือเวอร์ชันของฉัน (ไฟล์แนบ) หลักการหลักคือการแมปค่าแอนะล็อกที่ได้รับจากเซ็นเซอร์ กับจำนวน LED ที่จะแสดง

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

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

คุณอาจต้องปรับเปลี่ยนโค้ดที่ใช้ ทั้งนี้ขึ้นอยู่กับรูปลักษณ์ที่คุณต้องการบรรลุ วิดีโอนี้ (ลิงก์) อธิบายรหัสโดยละเอียด

ขั้นตอนที่ 5: การเตรียมที่อยู่อาศัย

การเตรียมที่อยู่อาศัย
การเตรียมที่อยู่อาศัย
การเตรียมที่อยู่อาศัย
การเตรียมที่อยู่อาศัย
การเตรียมที่อยู่อาศัย
การเตรียมที่อยู่อาศัย

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

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

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

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

ขั้นตอนที่ 6: ตัวเคสเอง

ตัวเคสเอง
ตัวเคสเอง
ตัวเคสเอง
ตัวเคสเอง
ตัวเคสเอง
ตัวเคสเอง

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

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

ขั้นตอนที่ 7: เสร็จสิ้น

เสร็จสิ้น
เสร็จสิ้น
เสร็จสิ้น
เสร็จสิ้น
เสร็จสิ้น
เสร็จสิ้น

ตอนนี้เป็นการประกอบขั้นสุดท้ายของงานสร้าง

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

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

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

ขั้นตอนที่ 8: เสร็จสมบูรณ์

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

การปรับปรุงในอนาคต

อย่างไรก็ตาม ยังมีการปรับปรุงและ/หรือรูปแบบอื่นๆ อีกมากมายที่สามารถสร้างให้กับงานสร้างได้

คุณสามารถเพิ่มอินพุตปุ่มต่างๆ ที่เชื่อมต่อกับ Arduino ด้วยวิธีนี้ คุณสามารถเปลี่ยนโหมดเพื่อใช้คุณลักษณะหลอดไฟทั่วไปได้ เช่น การกะพริบทั่วๆ ไป ซึ่งช่วยให้สลับไปมาระหว่างโหมดการตอบสนองต่อเสียงปัจจุบันและโหมดการเต้นแบบไล่ระดับทั่วไป คุณสามารถใช้ปุ่มอื่นเพื่อเปลี่ยนชุดสีของไฟที่เปล่งแสงได้ (ชุดที่ 1 - สีน้ำเงินเป็นสีเหลือง ชุดที่ 2 - สีแดงเป็นสีม่วง เป็นต้น) หรือมากกว่านั้น คุณสามารถมีขั้นตอนได้ 3 ระดับ ซึ่งมีโหมดเพิ่มเติมสำหรับการติดตามขั้นสูงของความเข้มของเสียงตามค่าเฉลี่ย - 'ต่ำ', 'ปกติ', 'สูง' ด้วยวิธีนี้ คุณจะได้ช่วงคลื่นสีที่กว้างขึ้น

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

โดยพื้นฐานแล้ว แนวคิดในที่นี้คือข้อจำกัดนั้นไม่มีที่สิ้นสุด และเป็นสิ่งที่จำกัดโดยวิสัยทัศน์ของคุณเท่านั้น ขอบคุณที่รับชม/อ่าน และขอให้สนุกกับ Arduino ของคุณ!

แนะนำ: