| 
 
 73571| 35
 
 | 
[教程] 【Mind+】Arduino Uno入门 项目三 神奇的按钮 | 
| 
 【Mind+】Arduino Uno入门 项目三 神奇的按钮  -DFRobot官方出品 上一篇:【Mind+】Arduino Uno入门教程02  S.O.S.  下一篇:【Mind+】Arduino Uno入门教程04  简易入侵检测仪        按钮是我们在这套元件中接触的第一个输入设备,具有按下(高)和抬起(低)两种状态。默认状态为抬起。生活中的按钮可以说无处不在,遥控器、计算器、手机、电脑等各种电子设备上的按键,都是按钮。 *项目示例       可以通过以下三个小任务进行实践:       ■ 任务一:让按钮简单工作        ■ 任务二:简易延时灯        ■ 任务三:使用按钮模拟开关 任务一:让按钮简单工作 1. 实现功能       按下按钮灯亮,松开按钮灯灭。  2. 硬件连接       按钮à3;LEDà10。注意插线时的颜色对应。  ![]() 3. 程序编写        首先是实现功能的逻辑,如下图: ![]()       输入设备向控制设备发送信号,控制设备对其进行处理,并控制输出设备进行相应的输出工作。        当按钮被按下时,向 3 号管脚输入高电平,此时 10 号管脚应输出高电平;当按钮被抬起时,向 3 号管脚输入低电平,此时 10 号管脚应输出低电平。  程序如下图所示: ![]()       数字输入:有两种状态,即“高”和“低”。按钮按下为高,抬起为低。       支持数字输入的管脚为:2~13,A0~A5(其实 0 号和 1 号管脚也支持数字输入,但因为负责串口通信功能,一般情况下不使用)。 任务二:简易延时灯 1. 实现功能       按下按钮灯亮,3 秒钟后灯灭。  2. 程序编写:  ![]()       这里我们看到了一个新的结构——条件结构。它是如何应用的呢?请看下图: ![]()       如果当前状态符合判断条件的要求,判断模块内(黑色边框内的)的程序将会被执行。如果不符合,则那部分代码将会被跳过,直接执行接下来红色框中的程序。 任务三:使用按钮模拟开关 1. 实现功能       每次按下,LED 灯切换亮灭。  2. 程序编写:  ![]()       这段程序中,我们使用了定义变量的模块。变量的名称是i。设置i的值为0指令,在整个程序运行过程中只执行一次,相当于对变量i的值初始化为0。 程序中等待0.5秒用于消除按键抖动。 知识点小结  元件  
 Mind+ 程序模块 
  | 
驴友花雕 发表于 2019-6-6 11:33 老师,您好!我的理解具体如下,希望可以解决您的问题。用如图所示的黄色按钮连接3号引脚后,可以通过串口打印读取数字引脚3,可以发现,当按下黄色按钮时,读取数字引脚3的值为1。当黄色按钮弹起时,读取数组引脚3的值为0。在这里会发现,一直按就会一直输出1。所以,一般情况下,会在后面加等待指令,等待0.5秒比较接近按键的时间。 ![]() ![]() ![]() 本案例想实现的效果是,刚开始小灯不亮,按下按钮后,小灯亮。再按一次按钮,小灯灭。这里可以通过变量来改变状态,比如定义变量i,i=0时,灯不亮。i=1时,灯亮。一开始灯不亮。当按下按钮时,灯亮,令i=1。当再次按下按钮时,灯灭,也就是令i=0。一直循环进行。也就是,一开始的时候,i=0。当按下按钮时,如果i=0,则令i=1,灯亮。如果i=1,则令i=0,灯灭。一直循环判断。 大体上就是这个思路,希望可以解决您的问题。  | 
DFBmjf 发表于 2020-5-5 17:28 刚开贴,还没开始做实验呢 MicroPython动手做(23)——掌控板之WiFi与蓝牙 https://mc.dfrobot.com.cn/thread-305200-1-1.html#pid455418  | 
 沪公网安备31011502402448© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed