Automatic switching-on of LEDs with arduino bluetooth android

There is a code which let to run LEDs with android using bluetooth module HC-05. LEDs switch one by one, it is ok.

But it nesessary to add the mode of switching of all diodes in automatic random mode.

The code wich I use is below. The code is working well.

int ledPin_1 = 9;
int ledPin_2 = 10;
int ledPin_3 = 11;
int ledPin_4 = 12;
int ledPin_5 = 13;

void setup() {
 Serial.begin(9600);

 pinMode(ledPin_1, OUTPUT);
 pinMode(ledPin_2, OUTPUT); 
 pinMode(ledPin_3, OUTPUT);
 pinMode(ledPin_4, OUTPUT); 
 pinMode(ledPin_5, OUTPUT);
}

void loop() {

 if (Serial.available() > 0) {   
   int i = Serial.read()-48;
   if (i == 1)digitalWrite(ledPin_1, !digitalRead(ledPin_1));
   if (i == 2)digitalWrite(ledPin_2, !digitalRead(ledPin_2));
   if (i == 3)digitalWrite(ledPin_3, !digitalRead(ledPin_3));
   if (i == 4)digitalWrite(ledPin_4, !digitalRead(ledPin_4));
   if (i == 5)digitalWrite(ledPin_5, !digitalRead(ledPin_5));

}
}

I think may be to use the code for random mode ;D :

void randomLED()
{
 int index;
 int delayTime;

 index = random(5);  delayTime = 100;

 digitalWrite(ledPins[index], HIGH);  
 delay(delayTime);              
 digitalWrite(ledPins[index], LOW);   
}

This code separately is working good but i can't bind it with bluetooth. :angry:

Please help.

This code separately is working good but i can't bind it with bluetooth.

Why can't you? When do you want to call that function?

If all you want to do is start the random process using a code from Bluetooth you can just use one of the characters from your first code to start it and another to stop it - something like this

boolean randomLeds = false;
void loop() {
  if (Serial.available() > 0) {   
    int i = Serial.read()-48;
    if (i == 1) {
       randomLeds = true;
    }
    if (i == 2) {
       randomLeds = false;
    }
   }
   randomFlashLeds();
  } // end of loop() in case I haven't got my } brackets correct

  void randomFlashLeds() {
      int index;
      int delayTime;
 
      index = random(5);     
      delayTime = 100;
 
     digitalWrite(ledPins[index], HIGH);  
     delay(delayTime);              
     digitalWrite(ledPins[index], LOW);   
  }

You will probably want to replace the use of delay() with millis() as illustrated in several things at a time

...R

This code lets to switch on and switch off 5 LEDs one by one.

When I send command "1" from android the first LED switches on. When I send the command "1" one more time the LED switches off.
I send the command "2" to switch the second LED on or off .
Every LED works in that way. This code is below.

int ledPin_1 = 9;
int ledPin_2 = 10;
int ledPin_3 = 11;
int ledPin_4 = 12;
int ledPin_5 = 13;

void setup() {
Serial.begin(9600);

pinMode(ledPin_1, OUTPUT);
pinMode(ledPin_2, OUTPUT); 
pinMode(ledPin_3, OUTPUT);
pinMode(ledPin_4, OUTPUT); 
pinMode(ledPin_5, OUTPUT);
}

void loop() {

if (Serial.available() > 0) {   
  int i = Serial.read()-48;
  if (i == 1)digitalWrite(ledPin_1, !digitalRead(ledPin_1)),Serial.println(" ledPin_1 !digitalRead ");
  if (i == 2)digitalWrite(ledPin_2, !digitalRead(ledPin_2)),Serial.println(" ledPin_2 !digitalRead ");
  if (i == 3)digitalWrite(ledPin_3, !digitalRead(ledPin_3)),Serial.println(" ledPin_3 !digitalRead ");
  if (i == 4)digitalWrite(ledPin_4, !digitalRead(ledPin_4)),Serial.println(" ledPin_4 !digitalRead ");
  if (i == 5)digitalWrite(ledPin_5, !digitalRead(ledPin_5)),Serial.println(" ledPin_5 !digitalRead ");
}
}

Yes, I need to run random mode when I send "6" and to switch the random mode off when I send "6" one more time.
The random code is below.

int ledPins[] = {2,3,4,5,6,7,8,9};

void setup()
{
int index;
for(index = 0; index <= 7; index++)
{
  pinMode(ledPins[index],OUTPUT);
}
}
void loop()
{
randomLED();
}
void randomLED()
{
int index;
int delayTime;

index = random(5);  delayTime = 100;

digitalWrite(ledPins[index], HIGH);  
delay(delayTime);              
digitalWrite(ledPins[index], LOW);   
}

I don't know how to program this code for the command "6"