NRF24L01+ Wireless Transceiver Module
今回からDHT22とNRF24L01+を使って無線実験を行います。
稚拙な日記を読んで下さる熱心な生徒様用に…カエルとパラボラアンテナのイラストが入ったネームタグを作ってみました。
稚拙な日記を読んで下さる熱心な生徒様用に…カエルとパラボラアンテナのイラストが入ったネームタグを作ってみました。
1対1の通信であれば参考スケッチのコピペだけで動かす事が出来たのでした。
続く…
/*****************************************
2021/05/15
DHT22データ・Transmitter・送信
使用チャンネル:88ch
VCC 3.3V紫
GND 黒
SCK 13緑
MISO 12白
MOSI 11青
CE 9黄
CSN 8橙
*****************************************/
//NRF24L01ライブラリ読込
#include "DHT.h"
#include <nRF24L01.h>
#include <RF24.h>
#include <RF24_config.h>
//DHTライブラリー読込 DHTピンは4番 灰
#define DHTPIN 4
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
RF24 myRadio (9, 8);
byte addresses[][6] = {"00001"};
const int led_pin = 13;
//構造体の定義
struct package
{
float temperature ;
float humidity ;
};
typedef struct package Package;
Package data;
2021/05/15
DHT22データ・Transmitter・送信
使用チャンネル:88ch
VCC 3.3V紫
GND 黒
SCK 13緑
MISO 12白
MOSI 11青
CE 9黄
CSN 8橙
*****************************************/
//NRF24L01ライブラリ読込
#include "DHT.h"
#include <nRF24L01.h>
#include <RF24.h>
#include <RF24_config.h>
//DHTライブラリー読込 DHTピンは4番 灰
#define DHTPIN 4
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
RF24 myRadio (9, 8);
byte addresses[][6] = {"00001"};
const int led_pin = 13;
//構造体の定義
struct package
{
float temperature ;
float humidity ;
};
typedef struct package Package;
Package data;
//
void setup()
{
Serial.begin(9600);
pinMode(led_pin, OUTPUT);
dht.begin();
myRadio.begin();
//RFチャンネル番号(0~127)を書き込む
myRadio.setChannel(88);
myRadio.setPALevel(RF24_PA_MAX);
myRadio.setDataRate( RF24_250KBPS ) ;
myRadio.openWritingPipe(00001);
delay(3000);
}
void loop()
{
digitalWrite(led_pin, HIGH); // Flash a light to show transmitting
readSensor();
Serial.print("Temp:");
Serial.print(data.temperature);
Serial.println("C");
Serial.print("RH :");
Serial.print(data.humidity);
Serial.println("%");
myRadio.write(&data, sizeof(data));
digitalWrite(led_pin, LOW);
delay(3000);
}
void readSensor()
{
data.humidity = dht.readHumidity();
data.temperature = dht.readTemperature();
}