整体概述
MCU: ESP32-WROVER-B 乐鑫推出的一款集成Wi-Fi、蓝牙和蓝牙低功耗功能的通用型微控制器模块。它搭载双核Xtensa® 32位LX6微处理器,支持CPU频率调节,配置了4MB SPI flash
和8MB SPI PSRAM
,适用于低功耗传感器网络和高要求任务如语音编码等。
主要外设:
1. 1.8寸LCD 屏幕 搭载ST7735
驱动IC,提供160x128像素分辨率。
2.6个按键 1个开关 还有一个reset 按钮
3.一路扬声器输出
4.2路电机输出
5.TP4056 充电
6.SD卡
7.MPU6050
8.GPIO扩展
外壳可以使用镊子打开,卡扣设计。
Micropython
1.在micropython 官网下载固件
MicroPython - Python for microcontrollers
我这里使用的是最新的V1.23.0
按照页面使用esptool 进行刷写
esptool --chip esp32 --port COM42 erase_flash
esptool --chip esp32 --port COM42 --baud 460800 write_flash -z 0x1000 ESP32_GENERIC-SPIRAM-20240602-v1.23.0.bin
重启后可看到已正常打印,可进行micropython的使用
Detecting chip type... ESP32
Chip is ESP32-D0WD (revision v1.0)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 10:52:1c:bc:42:64
Uploading stub...
Running stub...
Stub running...
Manufacturer: 68
Device: 4016
Detected flash size: 4MB
spi 屏幕驱动
如图上传 easydisplay.py st7735_buf.py text_lite_16px_2312.v3.bmf 三个文件
如下代码进行编写 test_spi.py
from machine import SPI, Pin
import st7735_buf
from easydisplay import EasyDisplay
# 初始化SPI
spi = SPI(2, baudrate=30000000, polarity=0, phase=0, sck=Pin(18), mosi=Pin(23))
# 初始化ST7735显示屏,设置参数如宽度、高度、SPI接口、cs、dc等
dp = st7735_buf.ST7735(width=160, height=128, spi=spi, cs=5, dc=4, res=19, rotate=1, bl=None, invert=False, rgb=False)
# 使用EasyDisplay简化显示操作,设置显示参数如颜色格式、字体文件、是否立即显示等
ed = EasyDisplay(dp, "RGB565", font="/text_lite_16px_2312.v3.bmf", show=True, color=0xFFFF, clear=True)
# 在显示屏上显示文本信息,位置从(10, 10)开始,文本内容跨越多行
ed.text("ESP32 你好!\n\nHello Micropython!", 10, 10)
屏幕正常点亮