arduino使用oled代码_【教程】在ESP32上使用E32433T LoRa模块

【点击上方 「蓝字」 关注我们,一起成为技术颜控!】

8f55b39bf3c4eabb5b13842aef225862.png

正文共:2020字11

预计阅读时间:6分钟

(为方便阅读,已标注重点)

ESP32简介

ESP-WROOM-32(ESP32)是乐鑫最新发布的新一代 WiFi & 蓝牙 双模双核无线通信芯片。芯片集成蓝牙4.2和WiFi HT40技术为一身,拥有高性能Tensilica LX6 双核处理器,支持超低功耗待机,是移动设备、可穿戴电子产品和物联网应用的最佳拍档。
相比于上一代的ESP8266,除了突破性地集成了低功耗蓝牙4.2 (BLE 4.2) 技术外,ESP32在性能和功能上也有了显著的提升,搭载了双核 32-bit MCU,一核处理高速连接、一核独立应用开发。双核主频高达 240 MHz,计算能力高达 650 DMIPS。并且芯片拥有更多的管脚资源。
ESP32芯片集成了丰富的硬件外设,包括电容式触摸传感器、霍尔传感器、低噪声传感放大器,SD卡接口、以太网接口、高速SDIO/SPI、UART、I2S 和I2C 等。

这次给大家分享一个我们国外社区的一位工程师把eByte的大功率E32 1瓦LoRa模块与ESP32连接到一起的教程,同样的方法也适用于Arduino 或ESP8266。

fe60aad365a8e658e3683c963d01fe63.png

硬件组件

  • ESP32 Thing x1

  • Espressif ESP32S x1

  • DFRobot FireBeetle ESP32物联网微控制器(支持Wi-Fi和蓝牙)x1

  • 天线433MHz LCSC x1

  • E32 100mW模块LCSC x1

  • E32 1W模块LCSC x1

应用背景

大家好!欢迎来到CETech。本项目将把eByte的E32 LoRa模块(这是一种1瓦大功率变送器模块)连接到使用Arduino IDE的ESP32。上一篇教程介绍了E32的工作原理,这次我们设计了一个PCB用于把ESP32连接到E32。最后,我们会使用另一个LoRa分接模块建立起连接,从而对我们的电路板进行测试。现在就开始吧。

零件

eByte的LoRa模块可以从以下LCSC链接购买:

  • E321模块LCSC:

https://lcsc.com/product-detail/Wireless-Modules_E32-TTL-1W_C97351.html

  • E32 100mW模块LCSC:

https://lcsc.com/product-detail/Wireless-Modules_E32-TTL-100_C97350.html

  • 433MHz天线LCSC:

https://lcsc.com/product-detail/RF-Antenna_TX433-XPA100_C182814.html

  • DFRobot FireBeetle ESP32物联网微控制器(支持Wi-Fi和蓝牙)

    商城搜索ESP32

上一篇教程[可选]

我上周制作了一个相同模块的入门教程视频,建议您在开始本教程前先了解一下。

接线和电路

74f5138752347b4c9cca0bd444dbfd6e.png

所有连接都已在PCB上完成。ESP32、OLED和E32分接板之间的连接只需要使用几根导线简单连接即可。E32分接板的内部连接略显复杂,因此我额外附上了一份电路图。

cef540f2da89977f0adbd3c27a69e85e.png

最重要的连接就是M1和M0引脚,必须把它们接到GND或VCC(不能空着不接),模块才能工作。后面我们会介绍如何使用M1和M0选择不同的工作模式。最后,我还在Rx和Tx引脚上添加了几个LED灯,这样当有UART数据传输时,这些LED灯就会点亮。

704489eb99efbfc7437204ba5762538a.png

工作模式

659a8786ede5657a0564ae71acb84058.png

改变M1和M0引脚上的电压,就可以选择不同的工作模式。上表列出了不同的工作模式。我们最关心的是模式0和模式3。在LoRa模块正常运行时,我会让模块处于模式0,而在配置时,则会让其处于模式3。对于本项目来说,我们把两个引脚都设为0(也就是模式0)。

我们的PCB板

2d742a6d31190b3a72a7d569aa053721.png

我使用上述电路图设计制作了一个PCB板。PCB上有对应ESP32、E32和OLED显示模块的接头。除此之外,还有一些基本的元件。我在PCB上还把ESP32上额外的GPIO引脚分接了出去,以便于项目的扩展。我把这些元件都焊到了PCB上,接下来我们会对ESP32进行编程。

编程

4a89c2c836c9bdeb9bc02321a06482e1.png
  1. 下载GitHub库:

    https://github.com/akarsh98/ESP32-with-E32-LoRa-module

  2. 将下载的库解压。

  3. 在Arduino IDE中打开原始草图。

  4. 在菜单Tools > Board下选择您使用的电路板(我使用的是Firebeetle ESP32)。

  5. 在菜单Tools > Port下选择正确的通信端口。

  6. 点击上传按钮。

  7. 当提示上传完成时,您会看到OLED显示器开始工作。

最终测试

5a98d5b7144c6a0eabe8bec755f9e79a.png

使用micro USB为ESP32 PCB供电。在LoRa链路的另一端,我使用了上篇教程中的分接模块 - 使用一个FTDI模块连接到电脑上,并将模块开关M0和M1都设为0。通过UART向连到电脑的模块发送数据,然后OLED就会显示通过LoRa接收到的数据,之后ESP32会发送回一条确认消息(在serial monitor上可以看到这条消息)。演示过程可参见我的视频。

38ffa108fdc157e66ab2d9bfc8eae95a.png

原理图

51e677fbbc8679f6b9024a93698dad14.png

代码

Gerber文件和RF软件的GitHub代码akarsh98[https://github.com/akarsh98]ESP32-with-E32-LoRa-module [https://github.com/akarsh98/ESP32-with-E32-LoRa-module]

作者:Akarsh Agarwal

更多关于ESP32\ESP8266的教程,请戳

  往期回顾  

【福利】Arduino系列引脚大全

1小时内做一个Otto机器人

拾色手电:颜色万千,只取一种

这款手势传感器,可以测试你的手速极限 会咆哮的塑料来了!

快看!这才是真正的创造力!

有了它,爸爸再也不用担心我偷玩手机了! 同样是毕业设计,你看看人家的!

一起学习!

👇

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值