Dankeschön

)
Hab jetzt nen schönen Farbwechsel. Jetzt hab ich genug mit der LED herumexperimentiert.
Mein Programm sieht jetzt folgendermaßen aus, natürlich hätt ich es noch ein bisschen kompakter und vielleicht auch einfach schreiben können aber
finde es für den Anfang eig ganz schön

:
Insgesamt hab ich jetzt als Hardware:
- 1 RGB - LED
- 1 Taster
- viele Kabel
- 4 Widerstände
- 1 Servo (180°)
Was meint ihr wäre noch a gutes Programm als Übung? Ihr kennt euch da ja voll aus, aber bin hall noch a ziemlicher neuling.
Wenn noch ein wenig Hardware für ein Programm fehlt, könnte ich mir morgen eventuell noch ein wenig leihen.
Freue mich auf einige Vorschläge

int pinR = 3;
int pinG = 5;
int pinB1 = 6;
int pinB2 = 9;
void setup()
{
Serial.begin(9600);
pinMode(pinR, OUTPUT);
pinMode(pinG, OUTPUT);
pinMode(pinB1, OUTPUT);
pinMode(pinB2, OUTPUT);
digitalWrite(pinR, LOW);
digitalWrite(pinG, LOW);
digitalWrite(pinB1, LOW);
digitalWrite(pinB2, LOW);
Serial.println("0: aus");
Serial.println("1: gruen");
Serial.println("2: rot");
Serial.println("3: blau");
Serial.println("4: disco");
Serial.println("5: rot langsam an");
Serial.println("6: gruen langsam an");
Serial.println("7: blau langsam an");
Serial.println("8: Alle an");
Serial.println("9: rainbow");
}
void loop()
{
if(Serial.available() > 0)
{
int inInt = Serial.read();
{
if(inInt == '0')
{
allesAus();
}
if(inInt == '1')
{
gruen();
}
if(inInt == '2')
{
rot();
}
if(inInt == '3')
{
blau();
}
if(inInt == '4')
{
Disco();
}
if(inInt == '5')
{
rotLangsamAn();
}
if(inInt == '6')
{
gruenLangsamAn();
}
if(inInt == '7')
{
blauLangsamAn();
}
if(inInt == '8')
{
alleAn();
}
if(inInt == '9')
{
rainbow();
}
}
}
}
void Disco()
{
for(int i = 0; i < 5; i++)
{
digitalWrite(pinR, LOW);
digitalWrite(pinG, HIGH);
digitalWrite(pinB1, LOW);
digitalWrite(pinB2, LOW);
delay(100);
digitalWrite(pinR, HIGH);
digitalWrite(pinG, LOW);
digitalWrite(pinB1, LOW);
digitalWrite(pinB2, LOW);
delay(100);
digitalWrite(pinR, LOW);
digitalWrite(pinG, LOW);
digitalWrite(pinB1, HIGH);
digitalWrite(pinB2, HIGH);
delay(100);
}
allesAus();
}
void allesAus()
{
digitalWrite(pinR, LOW);
digitalWrite(pinG, LOW);
digitalWrite(pinB1, LOW);
digitalWrite(pinB2, LOW);
}
void rot()
{
digitalWrite(pinR, HIGH);
digitalWrite(pinG, LOW);
digitalWrite(pinB1, LOW);
digitalWrite(pinB2, LOW);
}
void gruen()
{
digitalWrite(pinR, LOW);
digitalWrite(pinG, HIGH);
digitalWrite(pinB1, LOW);
digitalWrite(pinB2, LOW);
}
void blau()
{
digitalWrite(pinR, LOW);
digitalWrite(pinG, LOW);
digitalWrite(pinB1, HIGH);
digitalWrite(pinB2, HIGH);
}
void alleAn()
{
digitalWrite(pinR, HIGH);
digitalWrite(pinG, HIGH);
digitalWrite(pinB1, HIGH);
digitalWrite(pinB2, HIGH);
}
void rotLangsamAn()
{
for(int i=0; i<=255; i++)
{
analogWrite(pinR, i);
analogWrite(pinG, 0);
analogWrite(pinB1, 0);
analogWrite(pinB2, 0);
delay(10);
}
}
void gruenLangsamAn()
{
for(int i=0; i<=255; i++)
{
analogWrite(pinR, 0);
analogWrite(pinG, i);
analogWrite(pinB1, 0);
analogWrite(pinB2, 0);
delay(10);
}
}
void blauLangsamAn()
{
for(int i=0; i<=255; i++)
{
analogWrite(pinR, 0);
analogWrite(pinG, 0);
analogWrite(pinB1, i);
analogWrite(pinB2, i);
delay(10);
}
}
void rainbow(){
int d = 7;
for(int i = 0; i < 256;i++){
setAllLeds(i,0,255-i,255-i);
delay(d);
}
for(int i = 0; i < 256;i++){
setAllLeds(255-i,i,0,0);
delay(d);
}
for(int i = 0; i < 256;i++){
setAllLeds(0,255-i,i,i);
delay(d);
}
}
void setAllLeds(int neuR, int neuG, int neuB1, int neuB2)
{
analogWrite(pinR, neuR);
analogWrite(pinG, neuG);
analogWrite(pinB1, neuB1);
analogWrite(pinB2, neuB2);
}