【Arduino】(四)Hello World:第一个Arduino程序

网友投稿 2019-09-09 12:04

介绍和原理

和其他编程语言一样,第一个Arduino程序也是非常的简单,只是让Arduino电路板上内置的“L”led闪烁。其原理就是让LED引脚(13号数字引脚)以一秒钟高电平、一秒钟低电平的方式交替输出。

https://cdn.china-scratch.com/timg/190911/1204044958-0.jpg

外围电路

此程序不需要任何外围电路,只需要把Arduino和电脑相连接即可。

电路详解

软件操作

首先,把Arduino和你的电脑相连。

然后,运行Arduino IDE。

再然后,选择“文件——示例——01.基本——Blink”并点击。

https://cdn.china-scratch.com/timg/190911/1204042913-1.jpg

出现这样的界面...前面一大段的注释都是英文,请不要害怕。

https://cdn.china-scratch.com/timg/190911/120404E60-2.jpg

点击上传按钮(如下图所示)即可把程序编译并上传至Arduino。

https://cdn.china-scratch.com/timg/190911/1204051339-3.jpg

待上传完成,Arduino上“L”指示灯就会一秒亮、一秒灭地闪烁了。

https://cdn.china-scratch.com/timg/190911/1204056311-4.jpghttps://cdn.china-scratch.com/timg/190911/1204056201-5.jpg

程序代码

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);  
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);   
  delay(1000);
}

https://cdn.china-scratch.com/timg/190911/12040C008-6.jpg

代码详解

Arduino语言和C语言很类似。整个Arduino程序可以分为两个大块:setup函数和loop函数。

其中setup(初始化)函数为上电时一开始就执行的函数。类似电脑的开机自启动程序,此函数仅在上电时被执行一次,此后永不执行,除非重启。此函数内的代码一般为各种元件、模块、功能的初始化函数。

loop(循环)函数则是初始化完成后一直执行的函数。此函数其实为一个无限循环(死循环),里面的代码将被反复执行,直到断电或者重启。大部分的代码都在这个函数内。

在初始化部分中,又有一个pinMode函数,这个函数是用来规定当前管脚功能的。
语法规则:pinMode(引脚编号,模式);
其中模式主要有三种:
OUTPUT——输出
INPUT——输入
INPUT_PULLLUP——带上拉电阻的输入。对于什么是上拉电阻,以后的推送中会介绍。

在这里是规定为输出模式以点亮LED。

若你想让管脚输出或者输入高/低电平,请务必在初始化部分加上这个函数,否则会有很多意想不到的问题!

在循环部分中,有两个函数:
第一个是digitalWrite函数,这个函数是用来规定管脚的输出的。
语法规则:digitalWrite(引脚编号,模式);
其中模式有两种:
HIGH或1——高电平,输出+5V电压
LOW或0——低电平,输出0V电压

第二个是delay函数,这个函数是用来控制延时的。
语法规则:delay(时间);
时间单位为毫秒(ms),1秒等于1000毫秒。
在延迟期间内,处理器将什么也不做直到延时结束,这其实极大地浪费了处理器的性能,故我个人不推荐直接通过delay来实现延时的目的。你可以使用其他方法来替代,具体做法将在以后的推送中介绍。
这样一来,这个程序也就十分清晰明了了:
首先,规定13号引脚,也就是LED_BUILTIN,为输出模式
然后,让其输出高电平来点亮LED并延迟一秒来维持这种状态。
再后,让其输出低电平来熄灭LED并延迟一秒来维持这种状态。
周而复始地执行这个动作,因此led就会有一亮一灭闪烁的效果。

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com