65.9K
CodeProject 正在变化。 阅读更多。
Home

Arduino 入门

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.92/5 (28投票s)

2016 年 6 月 20 日

CPOL

7分钟阅读

viewsIcon

46815

downloadIcon

12

让我们来学习一些关于 Arduino 的知识,并开始我们的 IOT 之旅!

引言

作为一名 Web 应用程序开发者,伴随着物联网(IOT)的喧嚣,我感到自己被远远甩在了人群后面。于是,我决定开始我的物联网学习之旅。由于我在这方面还是个新手,我将持续分享我的摸索经验,因为我相信会有很多人也期待着这样的摸索。

我决定使用 ARDUINO 开发板来开启我的学习体验。为什么?因为它经济实惠、易于使用,并且拥有自己的 IDE,让我们能够编写代码并上传到开发板。让我们首先了解一些关于 Arduino 的知识。

ARDUINO

Arduino 是一种简单的微控制器,基于输入输出接收单元。我们可以将其连接到任何传感器、LED、开关等。最棒的是它是开源的,易于理解和使用。你也可以为 Arduino 社区贡献,创建自己的原型编程。对于初学者来说,Arduino 是最好的选择,我想说!

要开始使用,你首先需要一块 Arduino 开发板。:P 所以以非常低廉的价格在线购买,大约 500 印度卢比(印度货币!)。我将使用 Arduino UNO 开发板。

1

上面是简单的 Arduino 开发板,它可以创造奇迹。让我们了解图中提到的要点及其用法!

  • 1 - USB 插孔:这是连接的母端口,用于插入线缆以建立与计算机的连接,从而访问 IDE 并上传程序。

    2

    通常是 2.0 USB 端口。输入和输出通过此端口进行,我们可以将其视为开发板的起点。通常可接受的电压是

    • 输入电压(可接受)- 7-12V
    • 输入电压(限制)- 6-20V
  • 2 - 电源插孔:顾名思义,它是外部电源。但使用时要小心,使用万用表检查可传输到开发板的电源是否在可接受的限制内,以避免短路。
  • 3- GND 引脚:接地引脚,用于连接跳线以形成接地电路。通常,当我们查看连接时,会发现 GND 引脚被认为是负电源。
  • 4 - 5V 电源 这是用于向面包板提供 5V 电源以驱动电路的点,我们稍后会进行检查。
  • 5 - 3.3V 电源:这是用于向面包板提供 3.3V 电源以驱动电路的点。与 5V 相同,但根据我们的电路要求,在我们缺少电阻器的情况下也可以使用它。
    • IOREF:虽然在图中没有编号,但这是开发板上一个有趣的端口,它提供微控制器或 Arduino 开发板运行所需的电压参考。
    • Vin 如上所述关于开发板的外部电源,要将电压传递到电路(外部),我们可以使用此端口。
  • 6 - 模拟输入引脚: 这些是开发板上的模拟点,有助于将模拟输入转换为数字输入。通常用于读取模拟信号。
  • 7,8,9 - 数字引脚:这些数字引脚为电路提供上传的代码以进行连接(通俗地说)。用于数字 I/O。
  • 10 - 复位按钮: 不言自明,用于复位微控制器或开发板。
  • 11 - ON: 连接到 USB 时,此绿色 LED 会亮起,告知我们开发板已通电。
  • 14 - 稳压器: 提供给 Arduino 开发板的稳压器。
  • 12 - RX-TX LED: 这些 LED 在代码或程序成功上传到微控制器时亮起。这是我目前遇到的实际情况!

有关引脚的更多信息,请参阅 Arduino 引脚

这就是关于 Arduino 开发板的全部内容,我想说这是一个简要的总结。还有更多内容。请参考 此处

一些先决条件

以下是学习和开始使用 Arduino 所需的一些先决条件。在您从市场获得 Arduino 开发板后,下一步是在您的系统上安装 Arduino IDE,以便与微控制器进行交互。

要安装 IDE,请访问此链接:Arduino IDE 下载。在这里,您会看到可以安装的操作系统列表,这证明它是跨平台的!:O 哇!又一个很棒的功能!

