สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
โครงงานนี้เกี่ยวกับการสร้างลำโพง WI-FI ฉันมีลำโพงคอมพิวเตอร์เก่าเสียและ Raspberry Pi 1B ที่ไม่ได้ใช้ แนวคิดพื้นฐานของฉันคือเพียงแค่ใส่ pi ลงในลำโพงตัวเก่าเพื่อวนรอบ นำของเก่ามาใช้ใหม่โดยไม่สร้างขยะใหม่ ปรากฎว่าแอมพลิฟายเออร์ของลำโพงใช้งานไม่ได้อีกต่อไป และฉันตัดสินใจสร้างแอมพลิฟายเออร์เสียงอย่างง่าย สุดท้ายนี้ ฉันต้องการใช้บริการเชื่อมต่อ Spotify เพื่อเล่นเพลง
เสบียง
ขั้นตอนที่ 1: สิ่งที่ใช้สำหรับโครงการ
ในการตั้งค่าลำโพง WI-FI ฉันใช้อุปกรณ์ดังต่อไปนี้
- Raspberry Pi อย่างน้อยรุ่น 1 B (~15€)
- กล่องลำโพงคอมรุ่นเก่า
- การเชื่อมต่อเสียง 3.5 มม. จากหูฟังรุ่นเก่า
- ตัวแปลง DC-DC (0.39 €)
- การ์ดเสียง USB (10€)
- ดองเกิล USB WI-FI (9 ยูโร)
- Cabels
- นำ
สำหรับบอร์ดเครื่องขยายเสียง ฉันตัดสินใจใช้ LM386N-4 IC นี้เป็นแอมพลิฟายเออร์ธรรมดาที่ให้ผลลัพธ์ที่ดีสำหรับแอปพลิเคชันด้านเสียง
- LM386N-4 (0.81€)
- ตัวต้านทาน: 5Ω, 2x 1kΩ และ 200Ω
- ตัวเก็บประจุ: 4700µF, 1000µF, 100µF และ 100nF
- แผงวงจร
คิดเป็นเงินประมาณ 36 ยูโร เนื่องจากฉันมีของส่วนใหญ่อยู่แล้ว ฉันจึงต้องซื้อตัวแปลง DC-DC การ์ดเสียง USB และ LM386N
ขั้นตอนที่ 2: สร้างวงจรเครื่องขยายเสียง
หัวใจของแอมพลิฟายเออร์คือ LM386N-4 LM386N-Family เป็น IC แอมพลิฟายเออร์ยอดนิยมที่ใช้กับอุปกรณ์ดนตรีแบบพกพาจำนวนมาก เช่น เครื่องเล่น CD, Bluetooth-Boxes เป็นต้น มีบทช่วยสอนมากมายที่อธิบายแอมพลิฟายเออร์นี้: https://www.instructables.com /howto/LM386/
วงจรสำหรับโครงการนี้ได้รับแรงบันดาลใจจากบทช่วยสอน YouTube นี้เป็นหลัก: https://www.youtube.com/embed/4ObzEft2R_g และเพื่อนที่ดีของฉันที่ช่วยฉันได้มาก ฉันเลือก LM386N-4 เพราะมันมีกำลังมากกว่ารุ่นอื่นๆ และฉันตัดสินใจขับบอร์ดด้วย 12V
ขั้นตอนแรกในการสร้างบอร์ดคือการทดสอบวงจรบนเขียงหั่นขนม วิธีแรกของฉันมีสิ่งรบกวนและเสียงรบกวนมากมาย ในที่สุด ฉันก็ได้รายการประเด็นต่อไปนี้ที่ช่วยปรับปรุงคุณภาพเสียงอย่างมาก
- หลีกเลี่ยงสายยาวและข้าม ฉันจัดองค์ประกอบใหม่และลดสายเคเบิล
- กล่องลำโพงของโปรเจ็กต์ของฉันคือซับวูฟเฟอร์ ดังนั้นลำโพงจึงควรเล่นความถี่ต่ำ ฉันรวมลำโพงตัวที่สองสำหรับความถี่สูงที่ทำให้เสียงสมบูรณ์แบบ
- ใช้การ์ดเสียง USB ราสเบอร์รี่ pi เป็นคุณภาพเสียงที่แย่มาก เนื่องจากตัวแปลงดิจิทัลแอนะล็อกในตัวไม่ได้ออกแบบมาสำหรับแอปพลิเคชันเสียงไฮไฟ
- เชื่อมต่อพิน 2 กับกราวด์ของสัญญาณเสียง กราวด์ของ 12V และกราวด์ของบอร์ดเสียง USB นั้นแตกต่างกันไปตามเสียงรบกวน LM386N ขยายความแตกต่างของพิน 2 และพิน 3 ดังนั้นจึงขยายสัญญาณรบกวนด้วย ฉันตัดสินใจที่จะไม่เชื่อมต่อพิน 2 กับกราวด์ แต่เพียงแค่กับกราวด์เสียง USB และในที่สุดเสียงก็หายไป
ขั้นตอนที่ 3: รวมลำโพงสำหรับความถี่สูง
กล่องลำโพงที่ฉันต้องการแฮ็คเดิมคือซับวูฟเฟอร์ เพราะบ่อยครั้งที่ลำโพงนั้นแย่มากสำหรับความถี่สูง เพื่อแก้ปัญหาที่ฉันเพิ่มลำโพงตัวที่สองจากกล่องลำโพง Bluetooth ที่ชำรุด การรวมลำโพงสองตัวเข้าด้วยกันแบบขนานทำให้ได้เสียงที่ดีทั้งความถี่สูงและต่ำ
ขั้นตอนที่ 4: เชื่อมต่อส่วนประกอบทั้งหมด
ฉันตัดสินใจเพิ่มกำลังให้กับแอมพลิฟายเออร์ 12 โวลต์ กล่องมีสวิตช์ไฟอยู่แล้วฉันจึงนำกลับมาใช้ใหม่ Raspberry Pi ต้องการ 5 โวลต์และ 700-1000mA และฉันเชื่อมต่อแท่ง USB WI-FI และการ์ดเสียง USB ความท้าทายในตอนนี้คือการลดลงเหลือ 5v จาก 12v ความพยายามครั้งแรกของฉันคือการใช้ L7805 ซึ่งเป็นตัวควบคุม 5v นี่คือคำอธิบายที่ดีมากของ Regulator: https://www.instructables.com/id/5v-Regulator/ อย่างไรก็ตาม ประสิทธิภาพของตัวควบคุมเชิงเส้นนั้นแย่มาก ควบคุมการเผาไหม้ 12v ลงเหลือ 5v (12v – 5v) * 1000mA = 7 วัตต์ในองค์ประกอบเดียว นั่นจะเป็นการสิ้นเปลืองพลังงานมหาศาล
สุดท้าย ฉันตัดสินใจใช้ตัวแปลง DC-DC ใน DaoRier LM2596 LM2596S ฉันปรับบอร์ดเพื่อสร้าง 5v ตัวแปลงทำงานได้ดีและฉันไม่รู้จักการสร้างความร้อนใด ๆ บนบอร์ดนั้น
ไฟ LED แสดงสถานะควรระบุสถานะของ Raspberry Pi กล่องลำโพงมีไฟ LED อยู่แล้ว ดังนั้นฉันจึงนำกล่องนั้นกลับมาใช้ใหม่ LED ต้องการ 1.7v และ 20mA ดังนั้นตัวต้านทานต้องเผา 3.3-1.7v ที่ 20mA:
R = U / I = (3.3v - 1.7v) / 20mA = 80Ω
ฉันเชื่อมต่อ LED กับ Raspberry Pi GPIO กราวด์ถึงพิน 9 และการจ่ายบวกให้กับพิน 11 (GPIO 17) สิ่งนี้ทำให้ Pi สามารถระบุสถานะ (กำลัง, WI-FI, กำลังเล่น) ด้วยโหมดการกะพริบที่แตกต่างกัน
ขั้นตอนที่ 5: ตั้งค่า Raspberry Pi
Raspbian Buster Lite OS นั้นเพียงพอแล้วโดยสิ้นเชิง ฉันเชื่อมต่อ Pi กับจอภาพและแป้นพิมพ์เพื่อกำหนดค่า คำสั่ง raspi-config ช่วยให้คุณกำหนดค่าข้อมูลรับรอง WI-FI ได้อย่างง่ายดาย
สคริปต์เริ่มต้นอย่างง่ายควรเล่นเสียงเริ่มต้น สคริปต์หลามควรตรวจสอบการเชื่อมต่ออินเทอร์เน็ต หาก Pi เข้าถึงอินเทอร์เน็ตได้ ไฟ LED แสดงสถานะควรติด ไม่เช่นนั้นไฟ LED จะกะพริบ ดังนั้นฉันจึงสร้างสคริปต์ทุบตีใน init.d
sudo nano /etc/init.d/troubadix.sh
โดยมีเนื้อหาดังนี้
#!/bin/bash
### BEGIN INIT INFO # ให้: starsound # Required-Start: $local_fs $network $remote_fs # Required-Stop: $local_fs $network $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # คำอธิบายสั้น: เล่นเสียงเริ่มต้น # คำอธิบาย: เล่นเสียงเริ่มต้น ### END INIT INFO # เริ่มการเข้าถึงอินเทอร์เน็ต watchdog python /home/pi/access_status.py เล่นเสียงเริ่มต้น mpg123 /home/pi/startup.mp3 &> / home/pi/mpg123.log
ทำให้สคริปต์ปฏิบัติการได้
sudo chmod +x /etc/init.d/troubadix.sh
ในการรันสคริปต์เมื่อเริ่มต้น ฉันลงทะเบียนสคริปต์คำสั่งต่อไปนี้
sudo update-rc.d troubadix.sh defaults
วาง watchdog python ที่แนบมาในโฮมไดเร็กทอรี /home/pi/access_status.py python-script ต้องวนซ้ำ ลูปแรกตรวจสอบการเชื่อมต่ออินเทอร์เน็ตโดยส่งคำสั่ง ping www.google.com ทุกๆ 2 วินาที ลูปที่สองทำให้ GPIO Pin 17 กะพริบ ขึ้นอยู่กับสถานะอินเทอร์เน็ตปัจจุบัน
การติดตั้งบริการเชื่อมต่อ Spotify นั้นง่ายมาก นี่คือที่เก็บที่โฮสต์สคริปต์การติดตั้ง: https://github.com/dtcooper/raspotify ดังนั้นสุดท้ายการติดตั้งจึงเป็นเพียงคำสั่งเดียว
curl -sL https://dtcooper.github.io/raspotify/install.sh | NS
ขั้นตอนที่ 6: บทสรุป
ในระหว่างโครงการฉันได้เรียนรู้มากมาย การใช้เครื่องปรับลม 5v แทนตัวแปลง DC-DC ในเครื่องต้นแบบรุ่นแรกๆ เป็นความคิดที่ไม่ดี แต่ความผิดพลาดนั้นทำให้ฉันนึกถึงสิ่งที่หน่วยงานกำกับดูแลทำจริงๆ การปรับปรุงคุณภาพเสียงก็เป็นกระบวนการเรียนรู้ที่ยิ่งใหญ่เช่นกัน มีเหตุผลว่าทำไมการขยายเสียงระดับมืออาชีพจึงเหมือนกับวิทยาศาสตร์จรวด:-)