小型 ESP32-C3 模块

ESP32 C3单片机

AD\Test\2024\October\MiniInterfaceBoard.SchDoc

 

01 ESP32 SuperMini开发板


一、前言

  这是刚刚送到的 ESP32 开发板,  整个模块只有一颗 ESP32 C3 芯片。  外围电路非常简洁。 价格很便宜。   在销售网站上也给出了它的电路图。  下面对它进行初步测试。  我更习惯使用 MicroPython 对他进行开发。  下面测试一下它是否能够加载 MicroPython。 以及使用 MicroPython进行开发。

G7M1729222407_1920_1080.MP4|_-7

▲ 图1.1.1 电路原理图

▲ 图1.1.1 电路原理图

▲ 图1.1.2 转接板

▲ 图1.1.2 转接板

▲ 图1.1.3 管脚定义

▲ 图1.1.3 管脚定义

二、加载MicroPython

  首先, 在 MicroPython 网站, 找到 ESP32 C3 模块的 MicroPython 的固件。  在这里, 下载 1.23 版本。 这是最新的 MicroPython 版本。  将 TypeC USB 电缆接入模块,  它给模块提供了工作电源。  电路板上有两颗按钮, 上面是 BOOT 按钮,  下面是复位按钮。   在下载固件之前, 需要先按住 BOOT 按钮不放, 然后在按动复位按钮, 这样模块便进入下载程序状态了。

G8M1729223162_1920_1080.MP4|_-8
  下面, 进入 Thonny 软件, 利用其中的 TOOLS 菜单, 在对话框中的 Interpreter中, 最下方 选择更新固件。 点击对话框最下方的左边按钮。 选择刚刚下载后的 MicroPython 固件。   点击安装, 会发现出错。  最终发现, 需要按住 BOOT 按钮, 插拔一次 USB, 模块进入下载模式。  重新操作, 模块便进入了正常的下载过程。 这个过程有点漫长。 下载完毕之后, 再按动 复位按钮,   下面回到主界面, 便可以进入 MicroPython 的 REPL 状态了。

G6M1729223650_1920_1080.MP4|_-6
  编写一个最简单的 MicroPython 程序, 闪烁模块上的 LED,  它挂载在 Pin8端口。  可以看到此时, LED 按照 1Hz 频率闪烁。  这说明下载的 MicroPython 固件正确,  模块可以使用 MicroPython进行开发了。

G5M1729223934_1920_1080.MP4|_-5
 

  结 ※


  文记录了对 ESP32 C3 模块开发过程 。  很奇怪, 这个模块的价格居然只比芯片贵了一点点。  不知道供货商是怎么做到的。

G3M1729224078_1920_1080.MP4|_-3

import machine, time
led = machine.Pin(8, machine.Pin.OUT)
print("Debug LED8.")
while True:
    led.on()
    time.sleep(0.5)
    led.off()
    time.sleep(0.5)


■ 相关文献链接:

● 相关图表链接:

### 关于ESP32-C3-SuperMini与MPU6050交互 对于希望了解如何在ESP32-C3-SuperMini开发板上利用MicroPython实现与MPU6050传感器通信的需求,以下是具体方法。 #### 接线方式 为了使ESP32-C3-SuperMini能够成功读取来自MPU6050的数据,在硬件连接方面需注意如下事项: -ESP32-C3-SuperMini上的指定GPIO引脚分别与MPU6050对应接口相连。通常情况下,建议采用SCL至GPIO21以及SDA至GPIO20这样的配对来完成I²C总线的构建[^3]。 此外,还需确保VCC接到3.3V电源端子而GND则接地处理,以此保障稳定供电环境给到MPU6050模块。 #### 初始化配置及编程实践 针对上述提到的硬件设置,在软件层面通过MicroPython可以轻松达成初始化操作并获取所需传感信息。下面给出一段用于启动I²C协议栈并向目标设备发送命令序列从而激活其内部功能单元的例子代码片段: ```python from machine import SoftI2C, Pin i2c_bus = SoftI2C(scl=Pin(21), sda=Pin(20)) mpu_addr = const(0x68) def init_mpu(): """Wake up MPU6050 sensor.""" i2c_bus.writeto_mem(mpu_addr, 0x6B, b&#39;\x00&#39;) ``` 这段程序首先定义了一个`SoftI2C`对象实例化过程中的参数选择,即指定了作为串行时钟(SCL)和数据线(SDA)使用的两个物理管脚编号;接着调用了`writeto_mem()`函数向地址为`0x68`处写入特定字节流以唤醒处于休眠状态下的加速度计/陀螺仪组合芯片[^2]。 #### 数据采集流程展示 当完成了前期准备工作之后就可以着手准备实际测量环节了。这里提供了一种简单的方法用来提取温度数值,并将其转换成摄氏度单位输出显示出来: ```python import struct def read_temperature(i2c): temp_raw_high = i2c.readfrom_mem(mpu_addr, 0x41, 1)[0] temp_raw_low = i2c.readfrom_mem(mpu_addr, 0x42, 1)[0] temperature = ((temp_raw_high << 8) | temp_raw_low) / 340.0 + 36.53 return round(temperature, 2) print(f"Temperature: {read_temperature(i2c_bus)}°C") ``` 此部分逻辑实现了从寄存器位置`0x41`和`0x42`内连续两次读回高低位字节构成完整的原始温感采样值,再经过一系列算术运算最终得到直观易懂的结果呈现形式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卓晴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值