Problème Station météo

Bonjours,

Je souhaite souligner que je débute avec l’arduino.

Je suis en train de réaliser une petite station météo avec comme composant deux module NRF24L01, ensuite, 1 module dht11, une carte arduino nano et arduino uno.

Mon problème est que rien se passe quand je mes en marche ma station météo…

Voici la partie réception de mon programme (c’est-à-dire la station météo):

#include <nRF24L01.h>
#include <RF24.h>
#include <RF24_config.h>
#include <LiquidCrystal.h>

RF24 receive (2,3);                         
const uint64_t pipe = 0xE8E8F0F0E1LL;               
LiquidCrystal lcd(8,9,4,5,6,7);

int output_pin10 = 10;
int contrast = 75;

struct package
  {
    float temperature = 0;
    float humidity = 0;
  };

typedef struct package Package;
Package data;

void setup() {
  lcd.begin(16,2);
  lcd.setCursor(0,0);
  lcd.print("Now Receiving...");
  pinMode(output_pin10, OUTPUT);
  analogWrite(output_pin10, contrast);
  receive.begin();
  receive.openReadingPipe(0,pipe);      
  receive.setPALevel(RF24_PA_MIN);        
  receive.setDataRate(RF24_250KBPS);      
  receive.setChannel(100);                
  receive.startListening();                
  }

void loop() {

  if (receive.available())
  {
    receive.read(&data, sizeof(data));
    lcd.setCursor(0,1);
    lcd.print(data.temperature);
    lcd.print("C ");
    lcd.print(data.humidity);
    lcd.print("H ");
    
  }
}

Petite image du montage + mon problème d’affichage !

Voici la partie transmission de mon programme:

#include <nRF24L01.h>
#include <RF24.h>
#include <RF24_config.h>
#include <DHT.h>

#define DHTPIN A0
#define DHTTYPE DHT11
DHT dht(A0, DHT11);

RF24 transmit (2,3);
const uint64_t pipe = 0xE8E8F0F0E1LL;

struct package
  {
    float temperature = 0;
    float humidity = 0;
    float rainfall = 0; 
  };

typedef struct package Package;
Package data;

void setup() {
  dht.begin();
  transmit.begin();
  transmit.openWritingPipe(pipe);
  transmit.setPALevel(RF24_PA_MAX);
  transmit.setDataRate(RF24_250KBPS);
  transmit.setChannel(100);
  transmit.stopListening();
  }

void loop() {
  data.temperature = dht.readTemperature();
  data.humidity = dht.readHumidity();
  transmit.write(&data,sizeof(data));
  delay(1000);                                 
}

image du branchement coté TX :

Dans doute un soucis d'alimentation des NRF (vous emettez à fond, votre pin 3.3V est lilmitée à 50mA, normalement c'est OK maiz l'appel de puissance peut etre violent) ou suivant le type de colposant une conversion 3V/5V nécessaire sur les pins data

Éventuellement jetez un œil à ce petit tuto, je n'ai jamais eu de soucis en utilisant le petit adaptateur sinon faut parfois bricoler un peu avec des condos sur l'alim

Si vous faites le test avec les 2 NRF très proches alors mettez le niveau d'émission au min car trop fort/trop proche ça fonctionne mal

Ps: bien sûr j'imagine que vous avez déjà réglé le contraste de votre afficheur et qu'il n'est pas mis à fond ce qui donne souvent les beaux rectangles blancs que l'on peut voir sur votre photo !!! :wink:

Bonjour Mathmatboy,

Normalement, il faut des adaptateurs de signaux pour le NRF24L01, car ils fonctionnent en 3,3v et l'Arduino en 5V.

Cela coûte 1€ sur ebay ou AE...

Donc, il est logique que cela ne fonctionne pas, voir que les NRF24L01 soit mort avec le 5V des signaux !!!

Attention à bien vérifier les tensions et les signaux entre 5v et 3,3v !

Bon courage,
Jean-Nono

Salut merci pour vos réponse !

Pour commencer, j’ai réglé mon problème d’affichage mais j’ai encore un autre problème, voila se qui m’affiche quand je lance l’arduino.

Croyez-vous cela pourrai provenir de l’adapteur de signaux qui me manque ?

Bonjour,

Difficile à dire, mais le câblage du LCD semble n'être pas bon ! A vérifier.

A bientôt,
Jean-Nono

Salut, pour le cablage du lcd oui il était pas bon mais je les corrigés

Et?