Raspberry Pi Pico โปรเจกต์เสียงที่มือใหม่ทำตามได้

 

Raspberry Pi Pico โปรเจกต์เสียงที่มือใหม่ทำตามได้

ต้องการสร้าง USB Microphone ของตัวเองด้วยราคาประหยัด? Raspberry Pi Pico คือคำตอบที่คุณกำลังหา! ด้วยบอร์ด microcontroller ที่เล็กเบา และราคาถูก เพียงแค่มีไมโครโฟน MEMS PDM เล็ก ๆ เพียงตัวเดียว คุณก็สามารถสร้าง USB Microphone ที่ทำงานได้ดีเสมือนสินค้าในท้องตลาด บทความนี้จะพาคุณเข้าใจเทคโนโลยี และเรียนรู้วิธีสร้างอย่างละเอียด

Raspberry Pi Pico USB Microphone Project

ภาพรวมโปรเจกต์

Raspberry Pi Pico นำเสนอชุดคุณสมบัติที่น่าสนใจสำหรับการอัดเสียง แม้ว่าจะเป็นบอร์ด microcontroller ที่เล็ก และราคาประหยัด แต่มันมี RP2040 ที่มีประสิทธิภาพ สามารถใช้เป็น USB Audio Device ได้โดยตรง ไม่จำเป็นต้องใช้บอร์ดเพิ่มเติมอื่น ๆ

โปรเจกต์นี้เหมาะสำหรับผู้ที่ต้องการ:

  • สร้างไมโครโฟนราคาต่ำสำหรับการบันทึกเสียง
  • เรียนรู้เกี่ยวกับการประมวลผลเสียงดิจิตอล
  • ทำความเข้าใจเทคนิค PDM (Pulse Density Modulation)
  • พัฒนาโปรเจกต์ IoT เกี่ยวกับเสียง

💰 ค่าใช้จ่าย: ประมาณ 200-400 บาท สำหรับอุปกรณ์ทั้งหมด (ไม่รวมเครื่องคอมพิวเตอร์)

USB Microphone คืออะไร

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

ใน Raspberry Pi Pico ที่มี RP2040 สามารถทำหน้าที่เป็น USB Audio Device ได้เอง! กล่าวคือเมื่อเชื่อมต่อกับคอมพิวเตอร์ Pico จะประกาศตัวเองว่า "ฉันคือ Microphone" แล้วคอมพิวเตอร์ก็จะอ่านเสียงจาก Pico ได้ทันที

ขั้นตอนการทำงาน:

ไมโครโฟน MEMS PDM → Pico ประมวลผล → ส่งเป็น USB Audio → คอมพิวเตอร์ (Audacity, Teams, Discord ฯลฯ)

การเลือกไมโครโฟน

ไมโครโฟนที่เหมาะสำหรับโปรเจกต์นี้คือ MEMS PDM Microphone โดยเฉพาะ ไมค์กล้อง INMP441 หรือ MP34DT01TR ซึ่งมีคุณสมบัติ:

  • ขนาดเล็ก (MEMS):

    เป็น Microelectromechanical Systems ทำให้ขนาดเล็กมากและประหยัดพื้นที่

  • ใช้ Protocol PDM:

    เป็นการส่งข้อมูลเสียงรูปแบบหนึ่งที่ต่างจากแบบปกติ (ดูรายละเอียดด้านล่าง)

  • สายไฟน้อย:

    ต้องเพียง 3-4 สายสำหรับสาย CLK, DATA, VDD, GND ขณะที่ไมค์กล้องอื่นอาจต้องสายมากกว่า

  • คุณภาพเสียงดี:

    เหมาะสำหรับบันทึกเสียงสาย ห้องประชุม และการพูดอย่างทั่วไป

คุณสามารถหา MEMS PDM Microphone ได้จากจำหน่ายออนไลน์ราคาประมาณ 50-150 บาท

หลักการ PDM (Pulse Density Modulation)

PDM เป็นวิธีการส่งสัญญาณเสียงรูปแบบหนึ่งที่อาจดูซับซ้อนแต่แนวความคิดพื้นฐานนั้นง่ายมาก

PDM ทำงานอย่างไร?

แทนที่จะส่งค่าตัวเลขที่แน่นอน (เช่น 128, 256, 512) ไมโครโฟน PDM จะส่งสัญญาณเป็นลำดับของ 1 และ 0 เรียกว่า "bits"

ตัวอย่าง: เสียงระดับกลาง → 10101100101... เสียงดังขึ้น → 11101111101... เสียงเบาลง → 00101001010...

