(resolu)programmation module UHF

Voici le code coté emetteur un peu en brouillon dans les commentaires.

#include <OneWire.h>
#include <DallasTemperature.h>
int tempC;
 char chaine[15] = { '\0' };

#define ONE_WIRE_BUS 8

OneWire oneWire(ONE_WIRE_BUS);
#include <VirtualWire.h> 

DallasTemperature sensors(&oneWire);

DeviceAddress insideThermometer;

void setup(void)
{
 vw_setup(2000); 
 vw_set_tx_pin(3);
  // start serial port
  Serial.begin(9600);
  Serial.println("Dallas Temperature IC Control Library Demo");

    Serial.print("Locating devices...");
  sensors.begin();
  Serial.print("Found ");
  Serial.print(sensors.getDeviceCount(), DEC);
  Serial.println(" devices.");

  
  Serial.print("Parasite power is: "); 
  if (sensors.isParasitePowerMode()) Serial.println("ON");
  else Serial.println("OFF");
  
 
  if (!sensors.getAddress(insideThermometer, 0)) Serial.println("Unable to find address for Device 0"); 
  
      Serial.print("Device 0 Address: ");
   Serial.println();

    sensors.setResolution(insideThermometer, 9);
 
  Serial.print("Device 0 Resolution: ");
  Serial.print(sensors.getResolution(insideThermometer), DEC); 
  Serial.println();
}

void printTemperature(DeviceAddress deviceAddress)
{
//float tempC = sensors.getTempC(deviceAddress);
  Serial.print("Temp C: ");
  Serial.print(sensors.getTempC(deviceAddress));
 float tempC = sensors.getTempC(deviceAddress);
  Serial.print(" Temp F: ");
  Serial.print(sensors.getTempF(deviceAddress)); // Makes a second call to getTempC and then converts to Fahrenheit
  Serial.print ("");
  //Serial.print(" Temp F: ");
Serial.println ("");


char chaine[15] = { '\0' };
       // const char chaine[15];
        itoa( tempC, chaine, 10 );
        vw_send((uint8_t *)chaine, strlen(chaine)+1);
        delay(400);
       vw_wait_tx();                                          // On attend que le message complet soit envoyé.
      delay(1000);                                              // Très important sinon cela peut brouiller d'autres appareils !
     // vw_rx_stop();

}


void loop(void)
{ 
  
  sensors.requestTemperatures(); // Send the command to get temperatures
 
  printTemperature(insideThermometer); // Use a simple function to print out the data

}
// function to print a device address
void printAddress(DeviceAddress deviceAddress)

{

  for (uint8_t i = 0; i < 8; i++)
  {
    if (deviceAddress[i] < 16) Serial.print("0");
    Serial.print(deviceAddress[i], HEX);
  int tempC = sensors.getTempC(deviceAddress);
 // char chaine[15] = { '\0' };
 
 //      // const char chaine[15];
 //       itoa( tempC, chaine, 10 );
 //       vw_send((uint8_t *)chaine, strlen(chaine)+1);
 //       delay(400);
 //      vw_wait_tx();                                          // On attend que le message complet soit envoyé.
 //     delay(2000);                                              // Très important sinon cela peut brouiller d'autres appareils !
 //     vw_rx_stop();

  }

}

et voici le code coté recepteur :

    #include <VirtualWire.h> // Vous devez télécharger et installer la librairie VirtualWire.h dans votre dossier "/libraries" !
#include <Wire.h>
#include <Deuligne.h>

// déclaration de l'objet lcd
Deuligne lcd = Deuligne();

    void setup()
    {
      Wire.begin(); // initialisation bus I2C (obligatoire)
     lcd.init(); // initialisation lcd (obligatoire)
     lcd.clear(); // clear screen  
      Serial.begin(9600);    // On initialise "le serial monitor", j'ai laissé 9600 bauds ici car c'est la valeur par défaut mais vous pouvez la modifier. Attention à bien mettre la même valeur dans votre Serial Monitor et dans votre programme.
        vw_setup(2000);                 // Bits par seconde (vous pouvez le modifier mais cela modifiera la portée). Voir la documentation de la librairie VirtualWire.
        vw_set_rx_pin(11);             // C'est sur cette broche que l'on reliera les broches DATA du récepteur, vous pouvez changez de broche si vous le désirez.
        vw_rx_start();                    // On démarre le récepteur.
    }

    void loop()
    {
       // uint8_t buf[VW_MAX_MESSAGE_LEN];
       // uint8_t buflen = VW_MAX_MESSAGE_LEN;

       // if (vw_get_message(buf, &buflen)) // On test afin de savoir si un message est reçu.
        {
        int i;
         // Un message est reçu.

        //for (i = 0; i < buflen; i++)
        {
       //     Serial.print(buf[i]);  // On affiche le message lettre par lettre. Par exemple buf[4] sera égale à la 5ème lettre du mot envoyé (Snootlab donc "t") car on compte le zéro ici.
          //lcd.print (buf[i]);  
          }
        Serial.println(""); // On saute une ligne afin d'avoir plus de clarté.
        delay(1000);
        lcd.clear();
        lcd.print("Temp :"); 
       // lcd.print (buf[i]);
        
         }
    
    

    int tempC;
    uint8_t buflen = sizeof(tempC);
    if (vw_get_message((uint8_t*)&tempC, &buflen)) // Non-blocking
    {
int i;
// Message with a good checksum received, dump HEX
Serial.print("Got: ");
    Serial.println(tempC, DEC);
Serial.println("");
  lcd.print (tempC,DEC) ;
 }
    }

NOTA : j utilise un lcd Deuligne pour l'affichage de la temperature.

Merci BARBUDOR pour le coup de main c'est tres sympa même si des fois tu doit t'arracher les cheveux devant les incompréhensions.