hu:project:nrf24l01_simple

Differences

This shows you the differences between two versions of the page.

hu:project:nrf24l01_simple [2022/04/21 15:04] ()
 1:  1:
 +====== NRF24L01 "simple" ======
  
 +Egy egyszerű send / receive pár az NRF24L01-hez.
 +
 +===== Send =====
 +<code c>
 +/*
 +  Arduino Wireless Network - Multiple NRF24L01 Tutorial
 + == Example 01 - Servo Control / Node 00 - Potentiometer ==
 +  by Dejan, www.HowToMechatronics.com
 +  Libraries:
 +  nRF24/RF24, https://github.com/nRF24/RF24
 +  nRF24/RF24Network, https://github.com/nRF24/RF24Network
 +*/
 +#include <RF24.h>
 +#include <RF24Network.h>
 +#include <SPI.h>
 +RF24 radio(10, 9);               // nRF24L01 (CE,CSN)
 +RF24Network network(radio);      // Include the radio in the network
 +const uint16_t this_node = 00;   // Address of this node in Octal format ( 04,031, etc)
 +const uint16_t node01 = 01;      
 +void setup() {
 +  SPI.begin();
 +  radio.begin();
 +  network.begin(90, this_node);  //(channel, node address)
 +}
 +void loop() {
 +  network.update();
 +  unsigned long potValue = analogRead(A0);  // Read the potentiometer value
 +  unsigned long angleValue = map(potValue, 0, 1023, 0, 180); // Convert the value to 0-180
 +  RF24NetworkHeader header(node01);     // (Address where the data is going)
 +  bool ok = network.write(header, &angleValue, sizeof(angleValue)); // Send the data
 +}
 +</code>
 +
 +===== Receive =====
 +<code c>
 +/*
 +  Arduino Wireless Network - Multiple NRF24L01 Tutorial
 +  == Example 01 - Servo Control / Node 01 - Servo motor ==
 +*/
 +#include <RF24.h>
 +#include <RF24Network.h>
 +#include <SPI.h>
 +#include <Servo.h>
 +RF24 radio(10, 9);               // nRF24L01 (CE,CSN)
 +RF24Network network(radio);      // Include the radio in the network
 +const uint16_t this_node = 01;   // Address of our node in Octal format ( 04,031, etc)
 +Servo myservo;  // create servo object to control a servo
 +void setup() {
 +  SPI.begin();
 +  radio.begin();
 +  network.begin(90, this_node); //(channel, node address)
 +  myservo.attach(3);   // (servo pin)
 +}
 +void loop() {
 +  network.update();
 +  while ( network.available() ) {     // Is there any incoming data?
 +    RF24NetworkHeader header;
 +    unsigned long incomingData;
 +    network.read(header, &incomingData, sizeof(incomingData)); // Read the incoming data
 +    myservo.write(incomingData);  // tell servo to go to a particular angle
 +  }
 +}
 +</code>
  • hu/project/nrf24l01_simple.txt
  • 2022/04/21 15:04
  • ()