开始使用Arduino Uno 用按钮控制LED_云起网
您现在的位置是:首页 > 技术文章 >

开始使用Arduino Uno 用按钮控制LED

未知 2020-09-17 21:36
Arduino是一个开源开发平台,由一个易于使用的硬件和一个编程环境组成。这里,易于使用的硬件指的是Arduino UNO,而编程环境是指Arduino IDE。除了Arduino UNO之外,还有许多硬件板,如Ard
Arduino这个名字在大多数电子学学生或爱好者中都是典型的热门词。它能够以更快、更便宜的速度和更低的成本,通过大量的在线社区支持,使之成为许多刚开始从事电子或编程的人的理想选择。由于其简化的硬件设计和编程环境,即使是没有任何电子或计算机科学背景的人也可以轻松地学习它。那这个Arduino到底是什么?你怎么能开始呢?你能用它做些什么来改善你的生活方式?
 
所有这些问题都将在本教程中得到解答。我们将在您的PC电脑上安装Arduino IDE,并将一个示例闪烁程序上传到Arduino。然后,我们还将建立一个小的硬件使用面包板与一个简单的电路,包括一个开关和LED,并通过Arduino编程运行起来?
 
什么是Arduino
在我们开始学习Arduino之前,我们应该先知道它是什么。这一点很重要,因为人们普遍认为Arduino是一个微控制器。这样说是不完全准确的,那怎么说呢?
 
Arduino是一个开源开发平台,由一个易于使用的硬件和一个编程环境组成。这里,易于使用的硬件指的是Arduino UNO,而编程环境是指Arduino IDE。除了Arduino UNO之外,还有许多硬件板,如Arduino Mega、Nano、Mini等。但是为了本教程的目的,我们将只使用Arduino UNO。Arduino IDE是我们编写Arduino UNO代码的软件。
 
 
将您的Arduino板与计算机连接:
一旦我们的计算机上安装了Arduino IDE,下一步将是将Arduino UNO板与我们的计算机连接起来。要做到这一点,只需使用编程电缆(蓝色)将您的Arduino板连接到您计算机的USB端口。
 
这蓝色电缆有三种功能合计如下:
 
1.它为arduino uno提供了运行所需的电源,因此您可以直接通过usb电缆来运行arduino。
 
2.在Arduino UNO板上对ATmega 328单片机进行编程。您在IDE上编写的程序通过这种电缆发送到微控制器。
 
3.作为一种串行通信电缆,它可以通过串行通信与计算机进行通信,是一个很好的调试工具。当我们深入挖掘的时候,你会对此有更多的了解。
 
一旦Arduino板通电,你会注意到一个小LED保持高亮,这意味着已经有电力供应。您还应该注意到另一个LED闪烁,因为默认的闪烁程序,已经由供应商上传到您的Arduino UNO。
 
由于这是您第一次将您的板连接到计算机上,驱动程序可能需要一些时间才能自动开始安装。让我们检查一下我们的计算机是否成功地发现了这个板。在你的电脑上打开或搜索“设备管理器”。
 
打开设备管理器后,将有一个名为“端口(COM&LPT)“单击它并检查Arduino UNO是否在该选项下列出,如下所示。




注:我的Arduino板的端口名已经显示为Arduino Uno,您的Arduino的名称可能会根据主板供应商的不同而有所不同。它可以是CCH 450或类似的东西,所以不要担心端口的名称。
 
如果找不到名为“端口(COM&LPT)“这意味着你的Arduino板没有被发现。在这种情况下,这是一个驱动程序问题,所以您必须手动安装正确的驱动程序。
 
在某些情况下,您将在端口部分下找到多个COM端口,并且您将不知道哪个是Arduino板的端口,因为命名也会有所不同。在这种情况下,只需断开板,并再次连接。检查哪个COM端口正在消失并再次出现,此COM端口是您的Arduino UNO。
 
找到正确的COM端口后,请记下板的COM端口号。在这里,我的板的COM端口号是13。这个号码在每次您改变USB端口或重新连接的时候都有可能改变,。
 
上传Blink程序
现在,让我们通过我们刚刚下载的Arduino IDE将我们的第一个程序上传到Arduino板。Arduino IDE在安装时附带了一些示例程序,对于初学者来说非常方便。因此,让我们通过选择一个示例程序打开其中一个示例程序:File->Examples->01.Basics->Blink如下所示

 
这将打开Blink程序;该项目的目标是闪烁在Arduino板上的LED。一旦程序打开,我们必须选择正确的板。若要选择我们正在使用的板,请选择 Tools->Board..->Arduino UNO/Genuino如下所示

 
接下来,我们必须为我们的板选择正确的COM端口。我们已经注意到,我的Arduino的COM端口是COM 13。对你来说可能不一样。若要选择Com端口,请选择Tools->Port->COM 13


如果一切都正确,您应该注意到COM 13在IDE底部状态栏显示。验证后,单击上传图标(蓝色高亮显示)将代码上传到Arduino,如下所示



