#申请原创#
1.开发板介绍 合宙CORE ESP32-C3核心板,是一款基于乐鑫ESP32-C3所设计的开发板,其体型小巧仅为21mm×51mm,它采用邮票孔设计,可直接嵌入开发板上来使用。该核心板支持UART、GPIO、SPI、I2C、ADC、PWM等接口,并板载 Wi-Fi/BLE天线以便于开发者在不同场景下使用。 该核心板的外观如图1所示,其引脚及分布见图2所示。 图1 开发板外观 图2 引脚功能及分布 那面对这样一款小巧的开发板又该如何来进行使用和编程呢? 有官网的资料可知,该开发板目前支持以LuatOS、乐鑫IDF、Arduino、MicroPython等多种方式进行开发。 那该选取哪一种呢? 从使用的方便性来讲,自然选取Arduino为最佳。 2.安装驱动 那如何来进行程序下载呢? 有资料可知,该开发板是配有下载功能的,并以串行通讯的方式来下载程序。 这就需要为其安装一个匹配的驱程来实现串行通讯,从该开发板的原理图可知,它所使用的USB转TTL的芯片为CH343,这可在沁恒的官网上获得,其网址为: http://www.wch.cn/downloads/CH343CDC_ZIP.html。 图3 转换电路 下载后经解压,其内容如图4所示。 图4驱动文件 点击“SETUP”即可完成安装,其后就可见到图5所示的虚拟串口。 图5虚拟串口 此时,若将开发板与电脑连接好,则可由串口助手类的工具软件查看到图6和图7所示的显示内容,说明驱程安装是正确的。 图6显示内容1 图7显示内容2 如果你对该开发板的功耗感兴趣的话,不妨看一看它的功耗检测,见图8所示。 图8功耗检测 3.开发环境的构建 具备了串行通讯功能后,该如何安装Arduino IDE呢? 这里选取的是arduino-1.8.15-windows,在完成安装后即可见到图9所示的界面。 图9 Arduino界面 选取“文件”菜单下的“首选项”,并按图10加以设置。 图10设置包地址 选取“文件”菜单下“开发板”的子选项“开发板管理器”,并在图11的对话框中输入“esp32”,然后点击“安装”。 file:///C:/Users/fengqili/AppData/Local/Temp/msohtmlclip1/01/clip_image022.gif
图11 安装ESP32 1.0.6 此时的Arduino IDE还不支持ESP32-C3,还需下载相应的支持包,其网址为: https://github.com/espressif/arduino-esp32 在该解压到C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6下,在解压后其内容如图12所示。 图12目录内容
然后运行 C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\tools目录下get.exe,见图13所示。 图13 运行get.exe 再次运行Arduino IDE,则可见它到对ESP32C3的支持,见图14所示。 图14 器件列表 4.开发环境的验证 图15 板载LED LED所对应的管脚连接如下: 由于出厂DEMO的演示效果为2个LED灯闪烁,为进行显示验证,这里将程序设计为单个LED灯闪烁来以示区别。 其测试程序为: void setup() { pinMode(12, OUTPUT); pinMode(13, OUTPUT); digitalWrite(13, LOW); } void loop() { digitalWrite(12,HIGH); delay(1000); digitalWrite(12,LOW); delay(1000); } 为进行下载测试,按图16所示来进行设置。 图16上传设置 然后即可点击“上传”图标来上传,其结果如图17所示。 图17完成上传 上传后,其运行效果如图18所示。 图18 闪烁效果 5.基本功能的使用 前面已提过使用Arduino IDE开发的方便性,如果你不以为然的话这就以示例来看一下。 1)A/D检测 在常规的ARM开发中,要进行A/D数据采集并加以串口输入,那没有十几行的代码是解决不了问题的,而使用Arduino IDE却之用几行代码就可解决,效率是不是很高。 实现该功能的程序及上传结果见图19所示,在程序上传后,由ADC0即GPIO00来接入检测电压,则其检测效果如图20和图21所示。 图19 程序及上传结果 图20 浮动状态的检测值 图21接地的检测值 2)呼吸灯效果 再以PWM调节的呼吸灯效果为例,它在Arduino IDE下也很好实现,其程序及上传结果如图22所示。 在程序上传后,即可见到D4在不停地呈现渐明渐暗的变换效果。 file:///C:/Users/fengqili/AppData/Local/Temp/msohtmlclip1/01/clip_image055.gif
图22 呼吸灯程序与上传 6.功能扩展 除了利用开发板来进行测试,还可以通过扩展来增强开发板的功能。 1)触摸控制 外挂触摸模块所连接的引脚为GPIO08,其控制的LED是D4。 相应的控制程序为: int val = 0; void setup() { pinMode(12, OUTPUT); pinMode(8, INPUT); pinMode(13, OUTPUT); digitalWrite(13, LOW); } void loop() { val = digitalRead(8); digitalWrite(12, val); } 经程序上传,其测试效果图23所示。 图23 触摸控制 2)OLED屏显示 此外,还可以为开发板配置OLED屏来显示信息,其显示效果如图24所示。 OLED屏所连接的引脚为I2C_SCL和I2C_SDA,并采用GPIO口模拟I2C的方式来实现。鉴于程序稍长,这里从略。 图24 OLED屏显示 现在如果你手头有一块合宙CORE ESP32-C3开发板,你还会为它的开发和编程发愁吗?相信Arduino IDE已经为您给出了很好的回答!
|