安装完成后,您需要通过连接线将 USB 插孔连接到电脑,从而连接 Arduino。

IDE 大致如下

3

请注意下面突出显示的部分,它显示 Arduino UNO 在 COM3 上。COM3 是一个串行端口 ID,这表明我们选择 COM3 端口上的开发板连接。

对于 MAC 上的操作,请点击 此处 的链接。选择在以下路径下进行

工具-> 端口-> “选择”

4

您看到的默认代码如下

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

}

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

}

非常简单易懂。它首先执行设置,然后执行循环代码以完成您配置的主要任务。代码中内置了许多示例程序,我们可以在以下位置找到它们

文件->示例->基本->闪烁。

运行“闪烁”程序并尝试理解它做了什么。这非常简单。

// 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);
    Serial.begin(9600);
}

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

这里,`pinMode` 函数激活您指定为输入或输出的引脚。这里是引脚 13,并且是输出。引脚 13 众所周知是默认的 LED。这里它设置了引脚,然后在循环方法中,我们找到了带有 digital-Write 前缀的方法,它表示连接在数字引脚上。我们看到的方法具有引脚端口号和另一个参数 LOW/HIGH,可以认为是 1/0,以点亮和熄灭 LED 13。已经给出了延迟,以指定 LED 在指定的延迟时间内亮起。

在检查我们即将构建的电路之前,让我们先看看要使用的其他组件。

  1. 面包板:所有电气或工程专业的学生都熟悉的电路板。

    5

    我们还是简单介绍一下。正如我们在图中看到的,+ 符号表示电压连接到此端口。整条线,按列连接。加号列中的每个孔都在内部连接。您可以使用万用表检查和验证面包板。

    同样适用于 - 符号列。但是,这通常用于连接 Arduino 的接地引脚。a,b,c,d.. 列用于连接 LED 和电阻器,我们稍后会看到。与 +/- 不同,它们在内部是按行连接的。

  2. 跳线:这些是用于连接 Arduino 和面包板端口的连接线。它们价格低廉且可靠。它们看起来像

     

    6

  3. 一些 LED 和电阻器。

    接下来是设计我们的电路,它看起来像

    7

以上是基本的面包板连接电路。我将提供整个电路连接的图片。在本文中,我将分享如何通过串口获取用户输入并用它来点亮和熄灭 LED。电路连接如下图所示

8 9

连接图如下

10

以上图表仅供参考。如有任何疑问,您可以提出与连接相关的查询。

如您所见,我使用引脚 13 将 Arduino 程序连接到面包板。也就是说,上传的程序将用于通过引脚 13 控制 LED 的开/关。让我们看一下相关的代码

int userInput = 0; 
// 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);
    Serial.begin(9600);
}

// the loop function runs over and over again forever
void loop() {
   if (Serial.available() > 0) {
                // read the incoming byte:
                userInput = Serial.read();

                // say what you got:
                Serial.print("Received Input: ");
                Serial.println(userInput, DEC);
        }
        if(userInput==49){ //As checked through, if 1 is pressed, 
                           //the result comes to be 49 based on the ASCII code
         digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
         delay(1000);  // wait for a second
        }else{
            digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
            delay(1000);   // wait for a second             
        }
}

因此,以上代码简单易懂。我们使用了串口来跟踪用户输入,这是 Arduino IDE 的一部分。

11

在这里,用户输入,我们的代码会检查,如果输入 1(ASCII 码 49),LED 就会亮起,如果按下任何其他键,LED 就会熄灭。

结论

我们简要介绍了 Arduino 开发板及相关电路,并通过 Arduino IDE 上传了基本的 Arduino 开发板编程。同样的理念可以应用于检测房间内的移动,如果没有移动,则使用运动检测传感器关闭房间的 MCB!各位,就是这样!我真的觉得这很有趣,这无疑是未来!物联网是未来。我希望能够连接更多的传感器并进行编程!我会做好我的功课!如果所有开发者都能投身其中并创造奇迹,那将是太棒了!!分享您的经验,如果我错了,也请纠正我!我仍在学习阶段。

© . All rights reserved.