2021年5月20日木曜日

DHT22+NRF24L01 温度ロガー…その9

DHT22+NRF24L01の続きからです…I2C 1602LCDを追加してみました。


一向に進んでいません。

DHT22+NRF24L01・受信用の設定です

/*****************************************
  2021/05/15
  DHT22データ・受信用
  使用チャンネル:88
  VCC  3.3V紫
  GND  黒
  SCK  13緑
  MISO 12白 
  MOSI 11青
  CE   9黄
  CSN  8橙
 *****************************************/
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C: 0x27, 16x2 LCD

//NRF24L01ライブラリ読込
#include <nRF24L01.h>
#include <RF24.h>
#include <RF24_config.h>
RF24 myRadio (9, 8);
byte addresses[][6] = {"00001"};
//構造体の定義
struct package
{
  float temperature ;
  float humidity ;
};
typedef struct package Package;
Package data;
//
void setup()
{
 
  lcd.init();
  lcd.backlight();
  lcd.setCursor(0, 0);
  Serial.begin(9600);
  Serial.println("Starting Receiver \n");
  myRadio.begin();
  myRadio.openReadingPipe(0, 00001);      //open reading pipe 0 at address 00001
  myRadio.setPALevel(RF24_PA_MAX);         //Set RF output to minimum
  myRadio.setDataRate(RF24_250KBPS);       //set datarate to 250kbps
  //RFチャンネル番号(0~127)書き込む 
  myRadio.setChannel(88);
  myRadio.startListening();
}

void loop() {

  if (myRadio.available()) //check when received data available
  {
lcd.clear();
    myRadio.read(&data, sizeof(data));
    Serial.print(data.temperature);
    Serial.println(" C  ");
    Serial.print(data.humidity);
    Serial.println(" %  ");
  
  lcd.print(data.temperature);
  lcd.setCursor(0, 1);
  lcd.print(data.humidity); 
  }

}