I am trying to learn how to use the nRF24L01 modules with Arduino and I tried this code from Circuit Digest to see if I can get it working:
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
RF24 radio(9, 8); // CE, CSN pins for nRF24L01
const byte address[6] = "00001";
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
struct SensorData {
float temperature;
float humidity;
};
void setup() {
Serial.begin(9600);
// Initialize OLED display
if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println("SSD1306 allocation failed");
for (;;);
}
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
// Initialize nRF24L01
radio.begin();
radio.openReadingPipe(1, address);
radio.setPALevel(RF24_PA_LOW);
radio.startListening();
}
void loop() {
if (radio.available()) {
SensorData data;
radio.read(&data, sizeof(data));
// Display data on OLED
display.clearDisplay();
display.setTextSize(2);
display.setCursor(0, 0);
display.println("Data:");
display.setTextSize(1);
display.setCursor(0, 30);
display.print("Temp: ");
display.setCursor(60, 30);
display.print(data.temperature);
display.println(" C");
display.setCursor(0, 45);
display.print("Humidity: ");
display.print(data.humidity);
display.println(" %");
display.display();
Serial.println("Data received:");
Serial.print("Temp: ");
Serial.print(data.temperature);
Serial.println(" C");
Serial.print("Humidity: ");
Serial.print(data.humidity);
Serial.println(" %");
}
delay(1000);
}
However I am getting the following error code when I attempt to compile the code:
In file included from /Users/stevenmcdonald/Documents/Arduino/nRF24L01_Receive_Data/nRF24L01_Receive_Data.ino:4:0:
/Users/stevenmcdonald/Documents/Arduino/libraries/Adafruit_GFX_Library/Adafruit_GFX.h:12:10: fatal error: Adafruit_I2CDevice.h: No such file or directory
#include <Adafruit_I2CDevice.h>
^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
exit status 1
Compilation error: exit status 1
I tried adding the line #include <Adafruit_I2CDevice.h> but to no avail.
Can anyone point me in the right direction please?
Thank You in advance