Hello!
I recently bought a RGB LED strip and wanted to programm my arduino to use my bluetoothmodule, which reads the input, so i can swith between the different modes.
If I activate the fade mode, my Arduino is stuck in a loop and i have to reset it
Maybe you can help me to fix my problem. i already tried many things but nothing worked.
int ledred=8;
int ledgreen=9;
int ledblue=10;
int tx=1;
int rx=0;
int inSerInt = 0;
int mode = 0;
int reset = 7;
void setup(){
 Serial.begin(9600);
 pinMode(ledred, OUTPUT);
 pinMode(ledgreen, OUTPUT);
 pinMode(ledblue, OUTPUT);
 pinMode(reset, OUTPUT);
 pinMode(tx, OUTPUT);
 pinMode(rx, INPUT);
 allpinslow();
 Serial.println("Eingabe bitte!");
}
void loop(){
  char inSerial[15];
  int i=0;
  int m=0;
  delay(500);                   Â
  if (Serial.available() > 0) {     Â
   while (Serial.available() > 0) {
    inSerial[i]=Serial.read();
    i++;  Â
   }
   if(mode > 1)digitalWrite(reset, HIGH);
   inSerial[i]='\0';
   led(inSerial);
  }}
 Â
void allpinslow()
{
digitalWrite(ledred, LOW);
digitalWrite(ledgreen, LOW);
digitalWrite(ledblue, LOW);
}Â Â
Â
void led(char inStr[]){Â
 int i=0;
 int m=0;
Â
 if(!strcmp(inStr,"red")){
mode++;Â Â //Ledred ON
  allpinslow();
  digitalWrite(ledred, HIGH);
  Serial.println("Red ON");
  for(m=0;m<11;m++){
   inStr[m]=0;}
   i=0;}
  Â
 if(!strcmp(inStr,"green")){   //Ledgreen ON
 mode++;
  allpinslow();
  digitalWrite(ledgreen, HIGH);
  Serial.println("Green ON");
  for(m=0;m<11;m++){
   inStr[m]=0;}
   i=0;}
Â
 if(!strcmp(inStr,"blue")){   //Ledblue ON
 mode++;
  allpinslow();
  digitalWrite(ledblue, HIGH);
  Serial.println("Blue ON");
  for(m=0;m<11;m++){
   inStr[m]=0;}
   i=0;}Â
 if(!strcmp(inStr,"fade")){
  mode=1;
   allpinslow();
   Serial.println("Fade ON");
   int r, g, b;
   int FADESPEED;
   FADESPEED = 5;
   // fade from blue to violet
   if(mode == 1){
   for (r = 0; r < 256; r++) {
    if(!strcmp(inStr,"fade")){
     analogWrite(ledred, r);
     delay(FADESPEED);
    }else{Serial.println(r);}
   }
   // fade from violet to red
   for (b = 255; b > 0; b--) {
    if(!strcmp(inStr,"fade")){
     analogWrite(ledblue, b);
     delay(FADESPEED);
    }else{Serial.println(b);}
   }
   // fade from red to yellow
   for (g = 0; g < 256; g++) {
    if(!strcmp(inStr,"fade")){
     analogWrite(ledgreen, g);
     delay(FADESPEED);
    }else{Serial.println(g);}
   }
   // fade from yellow to green
   for (r = 255; r > 0; r--) {
    if(!strcmp(inStr,"fade")){Â
     analogWrite(ledred, r);
     delay(FADESPEED);
    }else{Serial.println(r);}
   }
   // fade from green to teal
   for (b = 0; b < 256; b++) {
    if(!strcmp(inStr,"fade")){Â
     analogWrite(ledblue, b);
     delay(FADESPEED);
    }else{Serial.println(b);}
   }
   // fade from teal to blue
   for (g = 255; g > 0; g--) {
    if(!strcmp(inStr,"fade")){Â
     analogWrite(ledgreen, g);
     delay(FADESPEED);
    }else{Serial.println(g);}
   }
  }}
    else{
  for(m=0;m<11;m++){
   inStr[m]=0;
  }
  i=0;
 Â
}
}
Thx
I used a bit of coding from GreatScott and an other website for the fade because I didn't want to write that much