Inhoudsopgave:

WI-FI-luidspreker van Raspberry Pi - Ajarnpa
WI-FI-luidspreker van Raspberry Pi - Ajarnpa

Video: WI-FI-luidspreker van Raspberry Pi - Ajarnpa

Video: WI-FI-luidspreker van Raspberry Pi - Ajarnpa
Video: Home Assistant. Дополнение к уроку 1.1 - настройка работы wi-fi на Raspberry PI 3B+ или 4B 2024, November
Anonim
WI-FI-luidspreker van Raspberry Pi
WI-FI-luidspreker van Raspberry Pi

Dit project gaat over het maken van een WI-FI-luidspreker. Ik had een oude kapotte computerluidspreker en een ongebruikte Raspberry Pi 1B. Mijn basisidee was om de pi eenvoudig in de oude luidspreker te plaatsen om hem te upcyclen. Hergebruik oude spullen zonder nieuw afval te creëren. De speakerversterker bleek het niet meer te doen en ik besloot een simpele audioversterker te maken. Ten slotte wilde ik een Spotify Connect-service gebruiken om muziek af te spelen.

Benodigdheden

Stap 1: Dingen die voor het project worden gebruikt

Dingen die voor het project zijn gebruikt
Dingen die voor het project zijn gebruikt

Om de WI-FI-luidspreker in te stellen, heb ik de volgende benodigdheden gebruikt:

  • Raspberry Pi minimaal model 1 B (~15€)
  • Oude computer luidsprekerbox
  • 3,5 mm audio-aansluiting van oude hoofdtelefoon
  • DC-DC-converter (0.39€)
  • USB-geluidskaart (10€)
  • USB WI-FI dongle (9€)
  • Kabels
  • LED

Voor het versterkerbord heb ik besloten om de LM386N-4 te gebruiken. Dit IC is een eenvoudige versterker met goede resultaten voor audiotoepassingen.

  • LM386N-4 (0.81€)
  • Weerstanden: 5Ω, 2x 1kΩ en 200Ω
  • Condensatoren: 4700µF, 1000µF, 100µF en 100nF
  • Printplaat

Dat komt neer op ongeveer 36€. Omdat ik de meeste spullen al had, moest ik alleen de DC-DC-converter, de USB-geluidskaart en de LM386N kopen.

Stap 2: Maak het versterkercircuit

Maak het versterkercircuit
Maak het versterkercircuit
Maak het versterkercircuit
Maak het versterkercircuit
Maak het versterkercircuit
Maak het versterkercircuit

Het hart van de versterker is de LM386N-4. De LM386N-familie is een populaire versterker-IC die wordt gebruikt voor veel draagbare muziekapparaten zoals cd-spelers, Bluetooth-boxen, enz. Er zijn al veel tutorials die deze versterker beschrijven: https://www.instructables.com /howto/LM386/

Het circuit voor dit project is voornamelijk geïnspireerd door deze YouTube-tutorial: https://www.youtube.com/embed/4ObzEft2R_g en een goede vriend van mij die me veel heeft geholpen. Ik koos voor de LM386N-4 omdat deze meer vermogen heeft dan de andere en ik besloot het bord met 12V aan te sturen.

De eerste stap om het bord te maken, is het circuit op een breadboard te testen. Mijn eerste benadering had veel interferenties en geluiden. Ten slotte kwam ik met de volgende lijst met punten die de geluidskwaliteit dramatisch verbeterden.

  • Vermijd lange en kruisende draden. Ik heb de componenten opnieuw uitgelijnd en de kabel verminderd.
  • De luidsprekerbox van mijn project was een subwoofer, dus de luidspreker moest lage frequenties spelen. Voor de hoge frequenties heb ik een tweede speaker geïntegreerd die het geluid compleet maakt tot een mooi resultaat.
  • Gebruik een USB-geluidskaart. De raspberry pi heeft een zeer slechte geluidskwaliteit, omdat de ingebouwde digitaal-analoogomzetter niet is ontworpen voor HIFI-audiotoepassingen.
  • Sluit pin 2 alleen aan op aarde van het audiosignaal. De massa van de 12V en de massa van het USB audioboard verschilt met wat ruis. De LM386N versterkt het verschil tussen Pin 2 en Pin 3 en daardoor werd ook de ruis versterkt. Ik besloot Pin 2 niet met massa te verbinden, maar gewoon met de USB-audio-aarde en uiteindelijk verdween de ruis.

Stap 3: Integreer luidspreker voor hoge frequenties

Geïntegreerde luidspreker voor hoge frequenties
Geïntegreerde luidspreker voor hoge frequenties
Geïntegreerde luidspreker voor hoge frequenties
Geïntegreerde luidspreker voor hoge frequenties

De luidsprekerbox die ik wilde hacken was oorspronkelijk een subwoofer. Daardoor was de speaker erg slecht voor hoge frequenties. Om dat op te lossen heb ik een tweede luidspreker toegevoegd uit een kapotte Bluetooth-luidsprekerbox. Het parallel combineren van de twee luidsprekers resulteert in een goed geluid voor zowel hoge als lage frequenties.

Stap 4: Sluit alle componenten aan

Sluit alle componenten aan
Sluit alle componenten aan
Sluit alle componenten aan
Sluit alle componenten aan
Sluit alle componenten aan
Sluit alle componenten aan

Ik besloot de versterker te voeden met 12 Volt. De doos had al een aan / uit-schakelaar, dus ik heb hem opnieuw gebruikt. De Raspberry Pi zelf heeft 5 Volt en 700-1000mA nodig en ik sluit een USB WI-FI stick en een USB geluidskaart aan. De uitdaging was nu om naar 5v uit 12v te komen. Mijn eerste poging was om de L7805 te gebruiken, dat is een 5v-regelaar. Hier is een zeer goede beschrijving van de Regulator: https://www.instructables.com/id/5v-Regulator/. De prestaties van lineaire regelaars zijn echter zeer slecht. Regelen van 12v naar 5v brandt (12v – 5v) * 1000mA = 7 Watt in slechts één component. Dat zou een enorme verspilling van energie zijn.

Uiteindelijk besloot ik een DC-DC-converter te gebruiken. Op de DaoRier LM2596 LM2596S heb ik het bord aangepast om 5v te creëren. De converter doet geweldig werk en ik herkende geen warmteontwikkeling op dat bord.

Een status-LED moet de status van de Raspberry Pi aangeven. De speakerbox had al een led, dus die heb ik hergebruikt. De LED heeft 1.7v en 20mA nodig. Dus een weerstand moet 3,3-1,7v branden bij 20mA:

R = U / I = (3.3v - 1.7v) / 20mA = 80Ω

Ik heb de LED aangesloten op de Raspberry Pi GPIO's. Massa naar Pin 9 en de positieve voeding naar Pin 11 (GPIO 17). Hierdoor kan de Pi de status (Power, WI-FI, Playing) aangeven door middel van verschillende knipperstanden.

Stap 5: Stel de Raspberry Pi in

Het Raspbian Buster Lite-besturingssysteem is volledig voldoende. Ik heb de Pi aangesloten op een monitor en toetsenbord om hem te configureren. Met de opdracht raspi-config kunt u eenvoudig de WI-FI-referenties configureren.

Een eenvoudig opstartscript zou een opstartgeluid moeten afspelen. Een python-script moet de internetverbinding controleren. Als de Pi internettoegang heeft, moet de status-LED branden, anders moet de LED knipperen. Daarom heb ik een bash-script gemaakt in init.d

sudo nano /etc/init.d/troubadix.sh

Met de volgende inhoud:

#!/bin/bash

### BEGIN INIT INFO # Biedt: startsound # 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 # Korte beschrijving: speel startgeluid af # Beschrijving: speel startgeluid af ### END INIT INFO # Start internettoegang waakhond python /home/pi/access_status.py &#Speel startgeluid af mpg123 /home/pi/startup.mp3 &> / home/pi/mpg123.log

Maak het script uitvoerbaar

sudo chmod +x /etc/init.d/troubadix.sh

Om het script bij het opstarten uit te voeren, heb ik het script met de volgende opdracht geregistreerd:

sudo update-rc.d troubadix.sh standaardwaarden

Zet de bijgevoegde python watchdog in de home directory /home/pi/access_status.py Het python-script moet lussen. De eerste lus controleert de internetverbinding door elke 2 seconden naar www.google.com te pingen. De tweede lus laat de GPIO Pin 17 knipperen, afhankelijk van de huidige internetstatus.

De installatie van de Spotify connect-service is heel eenvoudig. Hier is een repository die een installatiescript host: https://github.com/dtcooper/raspotify Dus uiteindelijk is de installatie slechts één enkele opdracht.

curl -sL https://dtcooper.github.io/raspotify/install.sh | NS

Stap 6: Conclusie

Tijdens het project heb ik veel geleerd. Het gebruik van een 5v-regelaar in plaats van de DC-DC-converter in een vroeg prototype was een slecht idee. Maar die fout deed me nadenken over wat de Regulator echt doet. De verbeteringen van de audiokwaliteit waren ook een enorm leerproces. Er is een reden waarom professionele audioversterking raketwetenschap is:-)

Aanbevolen: