CircuitPython 是一种基于 Python 的编程语言,专为教育和简易学习设计,适用于低成本微控制器。它建立在 MicroPython 基础上,提供了硬件支持,使 Python 开发者能轻松进入嵌入式领域。ESP32-S3 是一款集成 2.4 GHz Wi-Fi 和 Bluetooth 5 (LE) 的 MCU 芯片,支持远距离模式 (Long Range),搭载 Xtensa® 32 位 LX7 双核处理器,主频高达 240 MHz,内置 512 KB SRAM (TCM),具有 45 个可编程 GPIO 管脚和丰富的通信接口。ESP32-S3 支持 CircuitPython 和 MicroPython,适合物联网和嵌入式开发。
在本项目中需要避免的错误,我在调试过程中进行说明;下载开发用的IDE-----Mu Editor。下载地址连接:https://codewith.mu/ 下载项目提供的资料,如图:
首先要升级TinyUF2 Bootloader,确保其在0.33版本以上,首先下载tinyuf2-adafruit_feather_esp32s3_reverse_tft-0.33.0-combined.bin,地址
https://adafru.it/1alW;
这份资料在开发板资料里有;
然后打开Adafruit WebSerial ESPTool网页工具,地址https://adafruit.github.io/Adafruit_WebSerial_ESPTool/;
这是网站已经连上开发板的状态
开发板先不上电,按住D0不放,再接电脑USB输出的数据线,短按复位键后放下来,注意这个时候在电脑端不会显现出来盘符内容,板子也没有任何显示,不过这个时候通过Adafruit WebSerial ESPTool网页工具进行连接可以看到如下串口信息:

擦除,等待完成后选择之前下载的bin文件在第一个选项里:
如图所示:
完成下载,然后链接开发板,并双击Reset按键,注意双击间隔大概1到2s,不要太短,进入Boot界面;开发板出现:
将之前下载的CircuitPython 10的UF2文件拉到盘符后就会自动升级了,这个时候可以看到盘符的变化:电脑上也会出现:

这里为了测试颜色传感器,借鉴了楼主 付明的帖子,感谢!!接线和源代码也借鉴了,谢谢。
Lib中存放以下文件:
另外将A0引脚接到麦克风,目的是将颜色值改为蜂鸣器频率输出;先导入楼主链接的程序:
[DIY拾色播放器]-任务一:TCS3200拾色传感器-电子产品世界论坛
在MU中导入code.py按照如下代码进行修改
if Button1_Value:
# 读取并显示TCS3200颜色传感器的频率值
if color_sensor is not None:
try:
# 调用read_rgb_freq方法读取频率值
R_Val, G_Val, B_Val = color_sensor.read_rgb_freq()
# 更新显示
text_area_r.text = "R: {:.3f}".format(R_Val)
text_area_g.text = "G: {:.3f}".format(G_Val)
text_area_b.text = "B: {:.3f}".format(B_Val)
text_area_h.text = "#: {:.3f},{:.3f},{:.3f}".format(R_Val, G_Val, B_Val)
print("RGB: {:.3f},{:.3f},{:.3f}".format(R_Val, G_Val, B_Val))
led.value = True
time.sleep(R_Val/12800)
led.value = False
time.sleep(B_Val/12800)
except Exception as e:
print(f"读取颜色传感器错误: {e}")
R_Val = 128
G_Val = 128
B_Val = 128
再点击保存:
可以见到LED闪动,修改led.value=True 或者led.value=False 之后的时间可以调整LED闪动的频率;当然需要定义麦克风输入引脚
led = digitalio.DigitalInOut(board.A0),
然后将蜂鸣器接上A0引脚和VCC、GND可以在按下D1键之后产生鸣叫,因为该了这里的代码:
led.value = True
time.sleep(R_Val/12800)
led.value = False
time.sleep(B_Val/12800)
所以颜色改变,声音也改变了:如下视频。
我要赚赏金
