合宙ESP32C3 Arduino 初探教程

合宙ESP32C3 Arduino 初探教程


以为买回来一插上typeC接口就能通过Arduino IDE来个点灯,没想到:1.找不到对应的ESPC3型号,选择其他的点击烧录识别出问题。

到手回来没有Type-C的数据线,只能临时制作一条,有点寒酸,但是能识别。

合宙ESP32C3 Arduino 初探教程_第1张图片
合宙ESP32C3 Arduino 初探教程_第2张图片

合宙ESP32C3开发板一定要安装驱动,芮然买回来,插上默认能识别到串口,并显示端口号,但是还是不能用的,一定要安装CH343驱动才行,安装成功后,合宙ESP32C3端口信息会是上图那样带CH343字样。这是开发合宙ESP32C3第一步。

  • CH343驱动下载地址:https://www.wch.cn/downloads/CH343SER_EXE.html
    合宙ESP32C3 Arduino 初探教程_第3张图片

安装ESP32C3支持固件包

如果原来Arduino IDE默认安装了ESP32支持固件包,型号列表里面是默认不带ESP32C3以及ESP32S2等型号的。

合宙ESP32C3 Arduino 初探教程_第4张图片

  • ESP32支持固件包下载地址:https://github.com/espressif/arduino-esp32
    合宙ESP32C3 Arduino 初探教程_第5张图片

如果是第一次安装ESP32支持固件,需要在Arduino IDE的菜单-文件-首选项-附加开发板网址管理器当中添加对应的链接

合宙ESP32C3 Arduino 初探教程_第6张图片

https://dl.espressif.com/dl/package_esp32_index.json
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

上面第一个网址是标准的ESP32开发板地址,后面那个是完整的开发板型号的地址,里面包含C3,S2等型号。

  • 如果是通过上面的github链接将支持固件包离线下载下来了,就可以忽略添加这个网址的步骤。

将下载下来的ESP32支持固件包解压并放置到指定文件夹下

  • 放置路径:C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6

这个ESP32支持固件包下来下来压缩包有260多MB,解压后有721MB
合宙ESP32C3 Arduino 初探教程_第7张图片

下载下来的支持固件包比默认安装的ESP32标准固件包文件要多,在拷贝到这个文件夹里面,会遇到有相同的文件的提示,出现这个情况,选择并点击 替换掉原有的文件
合宙ESP32C3 Arduino 初探教程_第8张图片

最关键一步来了

  • 将文件解压之后,进入到:C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\tools这个路径的文件夹内:
  • 合宙ESP32C3 Arduino 初探教程_第9张图片
  • 双击鼠标左键运行get.exe可执行文件。会弹出一个DOS界面安装窗口:
    合宙ESP32C3 Arduino 初探教程_第10张图片
  • 一定要看到全部安装了上图那些内容才算成功,不然在Arduino IDE里面有可能看不到ESP32C3 /S2等型号的ESP32,或者就是有显示ESP32C3,S2等型号,但是选择这些型号,在进行代码编译,到最后会报错:esptool.exe": file does not exist

其他相关建议

  • 在安装完驱动后,或者在点击get.exe运行时安装不全就退出的情况时,建议重启电脑,并再次尝试安装,get.exe安装一定要看到安装齐全才行,安装窗口界面,安装完,会自动关闭的,安装的时候一定要留心安装完整了。我在这个地方就踩过坑,以为自动安装的,安装完了,就没有问题了,以为可以看到能选择ESP32C3的型号的出现就可以使用了,结果跑去编译代码,到最后还是会报错,后面重启电脑,重新运行get.exe,看着窗口安装,并截图下来了,以此作为安装依据。当然最后成功编译,并烧录了第一个程序。
Creating esp32c3 image...
Merged 2 ELF sections
Successfully created esp32c3 image.
"C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6/tools/gen_esp32part.exe" -q "d:\\arduino\\MyHexDir/partitions.csv" "d:\\arduino\\MyHexDir/Blink.ino.partitions.bin"
"C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.6/tools/riscv32-esp-elf/bin/riscv32-esp-elf-size" -A "d:\\arduino\\MyHexDir/Blink.ino.elf"
项目使用了 232580 字节,占用了 (17%) 程序存储空间。最大为 1310720 字节。
全局变量使用了10156字节,(3%)的动态内存,余留317524字节局部变量。最大为327680字节。
C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6/tools/esptool/esptool.exe --chip esp32c3 --port COM5 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 4MB 0x0 d:\arduino\MyHexDir/Blink.ino.bootloader.bin 0x8000 d:\arduino\MyHexDir/Blink.ino.partitions.bin 0xe000 C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6/tools/partitions/boot_app0.bin 0x10000 d:\arduino\MyHexDir/Blink.ino.bin 
esptool.py v3.3
Serial port COM5
Connecting....
Chip is ESP32-C3 (revision 3)
Features: Wi-Fi
Crystal is 40MHz
MAC: 60:55:f9:79:87:98
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Flash will be erased from 0x00000000 to 0x00002fff...
  • 烧录时选择flash模式为DIO
    合宙ESP32C3 Arduino 初探教程_第11张图片

示例代码

合宙ESP32C3开发板,上面有2个板载led灯分别接到了GPIO12 和GPIO13上面了。也就是板上丝印的D4D5Led灯。

/*
  Blink

  Turns an LED on for one second, then off for one second, repeatedly.

  Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
  it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
  the correct LED pin independent of which board is used.
  If you want to know what pin the on-board LED is connected to on your Arduino
  model, check the Technical Specs of your board at:
  https://www.arduino.cc/en/Main/Products

  modified 8 May 2014
  by Scott Fitzgerald
  modified 2 Sep 2016
  by Arturo Guadalupi
  modified 8 Sep 2016
  by Colby Newman

  This example code is in the public domain.

  https://www.arduino.cc/en/Tutorial/BuiltInExamples/Blink
*/
#define LED_BUILTIN (13)

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  Serial.begin(9600);
  pinMode(LED_BUILTIN, OUTPUT);
     pinMode(12, OUTPUT);
  //  pinMode(13, OUTPUT);
    digitalWrite(13, LOW);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, LOW);   // turn the LED on (HIGH is the voltage level)
    digitalWrite(12, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, HIGH);    // turn the LED off by making the voltage LOW
  digitalWrite(12, LOW);   // turn the LED on (HIGH is the voltage level)  
  delay(1000);                       // wait for a second
  Serial.println("合宙ESP32C3");
  
}
  • 购买组合推荐:
    合宙ESP32C3 Arduino 初探教程_第12张图片

如果购买屏幕和板子一体的,价格是25.9,而且那个屏幕很小,还不如直接买个分离的1.8寸的LCD屏幕合起来也就22.8,屏幕可以利用的其他上面使用比较灵活。具体看个人喜好和需求使用,这里只是作为个人推荐而已。

你可能感兴趣的:(Arduino,ESP32,零基础入门实例教程,合宙ESP32C3)