Ok, hab angefangen das ganze auf nem Breadboard aufzubauen und schon mal den "Grund"-Code zu schreiben. Dabei sind mir komische Sachen passiert. Ich habe alles richtig angeschlossen (denke ich) und den Arduino programmiert. Hier der Code, dazu muss ich glaube ich nichts erklären, ist alles relativ klar :
const int Rot = 11;
const int Gruen = 10;
const int Blau = 9;
const int Taster1 = 0;
const int Taster2 = 1;
const int Taster3 = 2;
const int Taster4 = 3;
const int Taster5 = 4;
const int Taster6 = 5;
const int Poti1 = A0;
const int Poti2 = A1;
const int Poti3 = A2;
int Potivar1 = 0;
int Potivar2 = 0;
int Potivar3 = 0;
void setup() {
pinMode(Rot,OUTPUT);
pinMode(Gruen,OUTPUT);
pinMode(Blau,OUTPUT);
pinMode(Taster1,INPUT);
pinMode(Taster2,INPUT);
pinMode(Taster3,INPUT);
pinMode(Taster4,INPUT);
pinMode(Taster5,INPUT);
pinMode(Taster6,INPUT);
digitalWrite(Taster1,HIGH);
digitalWrite(Taster2,HIGH);
digitalWrite(Taster3,HIGH);
digitalWrite(Taster4,HIGH);
digitalWrite(Taster5,HIGH);
digitalWrite(Taster6,HIGH);
}
void loop() {
if(digitalRead(Taster1 == LOW))
{
Potivar1 = analogRead(Poti1)/4,016 ;
analogWrite (Rot,Potivar1);
Potivar2 = analogRead(Poti2)/4,016 ;
analogWrite (Gruen,Potivar2);
Potivar3 = analogRead(Poti3)/4,016 ;
analogWrite (Blau,Potivar3);
}
else if (digitalRead(Taster2 == LOW))
{
analogWrite(Rot,255);
analogWrite(Gruen,255);
analogWrite(Blau,255);
}
else if (digitalRead(Taster3 == LOW))
{
analogWrite(Rot,255);
delay (1000);
analogWrite(Rot,0);
analogWrite(Gruen,255);
delay(1000);
analogWrite(Gruen,0);
analogWrite(Blau,255);
delay(1000);
analogWrite(Blau,0);
}
else if (digitalRead(Taster4 == LOW))
{
analogWrite(Rot,255);
delay (300);
analogWrite(Rot,0);
analogWrite(Gruen,255);
delay(300);
analogWrite(Gruen,0);
analogWrite(Blau,255);
delay(300);
analogWrite(Blau,0);
}
else if (digitalRead(Taster5 == LOW))
{
analogWrite(Rot,255);
delay (300);
analogWrite(Rot,0);
analogWrite(Gruen,255);
delay(300);
analogWrite(Gruen,0);
analogWrite(Blau,255);
delay(300);
analogWrite(Blau,0);
analogWrite(Rot,50);
delay (300);
analogWrite(Rot,0);
analogWrite(Gruen,50);
delay(300);
analogWrite(Gruen,0);
analogWrite(Blau,50);
delay(300);
analogWrite(Blau,0);
}
else
{
analogWrite(Rot, 0);
analogWrite(Gruen, 0);
analogWrite(Blau, 0);
}
}
Dann habe wollte ich den Code auf den Arduino übertragen aber es kam die Fehlermeldung : Probleme beim Hochladen auf die Platine. Nochmal versucht und dann hat es geklappt.
Schalter auf Position 1, dann konnte ich den manuellen Modus nutzen. Soweit hat alles funktioniert, aber wenn ich die Potentiometer bis zum Anschlag drehe, geht der LedStreifen aus und die TX Leuchte auf dem Arduino blinkt. Dann hab ich am Anfang die Potentiometer nur bis dahin gedreht, wo alles funktioniert hat (Kurz vor Anschlag).
Schalter auf Position 2, Streifen leuchtet weiß, wie im Code geschrieben.
Schalter auf Position 3,4,5,6, Der Streifen tut nicht das was er soll, sondern tut das, was er im Manuellen Modus tut. Einfach nur den Streifen per Potis steuern. Ich weiß nicht woran es liegen kann, im Code hab ich keinen Fehler gefunden und auf dem Breadbord auch nicht (Hier kann ich ehh nicht viel Falsch machen, da die Pins vom Schalter einfach an den digitalen Pins 0-5 angeschlossen sind. An A habe ich Ground.
Als ich dann weiter am probieren und grübeln war, habe ich mal das USB Kabel ab gemacht und den Arduino nur über Vin mit strom befeuert. Dann konnte ich auch im manuellen Modus die Potis bis zum Anschlag drehen, ohne dass die LED´s aus gegangen sind. Erstmal den blauen, dann den grünen und als grad der rote auf voller Leistung an war, ging auf einmal der gesamte Streifen aus und nichts funktionierte mehr. Die Streifen gingen in egal welchem Modus nicht an.
Plötzlich nach ca. 20 Sekunden flackerte der Streifen auf einmal in Weiß, also alle LED´s auf voller Leistung. Ich weiß nichtmehr genau was die TX Lampe gemacht hat, aber denke die hat auch geflackert.
Dann hab ich die Potis runter gedreht aber nichts tat sich. In welchem Schaltermodus ich war, weiß ich nicht. Dann habe ich den Vin Pin rausgezogen. Der Atmel Prozessor auf dem Arduino ist sehr heiß geworden. Konnte meinen Finger keine 2 Sekunden drauf lassen.
Es kann sein, dass ich im Schaltermodus 4 (Taster4 im Arduino Code) und der Streifen deswegen in Weiß geflackert hat, weiß aber nicht genau.
Als ich dann den Arduino wieder an gemacht hab ging wieder nichts mehr. Reset taste gedrückt, passiert nichts. Dann wollte ich den Code neu hochladen aber das hat nach mehreren Versuchen nicht geklappt. Wenn ich den Arduino an mache wird der Chip direkt wieder heiß.
Wenn ich den Schalter auf die Position drehe, die an Pin1 am Arduino angeschlossen ist, flackert die TX Led kurz auf. Mehr geht aber nicht.
Was hab ich falsch gemacht? Woran kann es liegen und am wichtigsten, was soll ich tun?!
Und warum war am Anfang auf Schalterposititon 3,4,5 und 6 immer der manuelle Modus anstatt das was ich Code steht?