NRF24L01
NRF24L01 เป็นโมดูลรับส่งข้อมูลไร้สายที่ความถี่ 2.4 GHz ติดต่อกับแบบ SPI ใช้พลังงานต่ำ ใช้ไฟเลี้ยง 3.3 V แต่สามารถใช้ระดับแรงดันในการติดต่อ 5V ได้ปกติ **เวลาใช้งานจะต้องใช้คู่กัน 2 ตัว**
**** เวลาใช้งานจะต้องจ่ายไฟเลี้ยงให้กับโมดูลไม่เกิน 3.3 V เท่านั้น ส่วน PIN อื่นๆใช้ 5V ต่อได้ปกติครับ****
NRF24L01 + and NRF24L01 the difference between:
NRF24L01 +: 250K 1M 2M three speed, nRF24L01: 1M 2M two speed control mode RF parameters are the same
NRF24L01 launch 11.3mA 0dBm receiving the 12.3mA NRF24L01 + emission 11.3mA 0dBm receiving 13.5mA
การต่อวงจร
Arduino NRF24L01
3.3V VCC
GND GND
pin 7 4 CNS หรือ CS
pin 8 3 CE
pin 11 6 MOSI
pin 12 7ึ MISO
pin 13 5 SCK
ดาวน์โหลด Library NRF24L01
การใช้งานจะมี 2 ส่วนคือ ตัวรับ ตัวส่ง
โค้ด NRF24L01 ส่วนของตัวส่ง
#include
#include
String message;
nRF24L01p transmitter(7,8);//CSN,CE
void setup()
{
Serial.begin(115200);
SPI.begin();
SPI.setBitOrder(MSBFIRST);
transmitter.channel(88); // กำหนดช่องสื่อสาร
transmitter.TXaddress("AAA"); // ตั้งชื่อตำแหน่งให้ตรงกันระหว่างตัวรับ ตัวส่ง (ได้สูงสุด 5 ตัวอักษร)
transmitter.init();
}
void loop()
{
transmitter.txPL("www.ArduinoThai.com Test"); // ข้อความที่ต้องการส่ง
transmitter.send(FAST); // สั่งให้ส่งส่งข้อความออกไป
delay(1000);
}
โค้ด NRF24L01 ส่วนของตัวรับ
#include
#include
String message;
nRF24L01p receiver(7,8);//CSN,CE
void setup()
{
Serial.begin(115200);
SPI.begin();
SPI.setBitOrder(MSBFIRST);
receiver.channel(88); // ตั้งช่องสื่อสารให้ตรงกันระหว่างตัวรับตัวส่ง
receiver.RXaddress("AAA"); // ตั้งชื่อตำแหน่งให้ตรงกันระหว่างตัวรับ ตัวส่ง (ได้สูงสุด 5 ตัวอักษร)
receiver.init();
}
void loop(){
if(receiver.available())
{
receiver.read(); // สั่งให้อ่านค่าที่ส่งมา
receiver.rxPL(message); // สั่งให้อ่านเก็บไว้ที่ตัวแปร
Serial.println(message); // แสดงค่าออกทาง Serial Monitor
message="";
}
}
**** เวลาใช้งานจะต้องจ่ายไฟเลี้ยงให้กับโมดูลไม่เกิน 3.3 V เท่านั้น ส่วน PIN อื่นๆใช้ 5V ต่อได้ปกติครับ****
NRF24L01 + and NRF24L01 the difference between:
NRF24L01 +: 250K 1M 2M three speed, nRF24L01: 1M 2M two speed control mode RF parameters are the same
NRF24L01 launch 11.3mA 0dBm receiving the 12.3mA NRF24L01 + emission 11.3mA 0dBm receiving 13.5mA
การต่อวงจร
Arduino NRF24L01
3.3V VCC
GND GND
pin 7 4 CNS หรือ CS
pin 8 3 CE
pin 11 6 MOSI
pin 12 7ึ MISO
pin 13 5 SCK
ดาวน์โหลด Library NRF24L01
การใช้งานจะมี 2 ส่วนคือ ตัวรับ ตัวส่ง
โค้ด NRF24L01 ส่วนของตัวส่ง
#include
#include
String message;
nRF24L01p transmitter(7,8);//CSN,CE
void setup()
{
Serial.begin(115200);
SPI.begin();
SPI.setBitOrder(MSBFIRST);
transmitter.channel(88); // กำหนดช่องสื่อสาร
transmitter.TXaddress("AAA"); // ตั้งชื่อตำแหน่งให้ตรงกันระหว่างตัวรับ ตัวส่ง (ได้สูงสุด 5 ตัวอักษร)
transmitter.init();
}
void loop()
{
transmitter.txPL("www.ArduinoThai.com Test"); // ข้อความที่ต้องการส่ง
transmitter.send(FAST); // สั่งให้ส่งส่งข้อความออกไป
delay(1000);
}
โค้ด NRF24L01 ส่วนของตัวรับ
#include
#include
String message;
nRF24L01p receiver(7,8);//CSN,CE
void setup()
{
Serial.begin(115200);
SPI.begin();
SPI.setBitOrder(MSBFIRST);
receiver.channel(88); // ตั้งช่องสื่อสารให้ตรงกันระหว่างตัวรับตัวส่ง
receiver.RXaddress("AAA"); // ตั้งชื่อตำแหน่งให้ตรงกันระหว่างตัวรับ ตัวส่ง (ได้สูงสุด 5 ตัวอักษร)
receiver.init();
}
void loop(){
if(receiver.available())
{
receiver.read(); // สั่งให้อ่านค่าที่ส่งมา
receiver.rxPL(message); // สั่งให้อ่านเก็บไว้ที่ตัวแปร
Serial.println(message); // แสดงค่าออกทาง Serial Monitor
message="";
}
}
ความคิดเห็น
แสดงความคิดเห็น