资料介绍
描述
带 ATMEGA328P 的 LoRa 基础模块
由 makeriot2020 提供
2022 年2 月 25 日由makeriot2020
我需要构建一个可靠的 LoRa 设备,以便为朋友农场即将进行的项目进行一些关于范围等的测试。该设备的制造成本必须超低,并且功耗尽可能低。为实现这一目标,我决定使用 RA-02(来自 AI Tinker,非赞助商)以及 ATMEGA328P,它在休眠时消耗的电流非常小……(尽管收音机将一直处于待机状态……)用标准的 Arduino 或另一个 ATMEGA 驱动的开发板构建它可能会非常混乱(如下图所示……)
标准的 Arduino 会更糟,因为你需要在 SPI 引脚上进行电平转换,因为 RA-02 是一个 3.3v 设备,带有 GPIO,不支持 5v(是的,这是真的,其他一些Youtube 上的帖子和类似的帖子很方便地省略了这个非常重要的小警告……)因此这个问题需要一个专用的定制 PCB,分阶段设计,当然要进行彻底的测试……在这样做的同时,我需要设计一些模块化的东西可用。我想出了以下设计,作为第一阶段的原型:
PCB 基本上是 Arduino Nano 风格的 PCB(就 IO 而言),在 SPI 线路(SCK、MISO、MOSI、SS)上具有电平转换以及 Lora 复位和 IRQ 引脚(这对于唤醒至关重要稍后启动处理器)。由于原型将主要在实验室中使用,稍后会进行一些户外测试,因此没有提供电池充电电路。两个 LDO 稳压器,5v 和 3.3v 从 7.5 到 12v 的直流输入为 ATMEGA328P 和 RA-02 供电。
电平转换固定在双向 5v 到 3v 逻辑电平。所有未使用的 GPIO 都分解为标题。代码可以通过 ICSP 或 USB 转串口转换器上传到 MCU,因为我没有在板上添加这些,以节省空间和功率。控制引脚如下:RA-02 模块 ATMEGA328P
SCK D13
味噌D12
摩思D11
NSS D10
重置 D9
IQR(DIO0) D2(中断 0)
DIO1 未在第 1 阶段原型中分解
DIO2 未在阶段 1 原型上破解
DIO3 未在阶段 1 原型上分解
DIO4 未在阶段 1 原型上分解
示意图如下
软件
该板与 Sandeep Mistry 的 LoRa 库兼容。其他库也可以工作,但尚未经过测试。下面是一个非常基本的测试草图:请注意,此草图没有任何节电功能。它纯粹用于进行非常基本的无线电测试......更详细的代码将在项目的后期阶段发布(稍后会详细介绍)
#include // include libraries
#include
const int csPin = 10; // LoRa radio chip select
const int resetPin = 9; // LoRa radio reset
const int irqPin = 2; // change for your board; must be a hardware interrupt pin
byte msgCount = 0; // count of outgoing messages
int interval = 2000; // interval between sends
long lastSendTime = 0; // time of last packet send
void setup() {
Serial.begin(9600); // initialize serial
while (!Serial);
Serial.println("LoRa Duplex - Set spreading factor");
// override the default CS, reset, and IRQ pins (optional)
LoRa.setPins(csPin, resetPin, irqPin); // set CS, reset, IRQ pin
if (!LoRa.begin(433E6)) { // initialize ratio at 433 MHz
Serial.println("LoRa init failed. Check your connections.");
while (true); // if failed, do nothing
}
LoRa.setSpreadingFactor(8); // ranges from 6-12,default 7 see API docs
Serial.println("LoRa init succeeded.");
}
void loop() {
if (millis() - lastSendTime > interval) {
String message = "LoRa TEST"; // send a message
message += msgCount;
sendMessage(message);
Serial.println("Sending " + message);
lastSendTime = millis(); // timestamp the message
interval = random(2000) + 1000; // 2-3 seconds
msgCount++;
}
// parse for a packet, and call onReceive with the result:
onReceive(LoRa.parsePacket());
}
void sendMessage(String outgoing) {
LoRa.beginPacket(); // start packet
LoRa.print(outgoing); // add payload
LoRa.endPacket(); // finish packet and send it
msgCount++; // increment message ID
}
void onReceive(int packetSize) {
if (packetSize == 0) return; // if there's no packet, return
// read packet header bytes:
String incoming = "";
while (LoRa.available()) {
incoming += (char)LoRa.read();
}
Serial.println("Message: " + incoming);
Serial.println("RSSI: " + String(LoRa.packetRssi()));
Serial.println("Snr: " + String(LoRa.packetSnr()));
Serial.println();
}
未来的计划
该项目的未来计划包括:– 集成锂聚合物电池充电模块和升压转换器,使设备能够依靠电池供电运行。– 与 ESP32 或类似产品集成,构建一个简单的网关设备– CAN-BUS 控制器集成,允许在不同但靠近的位置添加多个传感器到一个无线电模块– IO 卡,具有电隔离输入,以及作为继电器输出,用于远程控制和监控应用。PCB 可以订购,或很快从我在 PCBWay 的项目页面下载(免费下载)设计文件……
- 基于ATmega328P微控制器的Ardu键盘
- 基于ATmega328P的DIY macropad
- 简单的独立ATMega328p微控制器
- 如何通过ATMEGA328P AU(SMD)制作广告面板
- Atmega328P脉宽调制控制器
- 基于ATmega328P的电感计 6次下载
- 带有ATMEGA328P设备的Arduino Uno门铃项目
- 使用ATmega328p的迷你示波器
- 基于Atmega328P的PWM控制器卡
- 使用ATmega328P和ESP8266 12F的定制控制单元
- 具有集成LoRa和CAN总线的ATMEGA328P模块
- 最低系统ATmega328p开源
- Atmega328P不带Arduino PCB设计
- 1469416411ATmega328P中文翻译资料 414次下载
- Arduino Atmega328P开发板软件下载与安装 130次下载
- LoRa数模模块设置开启LBT功能 568次阅读
- 低功耗 Lora模块中收发模块对电流有什么不同差异 488次阅读
- LoRa无线模块E22-230T37S介绍 797次阅读
- LoRa网关模组E106-433G27P2简述 720次阅读
- 如何利用ATmega328P构建一个可靠的LoRa设备 5274次阅读
- 如何为ATmega328P刷bootloader? 6919次阅读
- 基于ATmega324p单片机实现便携式控制器模块的软硬件设计 2850次阅读
- lora模块在安装使用过程的注意事项 8188次阅读
- LoRa通信模块的特点及缺点 2w次阅读
- 微雪电子Arduino开发板UNO PLUS简介 5411次阅读
- EML3047 LoRa模块的详细参数介绍 3122次阅读
- 星翼电子:LORA模块ATK-LORA-01相关信息描述 6479次阅读
- 如何采用Arduino系统板进行单片机编程 6269次阅读
- LoRa无线模块怎么用 通信距离可传输多远 2.5w次阅读
- 自制四轴飞行器之路 2.3w次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多