Arduino的第一步:仔细研究电路板和程序的结构

本文是Arduino系列简介的一部分。到目前为止,该系列中的其他文章是:

  • 什么是Arduino,您可以使用它做什么?
  • 什么是Arduino入门套件,它包含什么?
  • 您可以使用入门套件购买更多更酷的组件
  • Arduino入门套件入门–安装驱动程序并设置板和端口
  • 硬件< /

    让我们仔细看一下Arduino Uno在电路板上的位。

    下面是一个放大的图,是指:

  • Along在顶部,有14个数字输入/输出引脚(编号为0-13)。这些是Arduino上用途最广泛的引脚,可以用作输入或输出,并将构成项目的核心。数字表示这些引脚可以写入或读取的信号将打开或关闭。
  • 这些数字引脚中的6个由波浪号标记的数字引脚能够执行操作它称为脉冲宽度调制。我不是电气工程师,所以我不会通过解释其背后的科学而感到尴尬,但是对您和我来说,这意味着我们可以提供一系列输出级别-例如,使LED变暗或以不同速度驱动电动机
  • Pin 13的特殊之处在于它具有内置的LED。这仅是出于方便和测试目的。您可以像在Blink示例应用程序中那样使用板载LED,只需将其输出到插针13即可;或者可以将其用作标准I / O插针。
  • 右下方是6个模拟输入引脚。这些将读取模拟传感器的值,例如测光表或可变电阻器。
  • 在模拟输入引脚旁边的左下方是电源引脚。您唯一需要担心的是接地引脚(GND),3.3v和5v电源线。
  • 最后,在Arduino上找到的唯一开关是复位开关。这将重新启动其内存中的任何程序。
  • Arduino具有固定的内存量,如果您的程序太大,编译器会给您一个错误。
  • 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,黑色接地)。

    标签: