Het toevoegen van geluid aan een Raspberry Pi-project is eenvoudig een HDMI-monitor aansluiten met ingebouwde luidsprekers of versterkte luidsprekers op de audiopoort aansluiten. Beide oplossingen zijn echter niet erg licht of draagbaar. Projecten die een kleine, energiezuinige footprint vereisen, hebben geen ruimte voor sterk versterkte luidsprekers. Voor eenvoudige geluiden kan de Pi echter frequenties genereren op de GPIO-pinnen die een piëzo-element aansturen om geluiden te produceren.
Deze tutorial laat je zien hoe je een goedkoop piezo-elektrisch element op je Pi kunt aansluiten om eenvoudige tonen te produceren.
Piëzo-elektrische elementen werken volgens het principe dat sommige materialen, zoals kristallen, elektriciteit produceren wanneer ze onder spanning worden gezet, gebogen of getrild. Sommige toepassingen van een piëzo-element omvatten het detecteren van trillingen zoals stoten of geluiden.
Piëzo-elektrische componenten werken ook in omgekeerde richting, als een stroom wordt toegepast op het element, buigt het of buigt het. Met behulp van deze methode en het toepassen van een oscillerend signaal zal het element trillen op dezelfde frequentie als het signaal.
Om het piëzo-element aan te sluiten, moet je de gevlochten draden solderen tot iets dat verbinding kan maken met de Pi-pinnen. Als je bereid bent draden te verbinden met het project, knip en strip je het ene uiteinde van de draad en soldeer zoals hieronder. De onderstaande instructies gebruiken een beetje draad om te voorkomen dat jumperdraden losraken.
Na deze stappen zou u een samengesteld piëzo-element op een membraan moeten hebben dat het zoemen van het aan uw Pi bevestigde element zal versterken. Het zou er ongeveer zo uit moeten zien als de afbeelding hieronder.
Gemonteerd Pi en ElementEr zijn verschillende handleidingen voor het aanschaffen en installeren van een OS op uw Raspberry Pi. Volg uw keuze van aankoop en installatie. Zodra je Raspberry Pi is opgestart en geconfigureerd, ga je verder met de volgende stap.
Nu de elektronica is aangesloten, is de software voor het uitvoeren van de GPIO-poorten nodig. Het project bedradingPi biedt fijne controle over de GPIO-pinnen vanaf de opdrachtregel en C. Er zijn ook python en andere wrappers voor bedradingPi. In dit voorbeeld installeert u de bedrading Pi en zullen we een C-voorbeeldprogramma wijzigen om geluid te produceren.
sudo apt-get install git
git clone git: //git.drogon.net/wiringPi
cd-bedradingPi ./build
In de map met voorbeelden van de bedradingsPi-repository is een bestand met de naam softTone.c. Dit bestand demonstreert het gebruik van de functie softToneWrite die de geselecteerde pin op een gegeven frequentie oscilleert. Het voorbeeldprogramma zorgt ervoor dat het piëzo-element een schaal speelt. Om te testen of alles is gebouwd en aangesloten, compileert u het voorbeeld en voert u het als root uit.
cd-voorbeelden maken softTone sudo ./softTone
Nu hoort u een schaal die herhaaldelijk op het piëzo-element wordt gespeeld. Gebruik CTRL C om het programma te stoppen. Vervolgens wordt u wat creatiever met de muziek. Volg de onderstaande instructie om de softTone.c programma om iets interessanters te spelen. Omdat de array schaal is slechts een lijst met frequenties, u kunt de nummers en de grootte van de array vervangen door wat u maar wilt. Vervang het bestand softTone.c met de onderstaande inhoud. Er zijn eigenlijk maar een paar kleine veranderingen aan het origineel. Het resultaat speelt een enkele melodielijn en stopt.
#include#include #include #include #include #define PIN 3 int schaal [23] = 659, 659, 0, 659, 0, 523, 659, 0, 784, 0,0,0, 392, 0,0,0, 523, 0,0, 392 , 0,0,330; int main () int i; bedradingPiSetup (); softToneCreate (PIN); voor (i = 0; i < 23 ; ++i) printf ("%3d\n", i) ; softToneWrite (PIN, scale [i]) ; delay (200) ;
Maak en voer het softtone programma opnieuw:
maak softTone sudo ./softTone
Als je goed luistert, herken je misschien deze kleine deuntje. Door simpelweg de schaal array en de grootte ervan op declaratie en de for-lus kun je het deuntje zo lang of kort maken als je wilt.
Voor projecten die alleen een eenvoudig geluid vereisen en geen volledig versterkt audiosubsysteem, kan een klein piëzo-element de ideale oplossing zijn. In deze tutorial leer je hoe je een piezo-element aan je Raspberry Pi kunt bevestigen, bedradingPi kunt installeren en een voorbeeld uit het bedradingsPi-pakket kunt gebruiken om muziek af te spelen op het element.
Het wijzigen van C-programma's is misschien niet voor iedereen, dus er zijn bedradingsPi-wrappers voor python en andere talen. Raadpleeg de bekabelingspagina van het projectPi voor een taal die misschien meer vertrouwd is. Nu zou je in staat moeten zijn om elke taal te gebruiken waarmee je vertrouwd bent om je eigen geluiden en melodieën te creëren.