Outils pour utilisateurs

Outils du site


start:esp32:uart

Connexion de 2 esp32 via Uart

Liaison UART entre 2 esp32 :

Commentaires

Le but c'est de faire clignoter une LED sur l'esp32 Slave qui sera pilotée par l'esp32 Master en envoyant 0 pour eteindre et 1 pour allumé la LED et cela via une liaison serie ou UART entre les 2 esp32 . L'UART 2 sera utilisée dans notre exemple.

Materiels

  1. - 2 ESP32
  2. - 1 breadboard
  3. - 1 Led 5 mm
  4. - 1 resistance 1/4w 1khoms
  5. - 2 PC avec ports USB ou 2 alimentations 5V 1A
  6. - Fils de cablage dupont 15 cm

le schéma:

ESPMasterESPSlave
br 17 TX2 br 16 RX2
br 16 RX2 br 17 TX2
GND (A cote 5V) GND (A cote 5V)
br 15 LED verte
GND ( A cote P23)

Programmes Master et Slave

Programme_Master.ino
#include <HardwareSerial.h>
HardwareSerial SerialPort(2); // use UART2
void setup()
{
    SerialPort.begin(15200, SERIAL_8N1, 16, 17);
}
void loop()
{
    SerialPort.print(1);
    delay(5000);
    SerialPort.print(0);
    delay(5000);
}
Programme_Slave.ino
#include <HardwareSerial.h>
HardwareSerial SerialPort(2); // use UART2
char number = ' ';
int LED = 15;
void setup()
{
    Serial.begin(9600);
    SerialPort.begin(15200, SERIAL_8N1, 16, 17);
    pinMode(LED, OUTPUT);
}
void loop()
{
    if (SerialPort.available())
    {
       char number = SerialPort.read();
       if (number == '0') {
       digitalWrite(LED, LOW);
       Serial.print("0"); /* verification reception 0 */
       }
       if (number == '1') {
          digitalWrite(LED, HIGH);
          Serial.print("1"); /* verification reception 1 */
       }
   }
}
NOTA important :
  • BRANCHER les ESP32 sur des PC ou des alimentations différentes , branché sur la même alimentation cela ne fonctionne pas…. ????
  1. j ai essayé à 115200 Bauds : cela fonctionne aussi
  2. J ai essayé 1 secondes pour le “delay” sur l'esp32 master : cela fonctionne .
/home/chanteri/www/fablab37110/data/pages/start/esp32/uart.txt · Dernière modification : 2024/10/07 16:36 de gerardadmin