Permalänk

BIOS-speaker på RPi GPIO

Hej!

Snabb fråga, google gav inget vettigt...

Kan jag ansluta en "BIOS-speaker" till min RPi's GPIO pins? Hur får jag den att låta?

Tack!

Permalänk
Medlem

Vill du att den skall låta pip när du startar Pien eller spela musik och ljud?

Lättast är nog att sätta en 3.5mm plugg på högtalaren och koppla den i ljudutgången.

Visa signatur

42? Seven and a half million years and all you can come up with is 42?!
► FD Define R2 | Win10Pro | i7-3770K | Hyper212+ SP120PWM | P8P67 PRO | CML8GX3M2A1600C9 | 1080 Ti | AX750 | Asus VG27WQ | Eizo S2100 |► Raspberry Pi 3B | Osmc |► OnePlus 6 |

Permalänk

@xfade:
Ett pip-ljud när jag vill att den ska göra det, genom python.

EDIT: Såhär:

Permalänk
Medlem

Då är jag ganska säker på att du inte kan använda en bios högtalare, då detta är en vanlig högtalare som behöver en modulerad signal för att låta. (Du kan ju prova med ett vanligt batteri 1.5v. Om bios högtalaren låter när du kopplar in den så kommer det att funka.)

En buzzer behöver bara en spänning för att låta, den har en inbyggd modulator.

Visa signatur

42? Seven and a half million years and all you can come up with is 42?!
► FD Define R2 | Win10Pro | i7-3770K | Hyper212+ SP120PWM | P8P67 PRO | CML8GX3M2A1600C9 | 1080 Ti | AX750 | Asus VG27WQ | Eizo S2100 |► Raspberry Pi 3B | Osmc |► OnePlus 6 |

Permalänk
Medlem

Borde gå bra, gjorde själv ett irriterande ljud med en enkel högtalare(endast +- till magneten). Körde inte med en Pi utan en IC555-krets som skapar en fyrkantsvåg till högtalaren. Detta gör att man kan ändra frekvensen på ljudet.

Med en Pi är det enkelt att skapa en fyrkantsvåg via python på en pinne. Har inte syntaxen exakt I huvudet för att modifier pinnarnas status men principen är:

#Skapar en fyrkantsvåg #x är pausetiden(sekunder)->vilket styr frekvensen. Ändra x-värdet för att ändra frekvens x = 0.01 While true Sätt_pinne_HIGH delay(x) Sätt_pinne_LOW delay(x)

Givetvis går det att göra snyggare genom att mata in en frekvens istället så får programmet beräkna vad delaytiden blir.
Tänk på att ev. motstånd behövs I kretsen så du inte bränner spänningsomvandlaren I pajen

Visa signatur

Bara gammalt skräp...

Permalänk

@xfade:
När jag kopplar in den i ett 1.5v batteri "knastrar" det ganska lågt. Dvs ingen ton/pip.

@bardbard:
Koden som du skrev där testade jag, iaf något liknande. Det ända jag fick ut var ett litet klick från speakern. I koden jag hade kunde jag välja hur länge det skulle låta men det hjälpte inte att förlänga den.

Jag behöver alltså ett motstånd? Det var det jag var nojig över och ville inte testa allt för mycket.

Permalänk
Medlem

Vet inte vad du har för högtalare eller om det är en buzzer så går inte svara på om du behöver motstånd eller ej.
Vad du ska tänka på är att en gpio-pinne endast är specad för en ström på max 16mA. Går du over det så riskerar du att ha sönder pajen. Iom den svaga effecten du kan få ut ur en pinne så kanske det är för klent helt enkelt så att högtalaren inte "orkar" jobba.
Du kan ju göra en "förstärkare" med transistorer för att öka på strömstyrkan.

I annat fall hitta en högtalare som fungerar med extremt låg effect.

När jag byggde min krets med 555-timer så hade ju inte jag begränsningen med 16mA vilket man har med en Pi.

Visa signatur

Bara gammalt skräp...

Permalänk

@bardbard:
Står ingenting på speakern men det är en sådan man får med moderkort. Står XZ på toppen men det lär knappast vara någon nytta.
En sådan här

Läste något om att det krävs 5V. Kopplade in den i ett 6V-batteri, men det gav ändå bara ett "klick" lite högre dock än när speakern satt i RPin.

Kanske behövs det en frekvens för att få rätt ljud?

Permalänk
Medlem
Skrivet av Anglaborg:

@bardbard:
Står ingenting på speakern men det är en sådan man får med moderkort. Står XZ på toppen men det lär knappast vara någon nytta.
En sådan här
https://images10.newegg.com/NeweggImage/ProductImage/12-201-032-02.jpg

Läste något om att det krävs 5V. Kopplade in den i ett 6V-batteri, men det gav ändå bara ett "klick" lite högre dock än när speakern satt i RPin.

Kanske behövs det en frekvens för att få rätt ljud?

Interna PC-högtalare verkar lira på 5v som du skriver: https://en.wikipedia.org/wiki/PC_speaker

Kolla "Pulse-width modulation" delen för vilken typ av signal du ska mata den med.

Visa signatur

i7700K | GTX 1080 | 16GB

Permalänk
Medlem

Klick-ljudet du hör är när elektromagneten får spanning och membrane I högtalaren "låser" sig mot magneten.
Eftersom ljud är en vågrörelse genom luften så krävs det alltså en frekvens(on/off/on/off...you get it^^). När du bara kopplar I batteriet så får du ju ingen frekvens utan bara on en gang.
Hade du haft en strömbrytare kopplad så hade du kunna växla den fruktansvärt fort för att få till ett ljud.
Jag är ingen ljudexpert för fem öre så jag vet inte vilka frekvenser som behövs för att få till olika ljud. En liten googling ger iaf att ett konstant tjut ska ligga mellan 200-5000Hz.

En pi har ju tyvärr bara 3.3v på stiften så det kanske ställer till det också....

Du skulle ju kunna testa att köra via pwm-signal istället, blir nog bättre ljud då

Visa signatur

Bara gammalt skräp...

Permalänk

@bardbard:

Den kan skicka ut 5V också på pin 2 och 4. Har använt de pinsen till en fläkt. Men Jag tror det är konstant 5V, dvs inget jag kan styra?

Permalänk
Medlem

Kan man inte använda en transistor och koppla mellan högtalaren och 5v pinne och styra med en output pinne?

Permalänk
Medlem
Skrivet av Anglaborg:

@bardbard:

Den kan skicka ut 5V också på pin 2 och 4. Har använt de pinsen till en fläkt. Men Jag tror det är konstant 5V, dvs inget jag kan styra?
http://www.raspberrypi-spy.co.uk/wp-content/uploads/2012/06/Raspberry-Pi-GPIO-Layout-Model-B-Plus-rotated-2700x900.png

Ja det finns stift med 5v men dessa går inte att styra med mjukvara tyvärr. Är användbara om man har något tillbehör som drivs av 5v.
Går även att plocka ut ganska hög ström ur dessa då de ligger på samma lina som microUSB-anslutningen

Visa signatur

Bara gammalt skräp...