Guest User

Untitled

a guest
Jan 21st, 2024
299
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.38 KB | None | 0 0
  1. // EMPFÄNGER
  2.  
  3. #include <LoRa.h>
  4. #include <SPI.h>
  5.  
  6. #define ss 5
  7. #define rst 14
  8. #define dio0 4
  9. #define ledPin 2  // On-board LED pin. Change if different for your board.
  10.  
  11. void setup() {
  12.   pinMode(ledPin, OUTPUT);  // Set the LED pin as an output
  13.   digitalWrite(ledPin, LOW);  // Ensure LED is off
  14.  
  15.   delay(1000);
  16.   Serial.begin(115200);
  17.   while (!Serial);
  18.   delay(1000);
  19.   Serial.println("LoRa Receiver");
  20.  
  21.   LoRa.setPins(ss, rst, dio0);  // Setup LoRa transceiver module
  22.   LoRa.setSyncWord(0xab);
  23.   LoRa.setSpreadingFactor(7);
  24.   LoRa.setSignalBandwidth(125E3);
  25.   LoRa.setCodingRate4(5);
  26.   LoRa.setTxPower(14);
  27.  
  28.   while (!LoRa.begin(433E6)) {  // Initialize LoRa at 433 MHz
  29.     Serial.println(".");
  30.     delay(500);
  31.   }
  32.  
  33.   Serial.println("LoRa Initializing OK!");
  34. }
  35.  
  36. void loop() {
  37.   int packetSize = LoRa.parsePacket();  // Try to parse packet
  38.   if (packetSize) {
  39.     Serial.print("Received packet '");
  40.  
  41.     String LoRaData = "";
  42.     while (LoRa.available()) {  // Read packet
  43.       LoRaData += (char)LoRa.read();
  44.     }
  45.     Serial.print(LoRaData);
  46.     Serial.print("' with RSSI ");
  47.     Serial.println(LoRa.packetRssi());
  48.  
  49.     // Check if the received message is "Hello, LoRa!"
  50.     if (LoRaData == "Hello, LoRa!") {
  51.       // Blink the LED
  52.       digitalWrite(ledPin, HIGH);  // Turn on LED
  53.       delay(500);  // Wait for 500 milliseconds
  54.       digitalWrite(ledPin, LOW);  // Turn off LED
  55.     }
  56.   }
  57. }
  58.  
  59.  
  60.  
  61. // ----------------------------------------------------------------------
  62. // SENDER
  63.  
  64.  
  65. #include <SPI.h>
  66. #include <LoRa.h>
  67.  
  68. // Define the LoRa module pins
  69.  
  70. #define ss 5
  71. #define rst 14
  72. #define dio0 4
  73.  
  74. void setup() {
  75.   Serial.begin(115200);
  76.   while (!Serial);
  77.   Serial.println("LoRa Sender Test");
  78.  
  79.   // Setup LoRa transceiver module
  80.  
  81.   LoRa.setSyncWord(0xab);  // LoRa Sync Word
  82.   LoRa.setSpreadingFactor(7); // Spreading Factor: Ranges from 6 to 12 (default is 7)
  83.   LoRa.setSignalBandwidth(125E3); // Bandwidth: Lower bandwidth (125 kHz)
  84.   LoRa.setCodingRate4(5); // Coding Rate: 4/5 for some added robustness
  85.   LoRa.setTxPower(14);  
  86.   LoRa.setPins(SS, RST, DI0);
  87.  
  88.   if (!LoRa.begin(433E6)) {
  89.     Serial.println("Starting LoRa failed!");
  90.     while (1);
  91.   }
  92. }
  93.  
  94. void loop() {
  95.   Serial.println("Sending packet: Hello, LoRa!");
  96.  
  97.   // Send packet
  98.   LoRa.beginPacket();
  99.   LoRa.print("Hello, LoRa!");
  100.   LoRa.endPacket();
  101.  
  102.   delay(2000);
  103. }
  104.  
Advertisement
Add Comment
Please, Sign In to add comment