يجب اختيار الboard كما في صورة البرنامج لهذا النوع اما الانواع الاخرى فربما يكون لها board نوع اخر
code
نسخ
اقتباس
عرض
تنزيل
#include <SPI.h>
#include <LoRa.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
#define SS 18
#define RST 14
#define DIO0 26
void setup() {
Serial.begin(115200);
while (!Serial);
// إعداد شاشة OLED
if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println("Failed to initialize OLED");
for (;;);
}
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0, 0);
display.println("LoRa Sender");
display.display();
// إعداد LoRa
LoRa.setPins(SS, RST, DIO0);
if (!LoRa.begin(868E6)) {
Serial.println("LoRa init failed!");
display.println("LoRa Failed!");
display.display();
while (true);
}
Serial.println("LoRa Initialized");
display.println("LoRa OK!");
display.display();
}
void loop() {
String message = "Hello, LoRa!";
Serial.print("Sending: ");
Serial.println(message);
// إرسال البيانات عبر LoRa
LoRa.beginPacket();
LoRa.print(message);
LoRa.endPacket();
// عرض البيانات على شاشة OLED
display.clearDisplay();
display.setCursor(0, 0);
display.println("Sending:");
display.println(message);
display.display();
delay(2000); // الإرسال كل ثانيتين
}
code
نسخ
اقتباس
عرض
تنزيل
#include <SPI.h>
#include <LoRa.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
#define SS 18
#define RST 14
#define DIO0 26
void setup() {
Serial.begin(115200);
while (!Serial);
// إعداد شاشة OLED
if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println("Failed to initialize OLED");
for (;;);
}
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0, 0);
display.println("LoRa Receiver");
display.display();
// إعداد LoRa
LoRa.setPins(SS, RST, DIO0);
if (!LoRa.begin(868E6)) {
Serial.println("LoRa init failed!");
display.println("LoRa Failed!");
display.display();
while (true);
}
Serial.println("LoRa Initialized");
display.println("LoRa OK!");
display.display();
}
void loop() {
int packetSize = LoRa.parsePacket();
if (packetSize) {
String receivedText = "";
while (LoRa.available()) {
receivedText += (char)LoRa.read();
}
Serial.print("Received: ");
Serial.println(receivedText);
// عرض البيانات على شاشة OLED
display.clearDisplay();
display.setCursor(0, 0);
display.println("Received:");
display.println(receivedText);
display.display();
}
}