电子说
在电子开发领域,Adafruit Feather 32u4 Radio 搭配 RFM69HCW 模块的组合犹如一颗璀璨的新星,为无线通信项目带来了新的可能性。今天,我们就来深入了解这个强大的硬件组合。
文件下载:3076.pdf
Adafruit Feather 32u4 Radio 是 Adafruit 推出的一款创新开发板,它就像一只轻盈的羽毛,小巧轻便,却能让你的项目“展翅高飞”。这款开发板以 ATmega32u4 为核心,时钟频率为 8 MHz,采用 3.3V 逻辑。它具有 32K 的闪存和 2K 的 RAM,内置 USB 接口,不仅具备 USB 转串口的编程和调试能力,还能模拟鼠标、键盘、USB MIDI 设备等。
为了满足便携式项目的需求,它添加了 3.7V 锂聚合物电池连接器和内置电池充电功能。你既可以直接通过 micro USB 接口供电,也可以使用电池供电,并且当 USB 供电可用时,开发板会自动切换到 USB 供电。此外,它还通过分压电路将电池连接到模拟引脚,方便你监测电池电压。
该开发板还利用剩余空间集成了 RFM69HCW 433 或 868/915 MHz 无线电模块,适用于小数据包传输,在需要比 2.4 GHz 更远传输距离的场景中表现出色。
Feather 32u4 Radio 的引脚布局丰富多样,下面为你详细介绍:
逻辑引脚均为 3.3V 逻辑,涵盖了通用 I/O 引脚、串口通信引脚、I2C 引脚、SPI 引脚等,为各种应用提供了丰富的接口。例如,0 号引脚(RX)既是 GPIO 引脚,也是 Serial1 的接收引脚和中断 2;2 号引脚(SDA)是 I2C 数据引脚等。
Feather 开发板出厂时未焊接引脚,为你提供了多种组装选择:
Feather Radio 没有内置天线,你可以选择以下两种天线:
这是一种低成本且效果良好的天线,也称为“四分之一波长鞭状天线”。你只需将电线裁剪到合适的长度:433 MHz 对应 6.5 英寸(16.5 cm),868 MHz 对应 3.25 英寸(8.2 cm),915 MHz 对应 3 英寸(7.8 cm)。然后剥去电线末端 1 - 2 毫米,镀锡并焊接到 Feather 最右侧的 ANT 焊盘上。
如果你需要使用外部天线,可以选择 uFL 天线。对于没有预装表面贴装 uFL 连接器的 Feather 开发板,你需要自行购买并焊接。同时,还需要一个 uFL 转 SMA 适配器和匹配频率的天线。在连接和断开 uFL 连接器时要小心,避免损坏 PCB 焊盘。
Feather 开发板支持两种供电方式:通过 USB 电缆连接计算机,开发板会将 5V USB 电压调节为 3.3V;也可以连接 4.2/3.7V 锂聚合物或锂离子电池到 JST 接口,实现可充电电池供电。当 USB 供电时,开发板会自动切换到 USB 供电并为电池充电。
除了电池和 USB 供电,你还可以根据需求选择其他电源供应方式:
为了方便监测电池电压,开发板在 BAT 引脚连接了一个双 100K 电阻分压器,并连接到 D9(模拟引脚 A7)。你可以通过读取该引脚的电压并乘以 2 来获取电池电压。
如果你想关闭 3.3V 稳压器,可以将 EN 引脚接地,此时 BAT 和 USB 引脚仍会供电。
首先,你需要下载最新版本的 Arduino IDE(版本 1.8 或更高)。打开 IDE 并导航到偏好设置菜单,在“附加开发板管理器网址”中添加 package_adafruit_index.json https://adafruit.github.io/arduino-board-index/。这样,Board Manager 就能自动获取 Adafruit 开发板的更新信息。
在 Windows 7 系统中,插入 Feather 开发板后,可能需要安装驱动。你可以下载 Adafruit 驱动安装程序并运行,选择要安装的驱动。
插入 Feather 32u4 开发板,等待系统识别。选择正确的串口,加载 Blink 示例代码并上传,你将看到 LED 闪烁。
如果遇到引导加载问题或上传的代码导致开发板崩溃,无法自动重启进入引导加载程序,你可以双击 RST 按钮,当 Arduino IDE 尝试上传代码时,红色 LED 会闪烁,表示进入引导加载模式。
在 Linux 系统中,如果连接串口控制台出现延迟或显示乱码,可以按照相关页面的步骤进行解决。
RFM69 无线电模块有“原始”和“数据包化”两种模式。在大多数情况下,建议使用数据包化模式,它提供了错误纠正、自动重传和返回回执等功能,提高了数据传输的可靠性。
推荐使用 RadioHead 库,它具有良好的跨平台兼容性,在社区中广泛使用。你可以从 Adafruit 的 GitHub 仓库下载该库,并将其放置在 Arduino 库文件夹中。
打开 RadioHead->feather->RadioHead69_RawDemo_TX 示例代码,根据实际情况修改 #define RF69_FREQ 以匹配无线电硬件的频率。上传代码后,开发板将每秒发送一个小数据包。
打开 RadioHead->feather->RadioHead69_RawDemo_RX 示例代码,同样修改频率设置。上传代码后,接收端将接收并回复数据包。
每个无线电模块的频率可以在软件中配置,但建议在推荐频率范围内调整,以获得最佳性能。确保所有无线电模块使用相同的频率。
在代码中设置无线电模块的引脚,包括 CS、IRQ 和 RST 引脚。不同的开发板可能需要不同的引脚配置,例如 Feather 32u4、Feather M0 和 Feather RP2040 的引脚配置有所不同。
在 setup() 函数中,初始化串口和 RFM69 无线电模块,设置频率、发射功率和加密密钥等参数。
发送端代码会等待 1 秒后发送数据包,并等待接收端的回复;接收端代码会不断检查是否有数据包接收,如果接收到包含“Hello World”的数据包,会发送回复。
你可以尝试 RadioHead69_RawDemoTXRX_OLED 示例代码,通过连接 OLED 翼板或按钮,实现双向通信测试。
使用 RadioHead69_AddrDemo_RX 和 RadioHead69_AddrDemo_TX 示例代码,你可以设置多个客户端和一个服务器,实现可靠的数据传输。通过 RHReliableDatagram 类管理消息的发送和接收,确保数据包的可靠传输。
在其他条件相同的情况下,LoRa 模块的传输范围通常比 RFM69 模块更好,一般能提高 50% - 100%。
RFM69 无线电模块在视线良好的情况下,使用调谐单向天线的传输范围约为 500 米;RFM9X LoRa 无线电模块的传输范围可达 2 公里。但实际范围会受到障碍物、频率、天线和功率输出等因素的影响。
如果没有达到预期的传输范围,可能是由于天线未调谐、频率不匹配、设置不一致、天线方向性不佳、电源供应不稳定、功率设置未最大化、存在障碍物或传输速度过快等原因。你可以逐一检查并解决这些问题。
不同的天线成本和方向性增益不同。对于大多数简单应用,电线天线是一个不错的选择。如果你想深入了解天线设计,可以参考 ARRL 天线书籍,但实际测试是获得最佳效果的关键。
通过查看模块上的彩色油漆点可以识别频率:绿色、蓝色或无点表示 900 MHz,红色表示 433 MHz。
如果无线电模块上有烧焦的斑点,不用担心,这可能是制造过程中的墨水点受热导致的,芯片本身没有损坏。
Adafruit 的 LoRa 设备附带的 MAC 地址在使用 LoRaWAN 时需要,例如 The Things Network。对于非 LoRaWAN 应用,MAC 地址不是必需的。
你可以从以下链接下载相关的数据表和文件:
Adafruit Feather 32u4 Radio 与 RFM69HCW 模块为电子工程师提供了一个强大而灵活的无线通信解决方案。通过深入了解其特性、引脚布局、组装方法、电源管理、Arduino IDE 设置和无线电使用方法,你可以充分发挥其潜力,实现各种创新的无线项目。你在使用过程中遇到过哪些有趣的问题或挑战呢?欢迎在评论区分享你的经验!
全部0条评论
快来发表一下你的评论吧 !