前提・実現したいこと
・nrf24l01モジュールを使用してarduino mega 2560とarduino nano互換機であるmaker nanoの一方向通信を実現したい
nrf24l01とRF24ライブラリを使用し、arduino megaから"hello world!"というメッセージの電波を送信し、maker nanoのシリアルモニタにメッセージを表示させようとしています。
発生している問題
arduino IDEで書き込みをした後、シリアルモニタをのぞくと”⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮”という文字列が永遠と送られてきています。
よろしくお願いいたします。
該当のソースコード
送信側(arduino mega 2560)
C++
1//Include Libraries2#include <SPI.h>3#include <nRF24L01.h>4#include <RF24.h>5 6//create an RF24 object7RF24 radio(9, 10); // CE, CSN8 9//address through which two modules communicate.10const byte address[6] = "00001";11 12void setup()13{14 radio.begin();15 16 //set the address17 radio.openWritingPipe(address);18 19 //Set module as transmitter20 radio.stopListening();21}22void loop()23{24 //Send message to receiver25 const char text[] = "Hello World";26 radio.write(&text, sizeof(text));27 28 delay(1000);29}
受信側(maker nano)
C++
1//Include Libraries2#include <SPI.h>3#include <nRF24L01.h>4#include <RF24.h>5 6//create an RF24 object7RF24 radio(9, 8); // CE, CSN8 9//address through which two modules communicate.10const byte address[6] = "00001";11 12void setup()13{14 while (!Serial);15 Serial.begin(9600);16 17 radio.begin();18 19 //set the address20 radio.openReadingPipe(0, address);21 //Set module as receiver22 radio.startListening();23}24 25void loop()26{27 //Read the data if available in buffer28 if (radio.available())29 {30 char text[32] = {0};31 radio.read(&text, sizeof(text));32 Serial.println(text);33 }34}
試したこと
・シリアルモニタにてビット数(bps)の変更
結果:57600bps以外では"⸮"すらも送られてきません。
0 コメント