Stromversorgung und Analogeingang bei ATTiny


hallo zusammen,

ich habe mein blinken zum bass programm soweit vervollständigt, und auf einem arduino funktionierte es. wenn in der musik bass, dann geht ein licht an. dazu habe ich ein mikrofon mit verstärker über einen tiefpassfilter auf den a0 gehängt. dann habe ich das ganze auf einem attiny auf dem breadboard aufgebaut, auch das funktionierte. dann habe ich das ganze auf eine kleine platine gelötet, und es funktionierte nicht. nach langem suchen fand ich heraus, dass es funktioniert, wenn ich das ganze mit meinen usb port rechner mit strom versoge, aber nicht, wenn ich es mit eine 5v usb akku versorge (dieser hier: http://www.amazon.de/externer-zusatzakku-ladeger%c3%a4t-smartphone-blackberry/dp/b00ixpp2cu/ref=sr_1_65?s=ce-de&ie=utf8&qid=1406236944&sr=1-65&keywords=usb+akku) per arduino funktioniert alles auch mit dem usb akku. attiny ist ein 100nf kondensator zwischen 5v und gnd. beim akku mit dem es nicht geht messe ich 0,1v mehr, ca. 5.2v. laut datenblatt kann der attiny bis 5,5v betrieben werden. laut oszilloskop schwanken sowohl mein usb port rechner als auch der akku minimal sinusförmig, aber beide gleich. sketc habe ich mal angehängt, ich vermute den fehler aber irgendwo in meiner hardware. hat jemand eine idee, warum mein licht nicht blinkt mit dem akku, aber mit dem usb port meines rechners?

code: [select]

// variablendeklaration
int led = 1;
float nullpunkt = 500.0;
float messwert = 10.0;
float mittelmesswert = 10.0;
float bassmesswert = 10.0;
float bassschwellwert = 100.0;
long previousmillis = 0;      
long previousmillis2 = 0;      

// funktionen
float glaetten();

void setup() {                
 pinmode(led, output);    // initialize digital pin output.
//serial.begin(9600);
}
void loop() {
// millis versorgen, für zeiten
 unsigned long currentmillis = millis();
// analogread nur einmal anfang, danach kann man mit variable arbeiten
 int sensval = analogread(1);
 // ermittle nullpunkt durch expotentielle glättung
 nullpunkt = glaetten(sensval, nullpunkt, 0.0001);
 // Überführe messwerte in absolutierte werte
 messwert = (float) abs(sensval - nullpunkt);
 // ermittle mittleren messwert als lautstärke
 mittelmesswert = glaetten(messwert, mittelmesswert, 0.001);
 // aktuellen messwert leicht glätten
 bassmesswert = glaetten(messwert, bassmesswert, 0.1);
 // bassschwellwert ermitteln
 bassschwellwert = mittelmesswert * 1.45;
 // licht an
 if (bassmesswert > bassschwellwert && mittelmesswert > 20){
   digitalwrite(led, high);
   previousmillis = currentmillis;
 }
 else{
   // digitalwrite(led, low);
 }
 if(currentmillis - previousmillis > 20) {
   digitalwrite(led, low);
 }

 //////////////////// test ausgabe ///////////////////////////////
// if(currentmillis - previousmillis2 > 2000) {
//   previousmillis2 = currentmillis;
//   serial.println(nullpunkt);
//   serial.println(mittelmesswert);
//  }
 /////////////////////////////////////////////////////////////////  
}

float glaetten(float wertaktuell, float wertalt, float faktor){
 float tmp = wertaktuell * faktor;
 tmp = (tmp +( wertalt * (1 - faktor) ) );  
 return tmp;
}

bild wäre hilfreich! evtl auch schaltplan


Arduino Forum > International > Deutsch (Moderator: uwefed) > Stromversorgung und Analogeingang bei ATTiny


arduino

Comments

Popular posts from this blog

Connecting Raspberry Pi 2 to P10(1R)-V706 LED Dot Matrix - Raspberry Pi Forums

TypeError: <unknown> is not a numpy array - Raspberry Pi Forums

datso and removing imagetitle - Joomla! Forum - community, help and support