arduinoarduino入门


备注

什么是Arduino?

Arduino是一个基于易于使用的硬件和软件的开源电子平台。

为什么要使用Arduino?

  • 便宜。你也可以购买更便宜的克隆。
  • 易于使用和入门
  • 庞大的社区
  • 完全开源

版本

发布日期
1.0.0 2016年5月8日

最低限度

这是'最低限度'的Arduino草图。通过选择File > Examples > 01. Basics > Bare Minimum 可以将其加载到Arduino IDE中File > Examples > 01. Basics > Bare Minimum

void setup() {
  // put your setup code here, to run once
}

void loop() {
  // put your main code here, to run repeatedly
}
 

程序启动时, setup() 函数中的代码将运行一次。这对于设置I / O引脚,初始化变量等非常有用。 loop() 函数中的代码将重复运行,直到关闭Arduino或上传新程序。实际上,上面的代码在Arduino运行时库中看起来像这样:

setup();
while(1) {
  loop();
}
 

与您计算机上运行的程序不同,Arduino代码永远不会退出。这是因为微控制器只有一个程序加载到其中。如果该程序退出,则无需告诉微控制器该做什么。

这是一个演示setup()loop() 函数的简短示例。可以通过选择File > Examples > 01. Basics > Blink 将其加载到Arduino IDE中。 ( 注意:大多数Arduino电路板的LED已连接到引脚13,但您可能需要添加外部LED以查看此草图的效果。)

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

// the loop function runs over and over again forever
void loop() {
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);              // wait for a second
}
 

上面的片段:

  1. 定义setup() 函数。在每个Arduino程序中执行时首先调用setup() 函数。

    1. 将引脚13设置为输出。

      没有它,它可能被设置为输入,这将使LED不起作用;但是一旦它被设置为输出它将保持这种方式,所以这只需要在程序启动时完成一次。

  2. 定义loop() 函数。只要程序正在运行,就会重复调用loop() 函数。

    1. digitalWrite(13, HIGH); 打开LED。
    2. delay(1000); 等待一秒钟(1000毫秒)。
    3. digitalWrite(13, LOW); 关闭LED。
    4. delay(1000); 等待一秒钟(1000毫秒)。

由于loop() 在程序运行期间重复运行,因此LED将以2秒(1秒开,1秒关)的周期闪烁。此示例基于Arduino Uno以及已经将LED连接到引脚13的任何其他电路板。如果正在使用的电路板没有连接到该引脚的板上LED,则可以在外部连接一个。

更多关于时间安排(例如延迟和测量时间): 时间管理

首次安装

所需软件: Arduino IDE

Arduino IDE

建立

大多数兼容Arduino的主板都有USB端口,并配有USB线。使用USB线插入Arduino,然后启动Arduino IDE。

Arduino IDE将以新草图开始,通常使用emtpy setup()loop() 函数。这足以上传到Arduino板,但它什么都不做。首次使用Arduino板时,“Blink”示例草图可作为简单测试。转到文件→示例→01.Basics→闪烁。这将打开一个带有Blink草图的新窗口。

选择你的董事会。转到工具→板→[Arduino板的名称]。

工具,板

选择电路板的COM端口。大多数兼容Aurduino的电路板都会创建一个假的COM端口,用于串行通信(调试)和编程电路板。 COM 1 通常已经存在,您的电路板将创建一个新的,例如COM 4.从工具→端口→COM 4(或其他COM编号)中选择此项。

某些板在“工具”菜单中有其他设置,例如时钟速度。这些因板而异,但通常会选择一组可接受的默认值。

上传

您现在可以上传Blink了。单击上载按钮或选择草图→上载。草图将编译,然后上传到您的Arduino板。如果一切正常,车载LED将每秒开启和关闭闪烁。

上传

串口监视器

在Arduino IDE中,ypu hava是一个串行监视器。要打开它,请使用窗口右侧的按钮串行监视器

串口监视器

在打开显示器之前,请确保已上载代码。上传和监视器不会同时运行!

LED - 带按钮控制

您也可以使用此代码设置带有上拉电阻的按钮开关的LED,最好在设置初始LED控制器后进行下一步操作

int buttonState = 0; // variable for reading the pushbutton status

void setup()
{
    // initialize the LED pin as an output:
    pinMode(13, OUTPUT); // You can set it just using its number
    // initialize the pushbutton pin as an input:
    pinMode(2, INPUT);
}

void loop()
{
    // read the state of the pushbutton value:
    buttonState = DigitalRead(2);

    // check if the pushbutton is pressed.
    // If it's not, the buttonState is HIGH : if (buttonState == HIGH)
    {
        // turn LED off:
        digitalWrite(13, LOW);
    }
    else
    {
        // turn LED off:
        digitalWrite(13, HIGH);
    }
}