หน้าแรก ดูโปรเจกต์ทั้งหมด
Easy

โปรเจกต์ Audio Blink

บทเรียนนี้มีวัตถุประสงค์เพื่อแสดงวิธีการทำ Audio Blink

โปรเจกต์ Audio Blink

รายการอุปกรณ์และเครื่องมือ

1x General Purpose Dual Op-Amp
-
1x Resistor 10k ohm
-
1x Resistor 1M ohm
-
1x Breadboard (generic)
🛒 สั่งซื้อ
1x MSGEQ7
-
1x Resistor 100k ohm
-
1x WS2812B Addressable LED with Heat Sink
🛒 สั่งซื้อ
1x Capacitor 100 nF
-
1x Capacitor 1 µF
-
}

รายละเอียดและวิธีทำ

1. Schematic

จาก Schematic จะเห็นว่ามีบล็อกหลัก 2 ส่วน คือ Audio Block และ LEDs Block

Audio Block ประกอบด้วย Operational Amplifier (LM358) ที่ใช้ในการขยายสัญญาณด้วยอัตราขยาย A = 1M/100k = 10 โดยรับสัญญาณมาจาก Microphone และ MSGEQ7 โดยที่ MSGEQ7 จะทำการสุ่มตัวอย่างสัญญาณ Output จาก Amplifier และส่งค่า Analog ที่เป็นสัดส่วนตามความเข้มของแต่ละย่านความถี่ไปยัง Input A0 ของ Arduino

LEDs ถูกเชื่อมต่อกันแบบ Series โดย DOUT ของ LED ตัวก่อนหน้าจะเชื่อมต่อกับ DIN ของตัวถัดไป ส่วน 5V และ GND ทั้งหมดจะเชื่อมต่อกันแบบ Parallel โดย LEDs จะถูกขับสัญญาณจาก Pin 3 ของ Arduino โดยใช้ Adafruit Neo Pixel Libary.

2. How it works

ในตัวอย่างนี้จะใช้เพียง 2 ค่าจากทั้งหมด 7 ค่าที่ได้รับจาก MSGEQ7 โดยเฉพาะค่าที่ตรงกับย่านความถี่ 400Hz และ 1 kHz โดยอ้างอิงจากค่า analogRead() ของทั้งสองค่านี้ LEDs จะกะพริบสว่างมากหรือน้อย และเปลี่ยนสีจากน้ำเงินไปเป็นแดง (น้ำเงิน + แดง = ม่วง)! ซึ่งให้เอฟเฟกต์ที่สวยงามมาก!

3. Code

อันดับแรกเราจำเป็นต้องอ่านค่า Analog ที่ส่งออกมาจาก MSGEQ7 ซึ่งสามารถทำได้โดยใช้ Function readMSGEQ7() ที่จะสร้างสัญญาณ Step และอ่านค่า Analog ที่เกี่ยวข้องตาม Datasheet ของอุปกรณ์

หลังจากนั้น เราสามารถนำค่าที่ได้มาปรับเปลี่ยนสีของ LEDs ได้ง่ายๆ โดยใช้ Function colorWipe!

4. Mounting

คุณสามารถสร้างโปรเจกต์นี้บน Breadboard หรือบน Perfboard (เหมือนที่เราทำ) แล้วนำไปใส่ไว้ในกล่องที่ดูเท่มากๆ ได้เลย!

5. Box

เราตัดสินใจสร้างกล่องไม้สำหรับโปรเจกต์นี้ ซึ่งคุณสามารถหาไฟล์ได้ในไฟล์แนบของบทเรียน แล้วนำไปตัดด้วย Laser-cut ได้เลย!

Code

🔒 ปลดล็อก Code

สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้

รหัสอ้างอิงโปรเจกต์: audio-blink-71d02c
2450 บาท
PromptPay QR Code