首页

如何为初学者编写Arduino代码?

在之前的教程中,我们通过理解草图的不同对象分析了“Blink”草图。我们已经看到了注释,设置,循环,引脚初始化,驱动输出引脚为HIGH或LOW和延迟函数。我们也看到了如何修改一些参数,如LED引脚和持续延迟。

(adsense1)

为了进一步探索Arduino,我们将设计一个电路,并为它写我们自己的草图。对于本教程的目的,我们需要以下组件。

  • Arduino UNO [在这里买
  • USB连接线A型到B型
  • 领导
  • 1 KΩ电阻器
  • 10 KΩ电阻器
  • 按钮
  • 面包板(原型板)和
  • 连接电线

在这个项目中,我们将在按下按钮时打开LED。该项目的示意图如下所示。

编写代码arduino

在这个电路中,LED的阳极连接到13th通过1千欧姆的限流电阻连接Arduino UNO的引脚(或任何其他数字引脚)。LED的阴极与地面相连。

下一步是连接一个10千欧姆之间的电阻thArduino UNO引脚和5V电源,即10thArduino的引脚被拉得很高。因此,10thArduino的引脚会持续检测逻辑HIGH。

现在将开关或按钮的一端连接到10thArduino的引脚,另一端接地。面包板的电源可以从Arduino UNO的5V和GND引脚提供。至此完成了电路的设计。

(adsense2)

现在,我们将了解按键背后的理论。如前所述,10thArduino的引脚被拉高,从而持续检测到逻辑high。此外,该按钮连接在引脚10和地面之间。

因此,如果按下按钮,Arduino的引脚10与地面的连接关闭,Arduino将检测到10上的逻辑LOWth销。借助这种从逻辑高到逻辑低的转换,我们可以检测按钮是否被按下,然后打开或关闭LED。

由于电路的设计和原理已经描述成功,下一步是在Arduino IDE中编写该电路和逻辑的程序或草图。

为电路编写草图

为了容易地编写代码,我们需要遵循以下步骤。

  • 初始化一个引脚作为LED的输出。
  • 初始化一个引脚作为按钮或开关的输入。
  • 检测按钮的状态。
  • 打开或关闭LED。

因此,第一步是初始化Arduino的一个引脚(pin 13)作为LED的输出,另一个引脚(pin 10)作为按钮的输入。正如我们在上一篇教程中看到的,我们需要使用函数pinMode来初始化一个引脚作为输入或输出。因此,在setup函数中写入LED和按钮引脚的pinMode函数。

编写代码arduino

一旦我们初始化了LED和交换机的引脚,下一步就是检查交换机的状态。为此,我们需要使用一个名为digitalRead()的函数;

digitalRead,顾名思义,是一个用于从数字引脚读取值的函数,即它在数字引脚上读取逻辑LOW或HIGH。

digitalRead函数的语法是digitalRead(销);

在语法中,pin no表示要从中读取数字数据的数字引脚的编号。digitalRead函数可以返回两个值:HIGH或LOW。如果digitalRead在引脚处检测到5V,则返回HIGH。类似地,如果digitalRead在引脚处检测到0V,则返回LOW。

来到我们的电路,我们需要读取按钮引脚的状态,即10th销。在设置之前创建一个变量,并将其命名为“buttonstate”,这样就可以捕获digitalRead函数返回的值。现在在循环函数中,为digitalRead赋值返回值为10th引脚到buttonstate变量。

编写代码arduino

通过这一步,我们现在已经在一个变量中捕获了按钮的状态。下一步就是控制LED。为了控制LED,即打开或关闭它,我们需要使用一个名为if和else的条件语句。

编写代码arduino

If - else语句用于检查条件并在程序中执行代码块。如果" If "语句中的条件为真,则执行" If "语句对应的代码块。如果" If "语句中的条件为假,则执行" else "语句中的代码块。

因此,在" if "语句中,我们将buttonstate变量与LOW进行比较。这是因为,当按下按钮时,Arduino UNO将检测到逻辑LOW。如果这个条件为真,即如果按钮被按下,那么我们通过写digitalWrite函数在" If "语句中输出高的LED引脚来打开LED。

如果条件为假,即如果按钮没有被按下,那么我们通过写digitalWrite函数在" else "语句中将LED引脚输出到low来打开LED。

编写代码arduino

在下一篇教程中,我们将开始一个名为串行通信的新主题,并通过修改上面的草图来查看Arduino如何与计算机通信。

4的反应

  1. 先生,我的名字是hemant,我是b.tech(ece)三年级的学生。先生,我想做arduinio基础的项目,但如何开始我的项目。我的项目名称是接口RTC模块(DS1307)与8051微控制器

  2. 我刚开始想让我的火车项目“机器人化”。
    已经看了很多视频,详细介绍了基本的电子,如何使用许多模块与arduino /不使用Atmega的独立项目等。
    但一直在努力寻找我的项目的核心内容。如何编写代码。
    在这儿。怎么做……一切。
    因此,我非常高兴地祝贺您的关心。
    做得很好。
    又及,虽然已经过了午夜了,但我还是很兴奋,想再熬几个小时,把这一切都消化掉。

留下一个回复

您的电邮地址将不会公布。

Electronicshub图标
Baidu
map