Raspberry Pi Pico ได้รับลำดับ bits นี้จากไมโครโฟน แล้วคำนวณความหนาแน่นของ 1 และ 0 เพื่อสร้างค่าเสียงที่แท้จริง เป็นกระบวนการทางคณิตศาสตร์ที่ถูกทำขึ้นอัตโนมัติ

ทำไม PDM? PDM ประหยัดสายไฟและพลังงานมากกว่าแบบอื่น ทำให้เหมาะสำหรับ IoT devices ที่ต้องประหยัดพื้นที่และพลังงาน

Processing Pipeline

เมื่อ Pico รับข้อมูลเสียง PDM มันจะต้องประมวลผลมันให้เป็นรูปแบบ USB Audio ก่อน ที่เรียกว่า PCM (Pulse Code Modulation) ซึ่งเป็นมาตรฐาน

ขั้นตอนการประมวลผล:

1. รับ PDM: Pico ได้รับข้อมูล bits จากไมโครโฟน

2. Decimation: ลดจำนวน bits ให้เหมาะสม

3. Filtering: กรองสัญญาณรบกวนที่ไม่ต้องการ

4. Conversion to PCM: แปลงเป็น PCM 16-bit audio

5. USB Streaming: ส่งออกผ่าน USB Audio Device

โชคดีที่มี Library ชื่อ pico-microphone ที่จัดการขั้นตอนนี้ให้เราแล้ว เราแค่เรียกใช้ Function พื้น ๆ ได้

Hardware Setup

การต่อสายนั้นง่ายมาก เพียงแค่ 4 สายเท่านั้น:

ไมโครโฟน MEMS PDM → Pico

• CLK (Clock) → GPIO 0
• DATA → GPIO 1
• VDD → 3.3V
• GND → GND

เพียงเท่านี้! ไม่จำเป็นต้องสร้าง Breadboard ที่ซับซ้อน Pico จะสอบสัญญาณเสียงจากไมโครโฟนและส่งออกผ่าน USB ได้ทันที

อุปกรณ์ที่ต้องใช้

1. Raspberry Pi Pico

บอร์ดหลัก RM2040 microcontroller

2. MEMS PDM Microphone

INMP441 หรือ MP34DT01TR

3. สายไฟจัมเพอร์

4 เส้นสำหรับต่อ CLK, DATA, VDD, GND

4. Micro USB Cable

สำหรับต่อกับคอมพิวเตอร์

5. คอมพิวเตอร์

Windows, macOS หรือ Linux

6. Audacity (เพื่อทดสอบ)

โปรแกรมบันทึกและตัดต่อเสียง

ราคาประมาณ: 200-400 บาท (ขึ้นอยู่กับที่ซื้อ)

Raspberry Pi Pico พร้อม MEMS Microphone

Raspberry Pico กับคอมพิวเตอร์

การตั้งค่าสภาพแวดล้อมการพัฒนา

ต้องติดตั้งเครื่องมือ Pico SDK สำหรับการเขียน compile โค้ด ตามขั้นตอนนี้:

ขั้นตอนที่ 1: ติดตั้ง Pico SDK

ดาวน์โหลด Pico SDK จากหน้าเว็บ Raspberry Pi ตามระบบปฏิบัติการของคุณ (Windows, macOS, Linux)

ขั้นตอนที่ 2: ติดตั้ง CMake และ GCC

ใช้ Command Line เพื่อติดตั้ง:
Windows: ใช้ Visual Studio Build Tools
macOS: ใช้ Homebrew
Linux: ใช้ apt-get หรือ yum

ขั้นตอนที่ 3: ดาวน์โหลด pico-microphone Library

ใช้ git clone หรือดาวน์โหลดจาก GitHub
URL: github.com/raspberrypi/pico-sdk

ขั้นตอนที่ 4: Compile ตัวอย่างโค้ด

ใช้ Command Line navigate ไปยังโฟลเดอร์ตัวอย่าง และสั่ง:
cmake ..
make

หลังจากสำเร็จ ไฟล์ .uf2 จะถูก Generate ขึ้นมา ไฟล์นี้จะถูก Upload เข้าไปใน Pico

โค้ด Example

ด้านล่างคือตัวอย่างโค้ด C ที่ใช้กับ Pico SDK:

#include <stdio.h>
#include "pico/stdlib.h"
#include "pico/audio_i2s.h"

const uint MICROPHONE_CLK = 0;
const uint MICROPHONE_DATA = 1;

