Enkelt #1
Enklast möjliga kommunikations test med NRF24L01. Den högra Àr sÀndaren och den vÀnstra Àr mottagaren och den har en lysdiod som blinkar och visar att trÄdlöst funkar.
OBS. koppla INTE in USB ström i bÄda Nano korten utan att bryta 5 Volt kabeln mellan de bÄda Nano.


main_rx.cpp
//RxLeft\main.cpp
#include <Arduino.h>
#include <SPI.h>
#include <Mirf.h>
#include <nRF24L01.h>
#include <MirfHardwareSpiDriver.h>
#define PAYLOAD_SIZE 1
#define MESSTYPE_TEST 0x99 //Test med 2675 NRF testare
#define LED1 A5
void MessInkomming(byte[]);
void Blink(uint8_t);
byte RxAddress[6] = {"RX099"};
uint8_t data[PAYLOAD_SIZE]; //payload on client and server must be the same.
void setup() {
Serial.begin(9600);
Serial.println("setup Code1 RX");
Blink(1);
Mirf.spi = &MirfHardwareSpi;
Mirf.init();
Mirf.setRADDR(RxAddress);
Mirf.payload = PAYLOAD_SIZE;
Mirf.config();
}
void loop() {
if(!Mirf.isSending() && Mirf.dataReady()){
Serial.println("reciving...");
Mirf.getData(data);
MessInkomming(data);
}
}
void Blink(uint8_t c){
for (uint8_t i = 0; i < c; i++){
pinMode(LED1, OUTPUT);
digitalWrite(LED1, LOW);
delay(200);
digitalWrite(LED1, HIGH);
delay(200);
}
};
void MessInkomming(byte Recive[]){
if(Recive[0] != MESSTYPE_TEST){
Serial.println("ERROR wrong MESSTYPE");
Blink(1);
}
if(Recive[0] == MESSTYPE_TEST){
Serial.println("OK reciving MESSTYPE_TEST.");
Blink(3);
}
}

main_tx.cpp
//TxRight/main.cpp
#include <Arduino.h>
#include <SPI.h>
#include <Mirf.h>
#include <nRF24L01.h>
#include <MirfHardwareSpiDriver.h>
#define PAYLOAD_SIZE 1 //
#define MESSTYPE_TEST 0x99 //Test med 2675 NRF testare
byte RxAddress[6] = {"TX099"};
uint8_t TXAddress[6] = {"RX099"};
uint8_t data[PAYLOAD_SIZE]; //payload on client and server must be the same.
void setup() {
Serial.begin(9600);
Serial.println("setup Code1 TX");
Mirf.spi = &MirfHardwareSpi;
Mirf.init();
Mirf.setRADDR(RxAddress);
Mirf.payload = PAYLOAD_SIZE;
Mirf.config();
data[0] = MESSTYPE_TEST;
Mirf.setTADDR(TXAddress);
if(!Mirf.isSending()){
Mirf.send(data);
Serial.println("send...");
delay(20);
}else{
Serial.println("send ERROR...");
}
}
void loop() {}
NÀr mottagaren startar upp blinkar lysdioden en gÄng. Varje gÄng som sÀndaren fÄr reset startar den om och sÀnder en byte till mottagaren och mottagaren blinkar dÄ 3 gÄnger.
LĂ€nkar
Bibliotek (GitHub Mirf): https://github.com/aaronds/arduino-nrf24l01/tree/master/Mirf
Arduino Playground NRF24L01: https://playground.arduino.cc/InterfacingWithHardware/Nrf24L01/
Denna sida Àr konverterad med hjÀlp av AI.
En sida för dig som bygger elektronik sjÀlv, experimenterar och laborerar.
Skapad av Per-Anders Hult för PchButik.se.


