Hola,
estoy creando un proyecto para iluminar una tabla con 198 leds. Mi idea es la de realizarlo a través del bluetooth HC-06. Este comunicará con un arduino maestro que tendrá 4 esclavos, que a su vez con dos MUX cada esclavo iluminarán su led según el código introducido desde la app movil.
El problema:
Estoy probando con un maestro y un esclavo (A pequeña escala). El bluetooth envía correctamente los datos al maestro pero el maestro no logra enviar dichos datos al arduino esclavo para que este encienda sus led.
Muestro el código de maestro:
#include <SoftwareSerial.h>
SoftwareSerial hc06(2,3); //Tx D2 y Rx D3
SoftwareSerial ardu1(10,11); // Tx Rx
String cmd="";
void setup(){
//Initialize Serial Monitor
Serial.begin(4800);
//Initialize Bluetooth Serial Port
hc06.begin(9600);
//Comunicacion Ardu_1
ardu1.begin(2400);
pinMode(4,OUTPUT);
}
void loop(){
hc06.listen();
//Read data from HC06
while(hc06.available()>0){
cmd+=(char)hc06.read();
}
//Select function with cmd
if(cmd!=""){
Serial.print("Command recieved : ");
Serial.println(cmd);
ardu1.listen();
if(cmd=="a1"){
Serial.println("Enciende A1");
ardu1.write("a1"); // También he probado con ardu1.print
}else if(cmd=="a2"){
Serial.print("Enciende A2");
ardu1.write("a2");
}
cmd=""; //reset cmd
}
delay(100);
}
Código del esclavo:
#include <SoftwareSerial.h>
SoftwareSerial master(2,3); //Tx D2 y Rx D3
String cmd="";
void setup(){
//Initialize Serial Monitor
Serial.begin(4800);
//Initialize Bluetooth Serial Port
master.begin(2400);
pinMode(15,OUTPUT);
pinMode(16,OUTPUT);
}
void loop(){
master.listen();
//Read data from HC06
while(master.available()>0){
Serial.println(master.read());
cmd+=(char)master.read();
}
//Select function with cmd
if(cmd!=""){
if(cmd=="a1"){
digitalWrite(15,HIGH);
}else if(cmd=="a2"){
digitalWrite(16,HIGH);
}else{
digitalWrite(15,LOW);
digitalWrite(16,LOW);
}
cmd=""; //reset cmd
}
delay(100);
}
Y ahora unas imágenes de las conexiones aunque no se aprecian muy bien:
y un esquema de los que pretendo:
No veo que error estoy cometiendo para no poder comunicar entre arduinos.
Muchas gracias a todos, espero haber posteado correctamente, es mi primera vez.