Problème liaison série arduino - MegaPi

bonjour,

j’aimerai communiquer la fonction xf de mon code sur ma arduino uno a une MegaPi mais je n’y arrive pas,j’arrive déjà a faire la communication mais la carte MegaPi reçoit toute les données de ma carte arduino mais je veux envoyer que la variable xf.

j’utilise les ports RX et TX pour communiquer entre une arduino uno et une MegaPi.

Code arduino

#include "Ultrasonic.h"
#include "rgb_lcd.h"
#include <Wire.h>

//mettre le capteur sur la broche 7
//mettre l'écran LDC sur une broche I2C

Ultrasonic ultrasonic(7);

int xf;
long RangeInCentimeters;

//défini la couleur de l'écran LCD
rgb_lcd lcd;
const int colorR = 255;
const int colorG = 255 ;
const int colorB = 0;


void setup() {
  Serial.begin(9600);
    //distance la plus petite de base
    xf=1000; 
    //défini la taille de l'écran 
    lcd.begin(16, 2);
    //met en place la couleur de l'écran
    lcd.setRGB(colorR, colorG, colorB);
}



void loop() {
     delay(500);
      
       //prend la distance
       RangeInCentimeters = ultrasonic.MeasureInCentimeters();
         
         //affiche la distance
          Serial.print("Distance mesurée: ");
          Serial.print(RangeInCentimeters);
          Serial.println(" cm");
         
         
         //compare les distance pour prendre la plus petite
         //si la distance la plus petite est plus petite que la derniere valeur obtenu ne rien faire  
          if (xf < RangeInCentimeters){
            }         
          
          //sinon la distance la plus petite prend la valeur de la derniere distance mesuré 
           else{        
           
            xf = RangeInCentimeters;
          
           }
      
     
     delay(250);
        //afficher distance la plus petite   
              Serial.print("Distance Min:     ");
              Serial.print(xf);
              Serial.println(" cm");
              Serial.println();

       
       
       //1er ligne de l'écran affichage distance 
       lcd.setCursor(0,0);       
       lcd.write("Distance:");
       lcd.print(RangeInCentimeters);
       lcd.write(" cm        "); 
       
       
       
      //2 eme ligne de l'écran affiche distance minimal
       lcd.setCursor(0, 1);
       lcd.write("Dist min:");
       lcd.print(xf);
       lcd.write(" cm         "); 
 
      
  
}

distance_v5.ino (2 KB)

Bonjour,

Le plus simple c’est d’utiliser SoftwareSerial pour simuler une autre liaison série et d’envoyer uniquement la valeur xf sur cette liaison.