J'ai un problème pour recevoir les messages que j'envoie d'une carte arduino a une autre

je cherche a communiquer entre 2 arduino uno en essayant de faire passer une variable int et une float cependant sur l'écran lcd branché au récepteur je reçois un int et un float qui ne change pas peut importe la modif, on a aussi essayer de faire marcher les codes les plus simple et rien n'a été concluant
dans le doute voici le dernier code que j'ai testé sur le récepteur:

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// Crée un objet LCD avec l'adresse I2C, 16 colonnes et 2 lignes
LiquidCrystal_I2C lcd(0x27, 16, 2); // Remplacez 0x27 par l'adresse de votre écran

void setup() {
Serial.begin(9600); // Initialise la communication série à 9600 bps
lcd.begin(); // Initialise l'écran LCD
lcd.backlight(); // Active le rétroéclairage de l'écran
}

void loop() {
if (Serial.available() > 0) {
char buffer[50]; // Tampon pour la chaîne de caractères
Serial.readBytesUntil('\n', buffer, sizeof(buffer)); // Lit jusqu'à la nouvelle ligne
buffer[sizeof(buffer) - 1] = '\0'; // Assurez-vous que la chaîne est terminée par un caractère nul

    float floatValue;
    int intValue;

    // Analyse les données reçues
    sscanf(buffer, "%f;%d", &floatValue, &intValue);

    // Efface l'écran
    lcd.clear();

    // Affiche les valeurs sur le LCD
    lcd.setCursor(0, 0); // Positionne le curseur à la première ligne
    lcd.print("Float: ");
    lcd.print(floatValue); // Affiche la valeur float

    lcd.setCursor(0, 1); // Positionne le curseur à la deuxième ligne
    lcd.print("Int: ");
    lcd.print(intValue); // Affiche la valeur int

    delay(1000); // Attendre 1 seconde avant de lire à nouveau
}

}

et le code de l'émetteur:

include <Arduino.h>

void setup() {
Serial.begin(9600); // Initialise la communication série à 9600 bps
}

void loop() {
float floatValue = 3.14; // Exemple de valeur float
int intValue = 42; // Exemple de valeur int

// Crée une chaîne de caractères pour envoyer les données
char buffer[50]; // Tampon pour la chaîne de caractères
snprintf(buffer, sizeof(buffer), "%.2f;%d", floatValue, intValue); // Formatage des données

Serial.println(buffer); // Envoie les données sous forme de chaîne
delay(1000); // Attendre 1 seconde avant d'envoyer à nouveau

}

et aussi dans le doute voici des photos de mon branchement :

Il faudrait lire et appliquer les bonnes pratiques du forum :

et préciser comment tu veux communiquer (en liaison série ?) et comment tout est connecté. La photo ne permet pas de bien voir.

Il est important de connecter le RX (pin 0) d'un arduino sur le TX (pin 1) de l'autre

Bof!

Bonjour eleve_de_prepa_qui_kiffe_arduino

Ton câblage semble bon, par contre, attention à l'usage des pin 0 et 1 car c'est le port de communication de la liaison USB du UNO, il peut y avoir des conflits.
Pour ton application, il est parfois préférable de créer des ports de communication au moyen de SoftwareSerial.
Quelques informations ici.

Cordialement
jpbbricole qui kiffe aussi arduino :wink: