mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Audiosignal in Arduino Board


Autor: itch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Die ist mein erster Post und ich bin noch ziemlich Ahnunglos. Ich habe 
jetzt begonnen mit dem Arduino Board zu spielen und versuche E-technik 
Grundwissen zu erwerben.

Ich möchte ein Stereo Audiosignal durch mein Arduino schleifen. Ich habe 
ein Duomilanove ATMega 328.

Ich habe bisher geschafft das Signal von meinem Notebook Line out auf 
einen der Analogpins zu bringen. Dazu habe ich den Plus pol in den 
Analogpin 0 und den Minus Pol in den Ground gesteckt. Dazwischen habe 
ich eine LED geklemmt um eine Hälfte der Wechselspannung zu sperren.
Das funktioniert soweit und ich konnte mit drei LEDs eine rudimentäre 
Lichtorgel bauen.

Nun zu meinem weitern Vorhaben: Ich möchte das Audiosignal über eine 
Frequenzweiche aufteilen und die einzelnen Kanäle in meine Analogpins 
bringen. Mit einer drei Wege Weiche hätte ich dann also 3x2 Kanäle mit 
denen ich meine Outputs steuern kann.

Mein Plan ist nun folgender. Zunächst geht das Signal durch die 
Frequenzweiche. Das ist erstmal einfach. Danach muss ich die Einzelnen 
Stränge jeweils gleichrichten und Verstärken. Da gehts los. Ich verstehs 
nicht.

Gleichrichten kann ich mit einem Brückengleichrichter. Soviel weiss ich 
schon. Aber beim Verstärken schau ich dumm aus der Wäsche. Ich weiss, 
das ich einen OP verwenden kann aber nicht wie genau.

Ich habe diese Schaltung gefunden: http://macetech.com/vuinput01big.png
aber kann sie leider nicht richtig lesen.
Ich denke sie macht genau was ich möchte. Allerdings weiss ich nicht ob 
die jetzt Verstärkt und Gleichschaltet oder nur Verstärkt.
Wer kann mir helfen die Zeichnung zu lesen. Ich verstehe z.B nicht warum 
es zwei VCC gibt. Das ist doch der Eingangsstrom? Warum hängt der erste 
Teil der Zeichnung da einfach frei rum? Was kommt dann bei Rightaudio 
rein wenn der Strom doch schon an zwei anderen Stellen rein kommt? Was 
für Dioden brauche ich? Wieviel Watt verträgt die ganze Geschichte am 
Ende, usw...

Ich hoffe jemand kann mir helfen.

Grüße, itch.

Autor:  dsjkhfjkdls Fwdekokfe (compu2004)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
bisweilen kenne ich mich mit Mikrocontrollern garnicht aus, lediglich 
ein wenig elektrotechnischer Grundkenntnisse hab ich auf dem speicher..
ich hab einen anderen Quellcode ein wenig modifiziert und voilla:
Die Idee mit ner Led IST EINFach und genial, ich werds versuchen..

 

int val;
void setup()
{
  pinMode(2,OUTPUT);// 10 leds hab ich angeschlossen rot 2x
  pinMode(3,OUTPUT);// GRÜN 5X UND GELB 2X
  pinMode(4,OUTPUT);
  pinMode(5,OUTPUT);
  pinMode(6,OUTPUT);
  pinMode(7,OUTPUT);
  pinMode(8,OUTPUT);
  pinMode(9,OUTPUT);
  pinMode(10,OUTPUT);
  pinMode(11,OUTPUT);
  Serial.begin(9600);
  
}

void loop()
{
  Serial.println(analogRead(0)); //audio(mono) is directly connected to Analog Pin zero
  val = analogRead(0);
 
 if (val > 350)
 digitalWrite(11,HIGH);
 if (val < 350)
 digitalWrite(11,LOW);
  
  if (val > 375)
 digitalWrite(10,HIGH);
 if (val < 375)
 digitalWrite(10,LOW); 
 
   if (val > 400)
 digitalWrite(9,HIGH);
 if (val < 400)
 digitalWrite(9,LOW);
 
   if (val > 425 )
 digitalWrite(8,HIGH);
 if (val < 425)
 digitalWrite(8,LOW);

    if (val > 450 )
 digitalWrite(7,HIGH);
 if (val < 450)
 digitalWrite(7,LOW);

  if (val > 500)
 digitalWrite(6,HIGH);
 if (val < 500)
 digitalWrite(6,LOW);
  
  if (val > 550)
 digitalWrite(5,HIGH);
 if (val < 550)
 digitalWrite(5,LOW); 
 
   if (val > 600)
 digitalWrite(4,HIGH);
 if (val < 600)
 digitalWrite(4,LOW);
 
   if (val > 650 )
 digitalWrite(3,HIGH);
 if (val < 650)
 digitalWrite(3,LOW);
   
    if (val > 700 )
 digitalWrite(2,HIGH);
 if (val < 700)
 digitalWrite(2,LOW);
 delay(25);   //dammit es nicht zu sehr flackert, einfach testen
}


Autor: Martin Gerken (mager)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frequenzanalyse in Software erfordert FFT (keine Ahnung, ob der Arduino 
schnell genug ist). Ich würde die Frequenzweiche analog aufbauen und für 
jeden Kanal wie angedeutet die Spannung messen...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.