การใช้งาน NRF24L01 Module โมดูลสื่อสารไร้สาย NRF24L01 ความถี่ 2.4G ร่วมกับ Arduino
ต่อขาโมดูล nRF24L01 กับ Arduino uno ดังนี้
- Vcc-3.3V
- Gnd - Gnd
- CSN - 7
- CE - 8
- MOSI - 11
- SCK - 13
- MISO - 12
สำหรับการต่อขาโมดูล nRF24L01 กับ Arduino Mega ดังนี้
- Vcc-3.3V
- Gnd - Gnd
- CSN - 7
- CE - 8
- MOSI - 51
- SCK - 52
- MISO - 50
การทำงานจะมี 2 ส่วนคือ ภาคส่ง กับภาครับ
โคด NRF24L01 ส่วนของการทำงานภาคส่ง
#include <SPI.h> #include <nRF24L01p.h> nRF24L01p transmitter(7,8);//CSN,CE void setup(){ delay(150); Serial.begin(115200); SPI.begin(); SPI.setBitOrder(MSBFIRST); transmitter.channel(90); // ตั้งช่องความถี่ให้ตรงกัน transmitter.TXaddress("ALL"); // ตั้งชื่อตำแหน่งให้ตรงกัน ชื่อตั้งได้สูงสุด 5 ตัวอักษร transmitter.init(); } String message; void loop(){ transmitter.txPL("Welcome ArduinoAll"); // ค่าที่ต้องการส่ง transmitter.send(FAST); // สั่งให้ส่งออกไป delay(1000); } โคด NRF24L01 ส่วนของการทำงานภาครับ
#include <SPI.h> #include <nRF24L01p.h> nRF24L01p receiver(7,8);//CSN,CE void setup(){ delay(150); Serial.begin(115200); SPI.begin(); SPI.setBitOrder(MSBFIRST); receiver.channel(90); // ตั้งช่องความถี่ให้ตรงกัน receiver.RXaddress("ALL"); // ตั้งชื่อตำแห่นงให้ตรงกัน ชื่อตั้งได้สูงสุด 5 ตัวอักษร receiver.init(); } String message; void loop(){ if(receiver.available()){ receiver.read(); // สั่งให้เริ่มอ่าน receiver.rxPL(message); // สั่งใหอ่านเก็บไว้ที่ตัวแปร Serial.println(message); message=""; } }
หมายเหตุ : ในกรณีที่บอร์ดไม่ทำงาน ลองใส่ตัวเก็บประจุ 0.1uf ที่แหล่งจ่ายไฟขั้วบวกและขั้วลบ จะช่วยแก้ปัญหาได้ เพราะวิธีนี้ช่วยลดสัญญาณรบกวนได้ http://forum.arduino.cc/index.php?topic=171611.0
เเหล่งอ้างอิง
https://www.arduinoall.com/article/10/%E0%B8%AA%E0%B8%AD%E0%B8%99-%E0%B8%A7%E0%B8%B4%E0%B8%98%E0%B8%B5-%E0%B9%83%E0%B8%8A%E0%B9%89%E0%B8%87%E0%B8%B2%E0%B8%99-nrf24l01-module-%E0%B9%82%E0%B8%A1%E0%B8%94%E0%B8%B9%E0%B8%A5%E0%B8%AA%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%AA%E0%B8%B2%E0%B8%A3%E0%B9%84%E0%B8%A3%E0%B9%89%E0%B8%AA%E0%B8%B2%E0%B8%A2-nrf24l01-%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1%E0%B8%96%E0%B8%B5%E0%B9%88-2-4g-%E0%B8%A3%E0%B9%88%E0%B8%A7%E0%B8%A1%E0%B8%81%E0%B8%B1%E0%B8%9A-arduino-%E0%B9%83%E0%B8%8A%E0%B9%89%E0%B8%87%E0%B8%B2%E0%B8%99%E0%B9%84%E0%B8%94%E0%B9%89%E0%B8%A0%E0%B8%B2%E0%B8%A2%E0%B9%83%E0%B8%99-3-%E0%B8%99%E0%B8%B2%E0%B8%97%E0%B8%B5