• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Problem z kodem do stacji meteo
#1
Witam.

Mam problem z kodem do stacji meteo mierzącej wilgotność, temperaturę oraz zanieczyszczenie powietrza w cząstkach PM2.5 i PM10.
Stacja składa się z nadajnika i odbiornika. Do nadajnika czyli do arduino nano są podłączone czujniki: DHT22 i PMS7003 oraz moduł transmisji radiowej NRF24L01, a do odbiornika czyli arduino nano jest podłączony moduł NRF24L01 i wyświetlacz, na którym są wyświetlone dane przesłane przez nadajnik. Problem tkwi w tym, że dane z DHT22 są wyświetlane normalnie na wyświetlaczu, a dane z PMS7003 przybierają wartość 0. Czujnik PMS7003 był sprawdzany przykładem z biblioteki przy aktualnym podłączeniu czujnika.
Dlatego prosiłbym o pomoc i sprawdzenie kodu.

Biblioteka PMS7003:https://github.com/fu-hsi/PMS

Kod-Nadajnik
Kod:
#include <nRF24L01.h>
#include <printf.h>
#include <RF24.h>
#include <RF24_config.h>
#include <DHT.h>
#include "PMS.h"

#define DHTPIN 5               
#define DHTTYPE DHT22         
DHT dht(DHTPIN, DHTTYPE);

PMS pms(Serial);
PMS::DATA data2;


RF24 transmit (7,8);                           
byte address [5] = "00001";                    

struct package
  {
    int temperature = 0;
    int humidity = 0;
    int PM25 = 0;
    int PM10 = 0;
  };

typedef struct package Package;
Package data;

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

void loop() {
  data.temperature = dht.readTemperature();
  data.humidity = dht.readHumidity();
  data.PM25 = (data2.PM_AE_UG_2_5);
  data.PM10 = (data2.PM_AE_UG_10_0);
  pms.requestRead();
  transmit.write(&data,sizeof(data));
  delay(1000);                                
}

Kod-Odbiornik
Kod:
#include <LiquidCrystal_I2C.h>
#include <nRF24L01.h>
#include <printf.h>
#include <RF24.h>
#include <RF24_config.h>
#include <Timers.h>


RF24 receive (7,8);                       
byte address [5] = "00001";              
LiquidCrystal_I2C lcd(0x27, 16, 2);



struct package
  {
    int temperature = 0;
    int humidity = 0;
    int PM25 = 0;
    int PM10 = 0;
  };

typedef struct package Package;
Package data;

void setup() {
  lcd.begin();
  lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("Otrzymane dane");
  receive.begin();
  receive.openReadingPipe(0,address);    
  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,0);
    lcd.print(data.temperature);
    lcd.print("C  ");
    lcd.print(data.humidity);
    lcd.print("%");
    lcd.setCursor(0,1);
    lcd.print(data.PM25);
    lcd.print("ug/m3  ");
    lcd.print(data.PM10);
    lcd.print("ug/m3");
   
  }
  delay(5000);
  lcd.clear();
}
 
Odpowiedź
  


Wiadomości w tym wątku
Problem z kodem do stacji meteo - przez Mr2208 - 07-08-2019, 20:35
RE: Problem z kodem do stacji meteo - przez kaczakat - 07-08-2019, 22:13
RE: Problem z kodem do stacji meteo - przez Mr2208 - 07-08-2019, 23:47
RE: Problem z kodem do stacji meteo - przez kaczakat - 08-08-2019, 15:12
RE: Problem z kodem do stacji meteo - przez Mr2208 - 08-08-2019, 15:42
RE: Problem z kodem do stacji meteo - przez Mr2208 - 08-08-2019, 16:50
RE: Problem z kodem do stacji meteo - przez Mr2208 - 08-08-2019, 23:45
RE: Problem z kodem do stacji meteo - przez kaczakat - 09-08-2019, 12:16
RE: Problem z kodem do stacji meteo - przez Mr2208 - 09-08-2019, 12:34
RE: Problem z kodem do stacji meteo - przez kaczakat - 10-08-2019, 15:47
RE: Problem z kodem do stacji meteo - przez Mr2208 - 11-08-2019, 22:09
RE: Problem z kodem do stacji meteo - przez Mr2208 - 21-08-2019, 21:01

Skocz do:


Przeglądający: 1 gości