基于Arduino平台开发ESP8266,要分别准备好硬件和软件开发环境:
1. 硬件 ESP8266模块,或者ESP8266开发板,笔者建议初学者直接使用开发板;
2. 软件 Arduino IDE开发环境;
1.模块连接
ESP8266-01系列引脚接口说明:
引脚编号 | 引脚定义 | 引脚描述 |
---|---|---|
1 | TX | 1)UART_TX发送端;2)通用IO口:GPIO1; |
2 | GND | GND |
3 | CH_PD | 1)高电平工作;2)低电平模块供电关掉; |
4 | GPIO2 | 开机上电时必须为高电平,禁止硬件下拉,内部默认已拉高; |
5 | GPIO16 | 外部Reset信号,低电平复位,高电平工作(默认应该是高电平); |
6 | GPIO0 | 接地进入烧录固件模式,悬空为正常运行模式; |
7 | VCC | 3.3V(切记不要供5V!!!) |
8 | RX | 1)UART_RX接收端;2)通用IO口:GPIO3; |
其余引脚悬空即可。 从引脚介绍表可以看出,关键引脚GPIO0决定了模块当前处于什么工作模式。
烧录固件模式
从Arduino IDE角度来看,ESP8266工作模式包括:
a.烧录固件模式
下载代码的时候,需要将GPIO0口接地;
b.正常工作模式
下载完代码,需要将GPIO0口悬空;
注意ESP8266安全工作电压是3.3V,不要直接连接5v;
手动切换工作模式之后,最好重新启动一下ESP8266模块(通断电);
有时ESP8266下载失败,有可能是供电问题,可以尝试独立供电,不直接连到TTL Vcc;
烧录固件,我们需要了解的是,我们的固件是以下哪一种:AT固件、自己编写的SDK固件(基于ESP8266 SDK开发或者Lua)以及基于Arduino平台开发的ESP8266固件。
2.安装ESP8266开发环境
打开Arduino IDE->【文件】->【首选项】,然后会看到附加开发版管理器网址,填入http://arduino.esp8266.com/stable/package_esp8266com_index.json,保存。
打开【工具】->【开发板】->点击开发板管理器->搜索找到ESP8266平台,安装。
3.烧录ESP8266
打开【文件】->【示例】->【ESP8266WebServer】->HelloServer
找到以下两行:
#define STASSID "your-ssid"
#define STAPSK "your-password"
修改WIFI连接和密码
编译,上传。
上传问题及解决方法:
##烧录过程显示一直在连接,需要reset:
将RST(GPIO16)短时接地;
##烧录过程显示一定进度就提示失败,原因如下:
ESP8266供电不稳定,请尝试独立供电(2节1.5v干电池串联即可);
四位数码管是一种常见的LED显示器件,主要用于显示数字信息。
ESP32系列(包括ESP32-S3)搭载Xtensa双核处理器,默认情况下Arduino框架仅使用单核运行用户代码,通过多核编程,可以充分利用硬件资源来提升系统响应和性能。
在本文中,先解释 MSB(最高有效位)和 LSB(最低有效位)的概念,以及 MSBFIRST 和 LSBFIRST。然后展示了 MSBFIRST 和 LSBFIRST 的使用如何影响移位寄存器的输出。
TB6612是一款双路H桥型的直流电机驱动芯片,可以驱动两个直流电机并且控制其转速与方向,输入电压在3V~12V,因此在集成化、小型化的电机控制系统中,它可以作为理想的电机驱动器件。
Arduino-ESP32项目提供的Preferences库是一个专为ESP32设计的非易失性存储解决方案,它替代了传统的Arduino EEPROM库,提供了更强大、更可靠的数据存储功能。
在Arduino中,通过串行端口接收数字通常涉及使用Serial.read()、Serial.readString()、Serial.parseInt()等方法。
要生成随机数,可以使用Arduino随机数函数random()。
本文收集整理在Arduino环境下字符串的相关用法,供参考。
ESP32在Arduino中的GPIO模式。
ESP32EA-MOC 开发板介绍和Arduino环境配置。