COMUNICACIÓN SERIE

La comunicación entre los microcontroladores ATMega y ESP puede realizarse mediante el puerto Serie. Veamos un ejemplo.

ESP enviará por el puerto serie la orden de encender y apagar el LED 13 y ATMega leerá la orden enviada por ESP y se encargará de llevarla a cabo encendiendo y apagando el LED 13. Para ello tenemos que realizar 2 programas.

PROGRAMA ATMEGA

El micro ATMega se encargará de realizar lecturas del puerto Serie. Si recibe el número 1, enciende el LED 13. Si recibe el número 0, apaga el LED 13. Escribe el siguiente programa en Arduino IDE:

void setup() {
 Serial.begin(115200);
 pinMode(13, OUTPUT);
}

void loop() {
  while (Serial.available()){
    char inChar = (char)Serial.read();
    if (inChar == '1'){
      digitalWrite(13, HIGH);
    }
    else if (inChar == '0'){
      digitalWrite(13, LOW);
    }
  }
}

A continuación conecta la placa al ordenador. En Arduino IDE, en el menú superior, selecciona la placa Arduino UNO, dentro de la opción Herramientas. Selecciona también el puerto COM correspondiente.

A continuación activa los interruptores 3 y 4 y desactiva el resto de interruptores

Procedemos a subir el programa a la placa pulsando el icono flecha

PROGRAMA ESP

Programamos el micro ESP para que envíe por el puerto Serie el código 0 y 1 de forma intermitente, para dar la orden de encender y apagar el LED 13. Crea un nuevo archivo en Arduino IDE con el siguiente código:

void setup() {
 Serial.begin(115200);
 
}
void loop() {
Serial.print("1");
delay(1000);
Serial.print("0");
delay(500);

}

A continuación sube el programa a la placa. Cambia la configuración de los interruptores, activando los interruptores 5, 6 y 7 y desactivando todos los demás.

A continuación, en Arduino IDE, selecciona como tarjeta el módulo genérico ESP8266 y pulsa en el icono subir. En la placa debes mantener presionado el botón ESP Reboot hasta que veas que empieza a subir el % de carga.

Una vez terminada la carga del programa, desactiva todos los interruptores y activa los interruptores 1 y 2.

Pulsa el botón reset de la placa y a continuación comenzarán a ejecutarse ambos programas. Como resultado verás el LED 13 parpadear