本文是Arduino系列简介的一部分。到目前为止,该系列中的其他文章是:
硬件< /
让我们仔细看一下Arduino Uno在电路板上的位。
下面是一个放大的图,是指:
Arduino程序的结构
每个Arduino程序都至少由两个函数组成(如果您不知道函数是什么,请务必阅读我的基本编程教程,第2部分–函数和控制语句,然后继续。)
第一个是设置功能。它最初仅运行一次,用于告诉Arduino什么是连接的,在哪里,以及初始化程序中可能需要的任何变量。
第二个是循环。这是每个Arduino程序的核心。当Arduino运行时,设置功能完成后,循环将遍历所有代码,然后再次执行整个操作-直到断电或按下复位开关。完成一个完整循环所需的时间长短取决于所包含的代码。您可能会编写一些“等待6小时"的代码,在这种情况下,循环不会经常重复。
下面是一个快速的状态图来说明:
回顾一下Blink程序代码并确定设置和循环功能。
这里是设置:
void setup() {// initialize the digital pin as an output.// Pin 13 has an LED connected on most Arduino boards:pinMode(13, OUTPUT);}
以 // 开头的注释只是向人类读者解释该代码的注释,并且不会上传到Arduino。因此,实际上,这个特定的Arduino应用只有一行设置代码。该行说“将引脚13设置为输出模式"。 13,请记住,它是内置的LED。
然后是一个循环:
void loop() {digitalWrite(13, HIGH); // set the LED ondelay(1000); // wait for a seconddigitalWrite(13, LOW); // set the LED offdelay(1000); // wait for a second}
每行代码结尾的注释都很好地说明了它们的功能。 HIGH和LOW表示数字输出的ON和OFF状态,在本例中为LED。您实际上也可以在代码中写ON或OFF,两者都是同义的(也为0和1)。 Delay 告诉Arduino等待一点时间,在这种情况下为 1000毫秒(或1秒)。
最后,关于编程语言的注释在这里使用。请注意,setup和loop函数前面都带有单词 void 。这是 nothing 的专用词,因为函数在被调用时什么也不返回-它只是运行其中包含的代码。现在,我们要说的是,函数的代码块由花括号{}括起来,并且每行代码必须以;结尾。分号。
尝试通过将精确的延迟值更改为较大或较小的方式,以某种方式更改基本程序。在闪烁不再明显之前,请查看将其减小到多小。找出要更改的值,以使其保持更长的时间,或者保持更长的时间。尝试将更多的digitalWrite和delay语句添加到循环函数中,以创建更复杂的闪烁模式,例如用于SOS的莫尔斯电码。如果您有蜂鸣器,也尝试将其连接到引脚13和GND(提示:红色导线变为13,黑色接地)。
标签: