【得捷Follow me第3期】+新手小白第一次接触使用并完成项目1-5
[复制链接]
本帖最后由 my770809 于 2023-12-24 20:05 编辑
今天完成了本期活动的全部内容,本次活动使用的是Seeed Studio XIAO ESP32C3开发板,我选择使用的是Thonny开发工具并通过microPython编写代码,主要完成了开发环境的搭建、开发工具的学习,蜂鸣器、I2C接口的OLED、ADC接口数据的操作和WIFI模块的使用。
内容一:演示视频
https://training.eeworld.com.cn/video/38848
内容二:任务总结报告
任务1:使用MicroPython系统(必做任务)
熟悉Seeed Studio XIAO ESP32C3开发板基本操作,安装esptool,并给开发板刷写MicroPython系统,完成入门程序的运行
搭配器件:Seeed Studio XIAO ESP32C3
一、Thonny下载及配置
进入Thonny软件后,用配套的TYPE C数据线连接开发板和电脑,正常情况下Thonny右下角会出现esp32的解释器选项。我的开发板连到电脑后,电脑提示“USB 设备描述符请求失败”。后来在网上找了下解决方法,最终通过下载使用“zadig-2.5”更新USB驱动,解决了这一问题。
此时软件界面如下图所示:
二、MicroPython固件烧录
在Thonny右下角选择“配置解释器”
再选择“安装或更新micropython”
选择“select local micropython image”
选择所下载的esp32-c3 micropython固件进行安装即可。
重新连接开发板,此时Thonny界面如下图所示。
三、Hello World
通过Hello World例程,验证micropython环境搭建成功。
任务2:驱动扩展板上的OLED屏幕(必做任务)
熟悉Seeed Studio XIAO ESP32C3开发板基本操作,安装esptool,并给开发板刷写MicroPython系统,完成入门程序的运行
搭配器件:Seeed Studio XIAO ESP32C3
扩展板上的OLED采用SSD1306芯片,因此我们首先需要安装驱动。在工具菜单栏下,点击管理包按钮,输入“ssd1306”并搜索,如下图所示:
安装好后如下图所示
然后编程实现OLED屏幕显示文字的功能。将所需要的I2C和屏幕驱动import进来,指定I2C引脚和屏幕的宽和高,再指定所需显示的文字即可。
进一步,在屏幕上显示一个正方形,并令其向右移动。
任务3:控制蜂鸣器播放音乐(必做任务)
使用Seeed Studio XIAO ESP32C3控制蜂鸣器发出不同频率的声音,并播放一段音乐
搭配器件:Seeed Studio XIAO ESP32C3、Seeed Studio Expansion Board Base for XIAO
SEEED的扩展板上集成了一颗压电蜂鸣器,可以把电信号转换成相应频率的震动。通过查找扩展板及XIAO C3引脚图,可以知道蜂鸣器buzzer的引脚是GPIO5。
我以生日快乐歌为目标,首先找到歌曲的乐谱,如下图所示。
根据乐谱知道,我们需要用到中音1-7和高音1-7。所以要首先定义它们。
然后,根据乐谱播放相应频率蜂鸣音即可。同时,我在屏幕上还显示了相应的任务说明。
任务4:连接WiFi网络(必做任务)
将Seeed Studio XIAO ESP32C3连接到WiFi网络,并访问互联网信息
搭配器件:Seeed Studio XIAO ESP32C3、Seeed Studio Expansion Board Base for XIAO、RF ANT 2.4GHZ/5.5GHZ PCB TRACE
ESP32自带蓝牙与wifi功能,我们通过调用以下函数就可以使用其自带的network库连接上指定的wifi,其中wifi_ssid是WiFi名称,wifi_password是WiFi密码。
station = network.WLAN(network.STA_IF)
station.active(True)
station.connect(wifi_ssid, wifi_password)
连接至互联网后,通过获取网络时间并在屏幕上进行显示。
任务5:使用外部传感器(必做任务)
连接环境光传感器或温湿度传感器,获取传感器的数值,并转换成真实的物理量
搭配器件: Seeed Studio XIAO ESP32C3、Seeed Studio Expansion Board Base for XIAO、 Grove - AHT20 I2C Industrial Grade Temperature and Humidity Sensor、Grove - Light Sensor v1.2
本次我购买了一个Grove - Light Sensor,这个光照传感器集成了一个光敏电阻器来检测周围光的强度。光敏电阻的阻值随着光强度的增加而减小。板载双运算放大器芯片 LM358 产生与光强度相对应的电压(即基于电阻值)。输出信号为模拟值,光线越亮,数值越大。
光照传感器需要接到扩展板的A/D接口上,如下图所示:
将ADC采样的数据转换为光照度,然后在屏幕上显示并不断更新周围光照情况。
总结体会
这是我第一次参加类似的活动,同时也是我第一次使用ESP的板子,Python也是第一次接触。-_-||
但是通过参加这一期的Follow Me的活动,先是有专门的微信活动群,在群里众多高手都非常热心,解决了我所遇到的采购哪些器件的问题,并给了很多的建议。然后还有技术讲解直播,整个讲解很详细,非常适合我这种新手入门的菜鸟。此外,论坛中也是高手云集,在我遇到问题的时候,在论坛里总能找到答案。在此再次感谢得捷,感谢EEWorld提供的这次机会,让我能够初窥ESP32的强大功能。
内容三:可编译下载的代码
|