Forum: Mikrocontroller und Digitale Elektronik Ersetzen eines Lautstärkereglers


von Peter K. (Gast)


Lesenswert?

Hallo,

ich möchte für meinen Arduino ein bisschen soundausgabe haben, und hab 
dafür das wave shield von adafruit gefunden, da ich aber nicht alles 
brauche dachte ich mir kopiere ich einfach den teil den ich benötige

Das ist das Waveshield: 
http://www.ladyada.net/images/wavshield/v11/wave11schem.png

Meine Frage: Wie kann ich den Lautstärkeregler (TM1POT rechts oben, 
direkt über Volume) ersetzen so das ich die Lautstärke per software 
steuern kann?

von spontan (Gast)


Lesenswert?

Per Software:

Du gibts auf den DAC per Software aus - ergo ... bestimmst Du doch per 
Software die Lautstärke.

von Stefan (Gast)


Lesenswert?

Ich würd's aber nicht machen, denn der DAC hat nur 12 Bits, was für 
Musikwiedergabe schon suboptimal ist. Wenn Du nun die Lautstärke z.B. 
auf 1/10 reduzieren willst, bleiben nur noch 8 Bits übrig. Wie das 
klingt, kannst Du Dir sicher denken.

von Karl H. (kbuchegg)


Lesenswert?

Stefan schrieb:
> Ich würd's aber nicht machen, denn der DAC hat nur 12 Bits, was für
> Musikwiedergabe schon suboptimal ist. Wenn Du nun die Lautstärke z.B.
> auf 1/10 reduzieren willst, bleiben nur noch 8 Bits übrig. Wie das
> klingt, kannst Du Dir sicher denken.

Im Prinzip ja.
Allerdings würd ich von so einem µC sowieso keine Hi-Fi Klänge erwarten. 
Und für ein paar Signaltöne tut es das allemal.

von Peter K. (Gast)


Lesenswert?

Naja, es soll ein Wecker werden, umso nerviger umso besser ;)
Wichtig ist nur dass ich die Lautstärke sanft starten lassen kann um am 
ende richtig Laut zu werden...


Was ich jetzt nur nicht so ganz verstehe. Die Dateien kommen von einer 
SD-Karte, und werden über SPI an den Chip übertragen. Schaff ich es, da 
dazwischen zufummeln und die Lautstärke zu verändern?


Wäre es nicht besser den Poti mit einem Transistor zu ersetzen den ich 
über einen Pin vom arduino steuer?

von Harald W. (wilhelms)


Lesenswert?

Peter K. schrieb:

> Wäre es nicht besser den Poti mit einem Transistor zu ersetzen den ich
> über einen Pin vom arduino steuer?

So einfach geht das nicht. Du könntest beispielsweise mit PWM eine
grüne LED steuern. Diese beleuchtet dann einen Fotowiderrstand
un mit dem baust Du einen Spannungsteiler für Audio.
Gruss
Harald

von Karl H. (kbuchegg)


Lesenswert?

Peter K. schrieb:

> Was ich jetzt nur nicht so ganz verstehe. Die Dateien kommen von einer
> SD-Karte, und werden über SPI an den Chip übertragen.

Das geht ja nicht per Hardware, sondern da ist eine Software am werkeln, 
die die Übertragung macht.

> Schaff ich es, da
> dazwischen zufummeln und die Lautstärke zu verändern?

Eine Lautstärkenänderung ist nichts anderes als die Multiplikation mit 
einer Konstanten im Bereich 0 bis 1. D.h. jedes Byte, ehe es an den DAC 
ausgegeben wird, wird mit einer Zahl mutlipliziert. (ok, in der Realität 
ist es ein wenig komplizierter, aber im Grunde läuft es darauf hinaus)

> Wäre es nicht besser den Poti mit einem Transistor zu ersetzen den ich
> über einen Pin vom arduino steuer?

Wenn du mit der Sound-Qualität leben kannst, ist eine reine 
Software-Lösung die einfachste Lösung. TRansistor ist nicht so einfach. 
Denn du brauchst ja einen veränderbaren Widerstand. Wenn schon dann ein 
Digital-Poti. Die kosten allerdings wieder Geld.

von Peter K. (Gast)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Peter K. schrieb:
>> Wäre es nicht besser den Poti mit einem Transistor zu ersetzen den ich
>> über einen Pin vom arduino steuer?
>
> Wenn du mit der Sound-Qualität leben kannst, ist eine reine
> Software-Lösung die einfachste Lösung. TRansistor ist nicht so einfach.
> Denn du brauchst ja einen veränderbaren Widerstand. Wenn schon dann ein
> Digital-Poti. Die kosten allerdings wieder Geld.

kosten Geld? Von wieviel reden wir? ein paar Euro würde ich da schon 
investieren wenn das die bessere Lösung ist. Was für einer wäre da 
geeignet?

von Karl H. (kbuchegg)


Lesenswert?

Peter K. schrieb:
> Karl Heinz Buchegger schrieb:
>> Peter K. schrieb:
>>> Wäre es nicht besser den Poti mit einem Transistor zu ersetzen den ich
>>> über einen Pin vom arduino steuer?
>>
>> Wenn du mit der Sound-Qualität leben kannst, ist eine reine
>> Software-Lösung die einfachste Lösung. TRansistor ist nicht so einfach.
>> Denn du brauchst ja einen veränderbaren Widerstand. Wenn schon dann ein
>> Digital-Poti. Die kosten allerdings wieder Geld.
>
> kosten Geld? Von wieviel reden wir? ein paar Euro würde ich da schon
> investieren wenn das die bessere Lösung ist. Was für einer wäre da
> geeignet?

?

Welchen Wert brauchst du (steht im Schaltplan).
Dann gehst du zu den üblichen Verdächtigen (Reichelt, Conrad, ...) die 
Bauelemente verkaufen und suchst nach einem Digital-Poti mit diesem 
Nennwert.

(War doch nicht so schwer, Oder?)

von Alex S. (thor368)


Lesenswert?

Tach Peter,

je nachdem wie viele Lautstärkestufen du haben möchtest. Die elegante 
Lösung ist eine geschaltete Widerstandsleiter hinter dem DAC. Entweder 
mit einem Schieberegister oder direkt mit einem freien Port. Wenn du 
8bits erübrigen kannst hast du 256 Lautstärkestufen.

Thor

von Stefan (Gast)


Lesenswert?

Der Vorschlag mit dem Photowiderstand und der PWM angesteuerten 
Leuchtdiode ist für den genannten Anwendungsfall sicher gut genug und 
dazu schön einfach.

Ich regele seit Jahren die Lautstärke meines Fernsehers mit LED und 
Photowiderstand. Das hat sich beisher bewährt - auch wenn das 
Audio-Signal dadurch ein klein wenig verzerrt wird. Den Unterschied kann 
ich nicht hören.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.