#include #include #include #include //#include "images.h" //#define LORA_BAND 433 //#define LORA_BAND 868 #define LORA_BAND 868 #define OLED_SDA 4 #define OLED_SCL 15 #define OLED_RST 16 #define SCK 5 // GPIO5 -- SX1278's SCK #define MISO 19 // GPIO19 -- SX1278's MISO #define MOSI 27 // GPIO27 -- SX1278's MOSI #define SS 18 // GPIO18 -- SX1278's CS #define RST 14 // GPIO14 -- SX1278's RESET #define DI0 26 // GPIO26 -- SX1278's IRQ(Interrupt Request) SSD1306 display(0x3c, OLED_SDA, OLED_SCL); // Forward declarations void displayLoraData(String countStr); void showLogo(); void setup() { Serial.begin(115200); while (!Serial); Serial.println(); Serial.println("LoRa Transmitter"); // Configure the LED an an output pinMode(LED_BUILTIN, OUTPUT); // Configure OLED by setting the OLED Reset HIGH, LOW, and then back HIGH pinMode(OLED_RST, OUTPUT); digitalWrite(OLED_RST, HIGH); delay(100); digitalWrite(OLED_RST, LOW); delay(100); digitalWrite(OLED_RST, HIGH); display.init(); display.flipScreenVertically(); //showLogo(); delay(2000); display.clear(); display.setFont(ArialMT_Plain_16); display.setTextAlignment(TEXT_ALIGN_CENTER); display.drawString(display.getWidth() / 2, display.getHeight() / 2, "LoRa Transmitter"); display.display(); delay(2000); // Configure the LoRA radio SPI.begin(SCK, MISO, MOSI, SS); LoRa.setPins(SS, RST, DI0); if (!LoRa.begin(LORA_BAND * 1E6)) { Serial.println("Starting LoRa failed!"); while (1); } Serial.println("init ok"); } void loop() { static int counter = 0; // send packet LoRa.beginPacket(); LoRa.print("hello "); LoRa.print(counter); LoRa.endPacket(); String countStr = String(counter, DEC); Serial.println(countStr); displayLoraData(countStr); // toggle the led to give a visual indication the packet was sent digitalWrite(LED_BUILTIN, HIGH); delay(250); digitalWrite(LED_BUILTIN, LOW); delay(250); counter++; delay(1500); } void displayLoraData(String countStr) { display.clear(); display.setTextAlignment(TEXT_ALIGN_LEFT); display.setFont(ArialMT_Plain_10); display.drawString(0, 0, "Sending packet: "); display.drawString(90, 0, countStr); display.display(); } © 2021 GitHub, Inc.