int main() {
    stdio_init_all();
    
    // ตั้งค่า PDM Microphone
    audio_i2s_config_t audio_config = {
        .sample_rate = 16000,  // 16 kHz
        .bit_width = 16,
        .stereo = false,
        .gpio_clk = MICROPHONE_CLK,
        .gpio_data = MICROPHONE_DATA,
    };
    
    audio_i2s_init(&audio_config);
    
    // Allocate buffer
    int16_t buffer[512];
    
    while (1) {
        // อ่านข้อมูลเสียงจากไมโครโฟน
        int samples_read = audio_i2s_read(buffer, 512);
        
        if (samples_read > 0) {
            // ส่งออกผ่าน USB Audio Device
            for (int i = 0; i < samples_read; i++) {
                printf("%d,", buffer[i]);
            }
            printf("\n");
        }
    }
    
    return 0;
}

โค้ดนี้เป็นตัวอย่างพื้นฐาน โปรเจกต์จริงจะมีรายละเอียดมากกว่านี้ เช่น USB Audio Class Implementation

Recording Audio Data

หลังจากที่ Pico ประมวลผลเสียง และส่งออกเป็น USB Audio Device แล้ว คอมพิวเตอร์จะจำได้จดจำว่ามี Microphone ใหม่เชื่อมต่ออยู่

ขณะนี้ คุณสามารถใช้ Pico Microphone ได้กับโปรแกรมใดก็ได้ที่ต้องการใช้ Microphone เช่น:

  • Audacity: โปรแกรมบันทึกและตัดต่อเสียงฟรี
  • Discord/Teams/Zoom: สำหรับวิดีโอคอล
  • OBS Studio: สำหรับ Streaming
  • โปรแกรมอื่น ๆ: ที่ต้องการใช้ Microphone

💡 ทดสอบแรก: เปิด Audacity (ดาวน์โหลดจาก audacityteam.org) และเลือก Pico Microphone จากเมนู Audio Device ทดลองอัดเสียง 10 วินาที

Audacity บันทึกเสียงจาก Pico Microphone

เลือก Pico Microphone ในตั้งค่าเสียง

เคล็ดลับและการแก้ไขปัญหา

❓ ปัญหา: Pico ไม่ถูกจำได้จดจำ

✓ ตรวจสอบ USB Cable ว่าสามารถส่งข้อมูลได้ (บางเส้นเป็นสายชาร์จเท่านั้น)
✓ ลองใช้ Micro USB Cable อื่น

❓ ปัญหา: ไม่ได้ยินเสียงจากไมโครโฟน

✓ ตรวจสอบว่าไมโครโฟน MEMS ต่อถูกต้อง (CLK, DATA, VDD, GND)
✓ ตรวจสอบบนตั้งค่าเสียง ว่า Pico Microphone ถูกเลือกหรือไม่

❓ ปัญหา: เสียงเป็นสัญญาณรบกวน

✓ ตรวจสอบการต่อสายให้ติด หรือใช้สายที่หุ้มโล่
✓ ลดระดับ Gain หรือ Volume ในโปรแกรม

💡 เคล็ดลับ: คุณภาพเสียงดีขึ้น

ใช้ Foam Pop Filter หรือ Foam Cover สำหรับลดเสียงปุ่ด และทำให้เสียงชัดขึ้น

ขั้นตอนถัดไป: พัฒนาต่อไป

หลังจากโปรเจกต์เบื้องต้นสำเร็จแล้ว คุณสามารถพัฒนาต่อได้ด้วยการ:

  • เพิ่มการประมวลผลเสียงจริงเวลา: เพิ่ม Filter เพื่อลดเสียงรบกวน (Noise Cancellation)
  • บันทึกบนบอร์ด: ต่อ SD Card เพื่อบันทึกเสียงโดยตรง
  • ใช้ Stereo Microphone: เพิ่มไมโครโฟน 2 ตัว สำหรับการบันทึกสเตอริโอ
  • Voice Recognition: เพิ่ม TinyML เพื่อรู้จำคำพูด
  • IoT Integration: ส่งข้อมูลเสียงไปยัง Cloud สำหรับประมวลผล

พร้อมที่จะสร้างแล้วหรือ

สั่งซื้ออุปกรณ์ครบชุด หรือสอบถามคำปรึกษาจากทีมผู้เชี่ยวชาญของเรา

อ้างอิงจาก: Hackster.io - Create a USB Microphone with the Raspberry Pi Pico โดย Sandeep Mistry

Globalbyteshop Blog | เนื้อหาปรับปรุงและเรียบเรียงใหม่เพื่อผู้อ่านชาวไทย

แท็ก


Blog posts

© 2026 บริษัท โกลบอลโทรนิค อินเตอร์เทรด จํากัด, ขับเคลื่อนโดย Shopify

    • PayPal

    เข้าสู่ระบบ

    ลืมรหัสผ่านใช่ไหม?

    ยังไม่มีบัญชีใช่ไหม?
    สร้างบัญชี