Lichtorgel mit Arduino per PWM


hallo,

ich habe vor eine 3-kanal lichtorgel mit led-strips und einem arduino uno zu bauen.
angefangen habe ich mit einem tiefpass(hochpass und bandpass kommen natürlich auch noch dazu) durch das mein audiosignal läuft, danach noch durch eine diode zum gleichrichten und dann auf einen analogen eingang vom arduino.

vom pin 3 des arduino gehe ich zu einem transistor der dann die 1. farbe des led-strips steuert.

da ich kein experte im gebiet des arduinos bin habe ich zuerst gegooglet und eine programmierung gefunden bei der man aber einen lüfter mithilfe eines poti steuert, dies habe ich etwas verändert, aber nun kommt mein problem:
statt das die led auf dem streifen sich dimmen blinken sie je nach frequenz unterschiedlich auf, woran könnte das liegen ?

hier noch die programmierung :

code: [select]
const int ledpin = 3;         // led-strip pin 3 angeschlossen
const int audiopin = a0 ;    // audiosignal analogen eingang pin 0 angeschlossen



int ledlight = 0;            // variable fuer die led-helligkeit
int audiovar = 0 ;           // variable zum speichern des audioeingangs
 
 
 
void setup() {
 
 
  serial.begin(9600);
  pinmode(ledpin, output) ;      //setzt den ledpin als ausgang
  pinmode(audiopin, input) ;      //setzt das audiosignal als eingang
}
 
 
 
void loop() {
 
  audiovar = analogread(audiopin) ;             
  ledlight = map(audiovar, 51, 1023, 60, 255);   
 

 if(audiovar < 40) {                 
    ledlight = 0;
  }
 
  serial.println(ledlight);         
  analogwrite(ledpin, ledlight);     
}



denkfehler: selbst, wenn die spannung mit einer diode "gleichgerichtet" wird (eigentlich schneidest du nur eine halbwelle ab), gibt es nulldurchgänge = der messwert ist auch null.

entweder schaltung verbessern, oder gleich einen msgeq7 nehmen. 7 band spectrum analyzer, dann kann man z.b. sowas machen. oder sowas. oder das hier. oder auch so... usw., auf meinem youtube kanal gibt es mehr von diesen spielereien.

oder als schlechter workarround: samplingfrequenz erhöhen und jeweils aus 20 messwerten einen mittelwert bilden und mit diesem weiterarbeiten.

gruß, helmuth


Arduino Forum > International > Deutsch (Moderator: uwefed) > Lichtorgel mit Arduino per PWM


arduino

Comments

Popular posts from this blog

Error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode - Raspberry Pi Forums

class MPU6050 has no member named begin

missing filename after '-o'