สารบัญ:
- ขั้นตอนที่ 1: สร้างแผนผัง
- ขั้นตอนที่ 2: รหัส
- ขั้นตอนที่ 3: ตั้งค่าเสียงบน PC
- ขั้นตอนที่ 4: บันทึกย่อ
วีดีโอ: RGB Backlight + Audio Visualizer: 4 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
ยินดีต้อนรับสู่คำแนะนำของฉันเกี่ยวกับวิธีสร้างไฟแบ็คไลท์ RGB LED สำหรับเช่น ด้านหลังทีวีหรือโต๊ะทำงานของคุณ
Schematic นั้นง่ายมากเนื่องจากแถบ LED WS2812 นั้นง่ายต่อการเชื่อมต่อกับ Arduino Nano
หมายเหตุ: คุณไม่จำเป็นต้องใช้วงจร MSGEQ7 Audio Analyzer เพิ่มเติม หากคุณต้องการเพียง LED Backlight ที่ไม่มีการแสดงภาพเสียง
ฉันได้ให้รายละเอียดรายการอะไหล่ที่ใช้แล้วและหาซื้อได้ที่ไหน:
- Arduino นาโน/อูโน่ (Amazon / AliExpress)
- WS2812 RGB LED Strip (Amazon/ AliExpress) โปรดทราบว่า IP ย่อมาจากการป้องกัน (เช่น กันน้ำได้หากต้องการ) และตัวเลขหมายถึงจำนวน LEDs ต่อเมตรที่แถบมี (สำคัญสำหรับแหล่งจ่ายไฟ)
- แหล่งจ่ายไฟ 5V (Amazon) (ขึ้นอยู่กับจำนวนแถบ LED ที่มี) -> แต่ละ LED ใช้เวลา ~ 20mA แถบที่ใช้ในคำแนะนำนี้มี 45 LEDs (30 ต่อเมตร) ดังนั้นฉันต้องการ 45*20mA ~ 1, 5Ampere supply (Arduino, MSGEQ7 ก็ต้องการเช่นกัน) ฉันเชื่อมโยงแหล่งจ่ายไฟที่ให้ 3A ซึ่งเพียงพอสำหรับเราในตอนนี้
- แจ็คเสียง 3.5 มม. (Amazon / AliExpress)
- โพเทนชิออมิเตอร์ 10kOhm (Amazon / AliExpress)
- ปุ่มกด (Amazon / AliExpress)
- ตัวต้านทาน (1x 10kOhm, 1x 220Ohm สำหรับ MSGEQ7: 2x100kOhm)
- ตัวเก็บประจุ (1x 1000yF Electrolytic (Amazon / AliExpress), 2x 10nF สำหรับ MSGEQ7: 2x 0.1yF, 1x33pF (Amazon / AliExpress)
- ไดโอดแบบง่าย (Amazon / AliExpress)
- แจ็ค DC (Amazon / AliExpress)
ขั้นตอนที่ 1: สร้างแผนผัง
แผนผังหลัก:
ดังนั้นการเชื่อมต่อกับ WS2812 Strip กับ Arduino นั้นค่อนข้างตรงไปตรงมาโดยใช้ไลบรารี Adafruit_NeoPixel
แถบ LED มี 3 พิน: VCC, DATA, GND VCC เชื่อมต่อกับ 5V, GND กับ Ground และ DATA Pin ตรงกลางเชื่อมต่อกับ LED_DATA Pin D6 บน Arduino ตอนนี้ LED ทุกตัวบน Strip มีชิป WS2812 ซึ่งรับข้อมูลที่ได้รับจาก Arduino และส่งผ่านไปยัง LED ถัดไป ดังนั้นเราจึงจำเป็นต้องป้อนข้อมูล Led เพียงครั้งเดียวไปยัง LED ตัวแรกบนแถบ
ตรรกะของปุ่มกดเพื่อเปลี่ยนโหมดและโพเทนชิออมิเตอร์เพื่อควบคุมความสว่างจะอธิบายในขั้นตอนต่อไป
Schematic ที่แน่นอนสามารถพบได้ในสกรีนช็อตของไฟล์ fritzing ซึ่งมีให้ดาวน์โหลดเช่นกัน
โปรดทราบว่าการเชื่อมต่อ Arduino 5V Pin กับ Power Supply ผ่านไดโอดเป็นสิ่งสำคัญมาก เพื่อไม่ให้ Arduino เสียหายหากเราเสียบสาย USB เพื่อตั้งโปรแกรม 10nF และ 1000uF มีไว้เพื่อเหตุผลด้านความปลอดภัย เพื่อไม่ให้เกิดปัญหาการขาดแคลนพลังงาน
สำหรับวงจร MSGEQ7:
นี่คือวงจรที่ใช้กันทั่วไปในการเชื่อมต่อ MSGEQ7 กับ Arduino นี่คือจุดที่คุณต้องการแจ็คเสียง 3.5 มม. พินตรงกลางของแจ็คออดิโอส่วนใหญ่คือ GND พินทางด้านซ้าย/ขวาคือแชนเนลสเตอริโอที่เชื่อมต่อผ่านตัวเก็บประจุ 10nF กับ Signal In Pin ของ MSGEQ7 ตามที่แสดงในแผนผัง คุณสามารถเพิ่มโพเทนชิออมิเตอร์เพิ่มเติมให้กับ Signal In Pin เพื่อควบคุมความไวของสัญญาณเสียงได้ แต่ไม่จำเป็นจริงๆ MSGEQ7 เชื่อมต่อกับ Arduino ด้วยขา Analog Out ที่เชื่อมต่อกับ A1 (MSGEQ_OUT), Strobe Pin to D2 (STROBE), รีเซ็ต Pin เป็น D5 (RESET)
ขั้นตอนที่ 2: รหัส
ลิงก์ GitHub เพื่อเสร็จสิ้น Sketch:PhilKes/RGB_Audio_Backlight
หมายเหตุเกี่ยวกับรหัส:
ในรหัส เราประกาศวัตถุ WS2812 Strip ด้วยวัตถุ Adafruit_NeoPixel ใหม่ โดยส่งผ่านจำนวน Leds (เปลี่ยน NUM_LEDS สำหรับการตั้งค่าของคุณ) ขา Arduino ที่เชื่อมต่อกับพิน LED_DATA และประเภทการเข้ารหัส + ความเร็วของการส่งค่าสี
เมื่อเสร็จแล้วเราจะตั้งค่าความสว่างเริ่มต้นใน setup() ผ่าน setBrightness(0-255) และเปิด Strip ด้วย start() ตอนนี้เราสามารถตั้งค่า Pixel/LED แต่ละรายการให้เป็นสี RGB เฉพาะด้วย setPixel(LED, Color) เมื่อเราตั้งค่า LED ทั้งหมดเป็นค่าใหม่เสร็จแล้ว เราจะอัปเดตแถบด้วย strip.show() นั่นคือตรรกะของรหัสทั้งหมดที่เราจำเป็นต้องตั้งโปรแกรมแอนิเมชั่นที่เราต้องการ ตอนนี้เพื่อควบคุมแอนิเมชั่น/โหมดจริง ๆ เราจึงเพิ่มสวิตช์ปุ่มกด / แทคไทล์ไปยัง Arduino ดังนั้นเราจึงเชื่อมต่อปลายด้านหนึ่งของปุ่มกับ VCC และอีกด้านหนึ่งกับ Arduino Pin D3 และตัวต้านทาน 10kOhm กับ GND เราแนบการขัดจังหวะกับพินนี้ในการตั้งค่า () ซึ่งจะเรียกใช้เมธอด changeMode() ทุกครั้งที่เรากดปุ่ม ใน changeMode() เราสลับไปยังโหมดถัดไปอย่างง่าย และบอกให้แอนิเมชั่นปัจจุบันหยุดทำงาน เมื่อสิ่งนั้นเกิดขึ้น loop() จะถูกดำเนินการใหม่และจะเล่น Animation/Mode ใหม่
แอนิเมชั่นที่มีให้ ได้แก่: สีรุ้งจาง, แดง, เขียว, น้ำเงิน, ขาว, โหมดวิเคราะห์เพลง
นอกจากนี้ ฉันได้เพิ่มโพเทนชิโอมิเตอร์ 10kOhm เพื่อควบคุมความสว่างของสตริป วิธีการ checkBrightness() ตรวจสอบเอาต์พุตของโพเทนชิออมิเตอร์ที่เชื่อมต่อกับพิน A2 (พินกลางของโพเทนชิออมิเตอร์) และอัปเดตความสว่างของสตริปตามลำดับ
สำหรับโหมด musicAnalyzer() ผ่าน MSGEQ7:
โหมดนี้แสดงภาพสัญญาณเสียงที่เชื่อมต่อกับสัญญาณเข้าของ MSGEQ7 MSGEQ ส่งสัญญาณอะนาล็อกที่แสดงแถบเสียงเดียว (8 แบนด์จากความถี่ต่ำไปสูง) เมธอด musicAnalyzer() รับค่าปัจจุบันของย่านความถี่เสียงโดยรีเซ็ต MSGEQ จากนั้นจึงบัฟเฟอร์ค่าแอนะล็อกที่ให้มา แถบที่ส่งออกสามารถเปลี่ยนแปลงได้โดยการวางปีกสูงบน Strobe Pin หลังจากที่บัฟเฟอร์ทั้ง 8 แบนด์แล้ว วิธีการจะเปลี่ยนค่าพิกเซล LED ทั้งหมดหนึ่งค่าไปข้างหลังและคำนวณค่าใหม่สำหรับ LED 0 สีประกอบด้วย ความถี่ต่ำ (เบส) สีแดง สีความถี่กลาง สีเขียว และสีน้ำเงินความถี่สูง การเปลี่ยนค่าก่อนที่จะโหลดค่าใหม่จะทำให้แอนิเมชั่นหมดเวลาได้อย่างราบรื่น
ขั้นตอนที่ 3: ตั้งค่าเสียงบน PC
ในการรับเพลง/เสียงของคุณเข้าสู่ MSGEQ7 แต่ยังคงเล่นเพลงของคุณบนลำโพงของคุณ คุณต้องใช้คุณสมบัติ RealtekHD Stereomix หรือเชื่อมต่ออินพุตเสียง MSGEQ กับเช่น เอาต์พุตลำโพงด้านหลังของการ์ดเสียง/เมนบอร์ดของคุณ
ในการเปิดใช้งาน Stereomix ใน Win10 ให้คลิกขวาที่ไอคอนลำโพงที่ด้านล่างขวาและคลิก "เสียง" ที่นี่คุณสามารถเปิดใช้งาน Stereomix ในแท็บ "การบันทึก" (คลิกขวา -> เปิดใช้งาน) หากมองไม่เห็น Stereomix ให้คลิกขวาเลือก "แสดงอุปกรณ์ที่ปิดใช้งาน" ตอนนี้เปิดการตั้งค่าสำหรับ Stereomix แล้วบอกให้ฟังและคัดลอกเสียงของลำโพงหลักของคุณ
หากคุณต้องการใช้เอาต์พุตของลำโพงด้านหลัง ให้เปิดการตั้งค่าของลำโพงหลักของคุณในเมนู "เสียง" แท็บ "การปรับปรุง" จากนั้นเลือก "สภาพแวดล้อม" จากรายการและเลือก "ห้อง" ในเมนูแบบเลื่อนลงด้านล่าง
ตอนนี้เปิดใช้งานเอาต์พุตเสียงแบบขนานของลำโพงและ MSGEQ7 ของคุณ
ขั้นตอนที่ 4: บันทึกย่อ
เนื่องจากแผนผังไม่ซับซ้อนและมีขนาดไม่ใหญ่นัก ฉันจึงสามารถใส่วงจรทั้งหมดลงในกล่องเล็กๆ ที่มีรูสำหรับขั้วต่อ USB, แจ็คเสียง, แจ็ค DC, โพเทนชิออมิเตอร์ และปุ่มกด คุณสามารถใช้ส่วนหัวของหมุดตัวผู้/ตัวเมีย และเชื่อมต่อสายเคเบิล 3 เส้นเข้ากับ WS2812 Strip ผ่านสายจัมเปอร์
แนะนำ:
Retro A/V to Auxiliary Audio Cable: 8 ขั้นตอน (พร้อมรูปภาพ)
สายสัญญาณเสียง A/V แบบย้อนยุคไปยัง Auxiliary Audio: ฉันได้สร้างสายนี้ขึ้นเพื่อใช้กับฟังก์ชันเฉพาะ - เพื่อเชื่อมต่อเครื่องเล่น MP3 กับวิทยุในรถยนต์ที่มาพร้อมกับพอร์ต A/V แทนที่จะเป็นพอร์ตเสียงเสริม กระบวนการนี้เกือบจะเหมือนกับสายแพตช์สเตอริโอ Retro ของฉัน ความแตกต่างเพียงอย่างเดียวคือ
Cat Audio แผ่นดัน W/ Makey Makey: 8 ขั้นตอน (พร้อมรูปภาพ)
Cat Audio Pressure Plate W/ Makey Makey: แมวสามารถเป็นที่น่ารำคาญ แต่นั่นไม่ได้ทำให้พวกเขาน่ารักน้อยลง พวกเขาเป็นชีวิตของเรา คลอเคลีย มีม มาเริ่มกันที่ปัญหาและดูวิธีแก้ปัญหากัน ชมวิดีโอด้านล่าง
Audio Cassette Loop: 13 ขั้นตอน (พร้อมรูปภาพ)
Audio Cassette Loop: ตามทฤษฎีแล้วมันฟังดูง่ายมาก คุณสามารถทำเทปพันรอบได้โดยการพันเทปที่ปลายริบบิ้นแม่เหล็กชิ้นสั้นๆ เข้าด้วยกัน แล้วติดกลับเข้าไปในเทปคาสเซ็ตต์ อย่างไรก็ตาม หากคุณเคยลองทำสิ่งนี้จริง ๆ คุณจะรู้ว่าฉัน
Retro LED Strip Audio Visualizer: 4 ขั้นตอน (พร้อมรูปภาพ)
Retro LED Strip Audio Visualizer: ในฐานะนักดนตรีและนักศึกษาวิศวกรรมไฟฟ้า ฉันชอบโครงงานใดๆ ที่ตัดกับสองสาขานี้ ฉันเคยเห็นเครื่องสร้างภาพเสียงแบบ DIY (ที่นี่ ที่นี่ ที่นี่ และที่นี่) แต่แต่ละคนพลาดเป้าหมายอย่างน้อยหนึ่งจากสองเป้าหมายที่ฉันตั้งไว้สำหรับตัวเอง: a p
7 Band Led Audio Visualizer: 4 ขั้นตอน (พร้อมรูปภาพ)
7 Band Led Audio Visualizer: นี่เป็นโปรเจ็กต์ที่ใช้สัญญาณอนาล็อกอย่างต่อเนื่องซึ่งมักจะเป็นเพลงและใช้เพื่อจุดไฟ visualizer นำ 7 แบนด์ ใช้ชิป MSGEQ7 เพื่อวิเคราะห์สัญญาณเพลงเพื่อรับขนาดความถี่และจับคู่กับแถบไฟ LED แถบไฟ LED