Aide projet STI2D système d'émission/récéption

Bonjour,

Mon projet consiste à faire un système d'émission/réception radiofréquence avec un émetteur et un récepteur séparé, ce qui a été réussi, j’envoie une donnée et j'en reçois une sur le moniteur série d'Arduino. Mais l'autre partie est plus complexe, j'ai deux autres élèves dans mon groupe qui eux ont des sondes reliés a leurs cartes arduino (une pH et une température) et je dois récupérer leurs données et les mettre dans un tableur; je suis un peu perdu concernant cette partie.

Merci d'avance ! (ci-joint la partie que j'ai éffectué)

Edit :

La partie émetteur

#include <VirtualWire.h> // inclusion de la librairie VirtualWire
 
const char *msg = "Arduino"; // Tableau qui contient notre message
 
void setup() // Fonction setup()
{
    
    Serial.begin(9600); // Initialisation du port série pour avoir un retour sur le serial monitor
    Serial.println("Emetteur"); // Petit message de bienvenue
 
    vw_setup(2000);     // initialisation de la librairie VirtualWire à 2000 bauds (note: je n'utilise pas la broche PTT)

}
 
void loop() // Fonction loop()
{
    Serial.print("TX ... "); // On signale le début de l'envoi
    vw_send((uint8_t *)msg, strlen(msg)); // On envoie le message
    vw_wait_tx(); // On attend la fin de l'envoi
    Serial.println("Done !"); // On signal la fin de l'envoi
    delay(1000); // Et on attend 1s pour pas flooder
}

La partie Récepteur

#include <VirtualWire.h> // inclusion de la librairie VirtualWire
 
uint8_t buf[VW_MAX_MESSAGE_LEN]; // Tableau qui va contenir le message reçu (de taille maximum VW_MAX_MESSAGE_LEN)
uint8_t buflen = VW_MAX_MESSAGE_LEN; // Taille maximum de notre tableau
 
void setup() // Fonction setup()
{
    Serial.begin(9600); // Initialisation du port série pour avoir un retour sur le serial monitor
    Serial.println("Recepteur"); // Petit message de bienvenue
 
    vw_setup(2000); // initialisation de la librairie VirtualWire à 2000 bauds (note: je n'utilise pas la broche PTT)
    vw_rx_start();  // Activation de la partie réception de la librairie VirtualWire
}
 
void loop() // Fonction loop()
{
   if (vw_wait_rx_max(200)) // Si un message est reçu dans les 200ms qui viennent
    {
        if (vw_get_message(buf, &buflen)) // On copie le message, qu'il soit corrompu ou non
        {
            Serial.print("RX : ");
            for (byte i = 0; i < buflen; i++) // Si il n'est pas corrompu on l'affiche via Serial
                Serial.print((char)buf[i]);
            Serial.println("");
        }
    }
}

Salut,

Si tu met ton code en copie d'écran c'est ingérable, met le plutôt entre balises codes en lisant cela. Comment les données vont t'elles arrivées dans le tableur ? Il y a plusieurs solutions possibles dont celle là. Tiens nous au courant de celle que tu testes.

A plus

Update: Problème avec liens insérés dans le texte de mon post

Merci, pour ton aide, j'ai edit le post d'au dessus pour qu'il soit plus lisible. Le lien vers la façon de transmettre les données sur excel depuis l'arduino m'aide beaucoup mais avant d'arriver a la il faut que je récupère les données de mes camarades, je dois donc fusionner leurs programmes au miens et brancher leurs montages sur la voie série de mon emetteur ?

Voici par exemple le programme fonctionnel de celui qui doit acquérir le pH

#define SensorPin 0          //pH meter Analog output to Arduino Analog Input 0
unsigned long int avgValue;  //Store the average value of the sensor feedback
float b;
int buf[10],temp;

void setup()
{
  pinMode(13,OUTPUT);  
  Serial.begin(9600);  
  Serial.println("Ready");    //Test the serial monitor
}
void loop()
{
  for(int i=0;i<10;i++)       //Get 10 sample value from the sensor for smooth the value
  { 
    buf[i]=analogRead(SensorPin);
    delay(10);
  }
  for(int i=0;i<9;i++)        //sort the analog from small to large
  {
    for(int j=i+1;j<10;j++)
    {
      if(buf[i]>buf[j])
      {
        temp=buf[i];
        buf[i]=buf[j];
        buf[j]=temp;
      }
    }
  }
  avgValue=0;
  for(int i=2;i<8;i++)                      //take the average value of 6 center sample
    avgValue+=buf[i];
  float phValue=(float)avgValue*5.0/1024/6; //convert the analog into millivolt
  phValue=3.5*phValue;                      //convert the millivolt into pH value
  Serial.print("    pH:");  
  Serial.print(phValue,2);
  Serial.println(" ");
  digitalWrite(13, HIGH);       
  delay(800);
  digitalWrite(13, LOW); 

}