© 2024 EasyEDA Some rights reserved ISO/IEC
Brand new interactions and interfaces
Smooth support for design sizes of over 3W
devices or 10W pads
More rigorous design constraints, more
standardized processes
For enterprises, more professional users
Easy to use and quick to get started
The process supports design scales of 300
devices or 1000 pads
Supports simple circuit simulation
For students, teachers, creators
STD Lora Messenger
The project marries the reliability of LoRa technology with the keypad interface.
Features:
📡 Long-Range Communication: Utilizes LoRa technology for reliable and extended communication.
📱 Keypad Interface: Evokes the classic feel of button-style communication devices.
🌐 Versatile Connectivity: Designed for impressive range.
⚙️ Customised PCB
This design uses a 3.3V voltage to meet the requirements of the communication device. It includes various electrical circuits, modules, and an ESP32 microcontroller.
Components:
🕹️ ESP32 Microcontroller: Chosen for its versatility.
📡 LoRa Transceiver Modules(SX1278): Leveraging LoRa's reputation for long-range communication.
⌨️ Custom-made keypad: 12 push buttons arranged in a 4x3 matrix configuration.
🖥️ I2C OLED Display 0.96": Incorporates a vibrant OLED screen for a user-friendly interface.
🔄 Buck Module (MP1584): Converts the voltage to 3.3V, ensuring compatibility with the LoRa module.
🔄 INA219 Current Sensor: Used for measurement of voltage, current, and power consumption.
📡 433MHz Spring Type Antenna: Enhances communication range and signal strength.
Voltage Divider Principle:
Integrated a custom-made keypad consisting of 12 push buttons arranged in a 4x3 matrix configuration. This keypad provides user input for text entry on an ESP32 microcontroller.
To efficiently capture button presses and translate them into usable data, used a voltage divider circuit and analog GPIO pins. Specifically, 12 push buttons are connected to the ESP32 through 6 resistors arranged in a voltage divider network. This arrangement allows us to detect the analog voltage values corresponding to each button press. Make sure to calibrate the analog values for the button rows. (0-4095)
By analyzing the voltage levels at the input pins, we can uniquely identify which button has been pressed based on the predefined voltage thresholds associated with each button.
Power Supply:
We used a 2S Lipo battery for the power supply of the device. However, since the LoRa module cannot handle more than 3.3V, we had to convert the voltage to 3.3V using a buck module.
OLED User Interface:
The device incorporates an OLED screen to provide a user-friendly interface. When buttons are pressed, the corresponding characters are registered and stored. These characters are then displayed on the OLED screen in real time, providing the user with immediate feedback.
Measuring Power Consumption with INA219:
To monitor power consumption, we've integrated the INA219 current sensor. This sensor allows precise measurement of voltage, current, and power consumption. The collected data provides insights into the device's energy efficiency and aids in optimizing power usage.
433MHz Spring Type Antenna:
For optimal performance in the 433MHz frequency range, we've employed a spring type antenna. This design choice enhances the communication range and signal strength, especially in open spaces.
Device Selection and Messaging:
The device allows users to select a specific device for sending messages. Through the user interface, users can navigate and choose a target device. The messaging process is seamless, with the selected characters displayed on the OLED screen and transmitted using LoRa technology.
Libraries Used:
Implementation:
1. Make the required hardware
2. Clone this repository: git clone https://github.com/your-username/LoRa-Messaging-Device.git
3. Open in IDE: Use your preferred IDE (Integrated Development Environment).
4. Install the libraries
5. Upload the code: Load the code onto your device.
Performance:
🌍 Open Space Range: Achieved a 1km range in open spaces.
🏙️ Constricted Area Range: Performance may vary in congested areas.
ID | Name | Designator | Footprint | Quantity | spiceSymbolName | link | |
---|---|---|---|---|---|---|---|
1 | 1k | KEYR1,KEYR2,KEYR3,KEYR4,KEYR5,KEYR6 | R_AXIAL-0.4 | 6 | LCEDA_Lib | R_AXIAL-0.4_US | |
2 | 2 pin push | KEYU1,KEYU2,KEYU3,KEYU4,KEYU5,KEYU6,KEYU7,KEYU8,KEYU9,KEYU10,KEYU11,KEYU12 | 2 PIN PUSH | 12 | Nainaiu Rakhaine | 2 pin push | No |
3 | 0.96OLED_4P | OLED1 | 0.96OLED_4P | 1 | LCEDA_Lib | 0.96OLED_4P | |
4 | DIP1 | SW1 | DIP SWITCH DIP1 | 1 | ahmad902 | DIP1 | |
5 | ESP32-DEVKIT1 | U1 | ESP32-DEVKIT1 | 1 | enzo.e2house | ESP32-DEVKIT1 | |
6 | LoRa-02 | U2 | LORA-02 | 1 | Morningstar | LoRa-02 | |
7 | mini360DCDC_mr2 | U3 | MINI360DCDC_MR | 1 | miran.roser22 | mini360DCDC_mr2 | |
8 | Connector_2pin_blue | U4 | CONNECTOR_2PIN_BLUE | 1 | airat.nurt | Connector_2pin_blue | |
9 | INA219 | U6 | INA219-AURDINO | 1 | Mage34 | INA219 |
Unfold
Loading...
Do you need to add this project to the album?