经过前两天的环境准备,我们就来试着让ESP32开发板上内建的LED灯闪烁,熟悉一下如何在VS Code中开启范例程序、上传烧录到开发板。对Arduino和ESP32还不了解也没关系,因为今天只会用到Arduino提供的范例程序,顺便让大家先观察一下Arduino的程序架构是如何组成的,明天再来解释程序架构,并教大家如何自己新建专案。後天开始就会介绍Arduino和ESP32的科普小知识及相关函式~
先来练习开起范例程序吧!我们今天要开的范例程序是Arduino内建好的Blink(闪烁),如果你是要用Arduino IDE开起的话,他会放在档案->范例->01.Basics底下
如果你是用VS Code的话,请使用「F1」、「CTRL+SHIFT+P」来开启命令面板,并使用 Arduino: Examples 命令来开启范例资料夹,如果找不到命令的话,可以先输入「Arduino」来快速找到指令,你常用的指令会放在越上方~
将 Arduino: Examples 点下去之後就会跳出一个范例资料夹分页,Built-in Examples 里放的是Arduino内建范例程序,其实就跟从Arduino IDE打开是一样的意思噢!
Blink一样放在 Built-in Examples ->01.Basics底下
Blink点开後就会向下面程序码一样
/*
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
*/
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
接下来,确认你已经选择了正确的开发板型号和序列埠,如果还没选择可以直接点选照片中的位置就可以设定!我这里是用NodeMCU-32S搭配COM3,後续直接点右上角「上传Upload」图示进行验证与上传的动作。
另外,DOIT ESP32 DEVKIT V1 这块开发板在上传时有个小坑,我当初不知道就踩了进去,但我们後天再来仔细说QQ总之,如果你手上是这个型号的开发板的话,记得在输出视窗跑出 Connecting...--...
时要一直按住板子上的 BOOT 按钮,才能成功上传!验证时会花一点时间检查语法,完成後就会开始上完罗!
以下是上传成功画面
不知道大家有没有觉得范例程序的字看起来很多呢?但其实大部分都是注解而已XD对C++熟悉的人应该对注解不陌生,下面三种都是C++中可行的注解噢!
//1.我是一行注解
/*2.我也是一行注解*/
/*3.我是一行被分段
的注解*/
所以其实真正的程序码只有以下的部分而已
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
以C++控制的硬体程序架构,是由setup()
、loop()
两大函式组成,缺一不可。里头的其他函示会依照之後的主题慢慢带,敬请期待。
那两者的差异,我卖个关子留到明天再说,大家可以先从字面上的意思去了解两者的不同 (绝对不是要拖天数)
所以明天就是会把程序架构的说明补充完,并教大家如何在VS Code新建自己的Blink专案!
先来回顾一下目前铁人付金流外挂的资料夹结构: iron-pay ├── composer.json ...
前言 JS 30 是由加拿大的全端工程师 Wes Bos 免费提供的 JavaScript 简单应用...
连假就让我轻松点吧XDD,虽然平常内容也没有多到哪去哈哈。 If you are on ...
前言 该系列是为了让看过Vue官方文件或学过Vue但是却不知道怎麽下手去重构现在有的网站而去规画的系...
接下来,会就六角学院 UI 设计入门 课程中,针对团队合作时会碰到的情境稍作讨论。 设计稿再好看也没...