Danke erstmal für die Tipps.
Hier nun mein Code (ab dem loop-Teil) bisher. Ich habe erstmal nur 2 Taster in den Code gepackt, sonst wird es noch unübersichtlicher.
void loop() {
//TASTER 1 (Vorfüllung) HIGH
if (digitalRead(Taster1)==HIGH) //Wenn Taster 1 HIGH
{
digitalWrite(LED1,HIGH); //LED des Taster 1 AN
strip1.show();
delay(10);
motorCP.run(FORWARD); //Motor CP dreht vorwärts
motorBP.run(FORWARD); //Motor BP dreht vorwärts
//colorWipe1(strip1.Color(0,0,127), 255);
int p;
for (p=0; p<1; p++){ //einmal colorWipe 1 und 2 ausführen
colorWipe1(strip1.Color(0,0,127), 255); //Farbe blau
colorWipe2(strip2.Color(0,0,127), 255); // Farbe blau
delay(10);
}
for (int i=0; i<100; i++){ //100-mal ColorDot 1 und 2 ausführen
// Anweisungen
colorDot1(strip1.Color(127,50,127),255);
colorDot2(strip2.Color(127,50,127),255);
// türkis
}
}
//TASTER 2 (Blutentnahme) HIGH
if (digitalRead(Taster2)==HIGH)
{
digitalWrite(LED2,HIGH);
strip2.show();
delay(10);
int p;
for (p=0; p<1; p++){
// fill the entire strip with...
colorWipe2(strip2.Color(127,0,0), 255); // red
delay(10);
}
}
}
//Befehle
void colorWipe2(uint32_t c, uint8_t wait) {
int i;
int au = strip2.numPixels();
for (i=0; i < au; i++) {
strip2.setPixelColor(i, c);
strip2.show();
delay(wait);
}
}
// Befehle für Strip 1 (Citrat)
void colorWipe1(uint32_t c, uint8_t wait) {
strip1.setPixelColor(0, 0,0,127); // setze die ersten drei Pixel auf blau
strip1.setPixelColor(1, 0,0,127);
strip1.setPixelColor(2, 0,0,127);
int i;
for (i=0; i < strip1.numPixels(); i++) {
strip1.setPixelColor(i, c);
strip1.show();
delay(wait);
}
}
//Methoden
//Methoden Strip1
void colorDot1(uint32_t c, uint8_t wait) {
int r;
for (r=3; r < strip1.numPixels(); r++) {
strip1.setPixelColor(r, c);
if (r == 3) {
strip1.setPixelColor(strip1.numPixels()-1, 0,0,127);
} else {
strip1.setPixelColor(r-1, 0,0,127);
strip1.show();
delay(wait);
}
zaehl1++;
Serial.println(zaehl1);
if (zaehl1>12) {strip1.setPixelColor(0, 0,0,0);}
else {strip1.setPixelColor(0, 0,0,127);}
if (zaehl1>18) {strip1.setPixelColor(1, 0,0,0);}
else {strip1.setPixelColor(1, 0,0,127);}
if (zaehl1>180) {strip1.setPixelColor(2, 0,0,0);}
else {strip1.setPixelColor(2, 0,0,127);}
}
}
// Befehle für Strip 2 (Blut bis Zentrifuge)
void colorDot2(uint32_t c, uint8_t wait) {
int r;
int fill2=fill+1;
for (r=0; r < strip2.numPixels()-fill; r++) {
strip2.setPixelColor(r, c);
if (r == 0) {
strip2.setPixelColor(strip2.numPixels()-fill2, 0,0,127);
if (fill>0) {fill--;}
} else {
strip2.setPixelColor(r-1, 0,0,127);
}
strip2.show();
delay(wait);
}
}
// Befehle für Strip 3 PLASMABEHAELTER
void colorDot3(uint32_t c, uint8_t wait) {
int r;
int fill2=fill+1;
for (r=0; r < strip3.numPixels()-fill; r++) {
strip3.setPixelColor(r, c);
if (r == 0) {
strip3.setPixelColor(strip3.numPixels()-fill2, 127,127,0);
} else {
strip3.setPixelColor(r-1, 127,127,0);
}
strip3.show();
delay(wait);
zaehl3++;
Serial.println(zaehl3);
if (zaehl3>30) {strip3.setPixelColor(11, 0,0,127);}
if (zaehl3>60) {strip3.setPixelColor(10, 0,0,127);}
if (zaehl3>270) {strip3.setPixelColor(9, 0,0,127);}
}
}
void colorWipe3(uint32_t c, uint8_t wait) {
int i;
int au = strip3.numPixels();
for (i=0; i < au-4; i++) {
strip3.setPixelColor(i, c);
strip3.show();
delay(wait);
}
}