一旦按下按钮,你就会注意到“Compiling sketch “然后,如果代码上传成功,您将看到一条消息,如完成上传“Done Uploading”,如下所示



也就是说,我们成功地将第一个程序上传到了Arduino板。但是,这是什么?我们做了什么?程序的输出是什么?为了知道所有这些问题的答案,让我们构建一个小的硬件,我们可以用它在按下按钮时发光LED,然后从头开始编写程序。
 
所需材料:
本项目所需材料如下
 
Arduino UNO
编程电缆
Push按钮
LED(任何颜色)
1K电阻器
面包板
连接线
硬件连接:
设置的完整连接图如下所示。您只需按照图来建立连接就可以了。

 
在我们的硬件中按按钮是连接到Arduino的第二个引脚的输入。如果你仔细看一看,你会发现按钮的一边与地面相连,另一边则连接到2号引脚,这意味着每当我们按下按钮时,2号引脚就会与地面相连。
 
然后LED通过1k的电阻器连接到3引脚。LED的阴极引脚(短路引脚)与接地连接,阳极引脚(较长的引脚)通过电阻器连接到引脚3。这个电阻器叫做限流电阻因为它限制了流过LED的电流。如果这个电流不是有限的,多余的电流会流过LED,会损坏LED。

轻触开关是按一下接通电路,手松开后电路依然接通,再按一次电路断开;
 
轻触按键是按下去接通电路,手松开电路就断开。
 
编写代码:
现在我们的硬件已经准备好了,我们可以开始对我们的Arduino UNO板进行编程了。这个最后将给出完整的arduino程序。
 
对于每个Arduino程序,应该有两个固定函数。这两个函数是void setup() 和 void loop()。我们在空设置()将执行一次,我们在void loop()中编写的所有内容都将被一次又一次地执行。这两个函数如下所示,这是当您选择文件->新建时生成的.
 
void setup() {
  // put your setup code here, to run once:
}
 
void loop() {
  // put your main code here, to run repeatedly:
}
我们开始写程序到setup()。通常,引脚声明将在setup ()函数。在我们的硬件中,我们必须声明PIN 2是输入引脚,PIN 3是输出引脚。这可以通过以下几行来完成
 
pinMode(2,INPUT);
pinMode (3,OUTPUT);
 
但是我们这里有个小变化,因为引脚2被用作输入,不应该让它浮动。这意味着输入引脚应该始终连接到+5V或接地。在我们的情况下,输入将连接到地面,只有当我们按下按钮,如果我们不按下按钮,它将保持浮动。为了避免这种情况,我们使用了名为内拉电阻器。这个电阻器存在于ATmega 328单片机你看不见它。要使用这个电阻,我们只需在Arduino IDE上写一行。
将通过一个电阻器连接2+5V的引脚,从而使它在不与接地连接的情况下变得更高。因此,我们将INPUT更改为INPUT_PULLUP,如下所示
 
pinMode(2,INPUT_PULLUP);
现在我们已经完成了setup()函数,让我们移动到 loop()功能。在这里,我们必须检查引脚2是否接地(低),如果它是接地的,我们必须让发光二极管使其针脚3高。如果不接地(其他),我们必须保持LED关闭通过使引脚3为低。让我们把这些词放在程序中
 
  if (digitalRead(2) == LOW)
  {
    digitalWrite(3,HIGH);
  }
 
  else
  {
    digitalWrite(3,LOW);
  }
在这里这个词DigitalRead()用于读取输入引脚的状态。如果引脚连接到接地,它将返回低,如果引脚连接到+5V,它将返回高。
 
同样,这个词DigitalWrite()用于设置输出引脚的状态。如果我们将引脚设置为高,它将提供+5V作为输出,如果我们将引脚设置为低,它将提供0V作为输出。
 
所以对于我们的程序,当我们按下键引脚2将接地(低),所以我们使引脚3输出+5V(高)。这+5V将足够打开LED。如果这个条件不符合,那么引脚3将是0V(低),这将最终关闭LED。
 
这就是我们的程序已经完成,让我们上传代码到我们的Arduino板,就像我们如何上传上面的blink代码。
 
void setup() {
pinMode(2,INPUT_PULLUP);
pinMode (3,OUTPUT);
 
}
 
void loop() {
  // put your main code here, to run repeatedly:
  if (digitalRead(2) == LOW)
  {
    digitalWrite(3,HIGH);
  }
  else
  {
    digitalWrite(3,LOW); 
  }
 
}
 
 
验证:
一旦我们成功地将代码上传到Arduino板,就可以验证程序的输出了。我的Arduino的硬件连接如下所示,为了验证输出,我们所要做的就是按下按钮,检查LED是否开启。然后,当我们释放它时,LED应该关闭。
 
 
在了解了有关Arduino的基本知识之后,您可以尝试接口基本组件,如16x2液晶显示器, 直流电动机, 伺服电机, 键盘等。 (吃猫的鱼)