极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10459|回复: 0

OCROBOT进阶教程03——串口分别监听三个按键状态

[复制链接]
发表于 2016-2-24 15:56:14 | 显示全部楼层 |阅读模式
本帖最后由 Soul110 于 2016-3-6 17:47 编辑

本教程说明了如何通过串口助手,监视三个按键(微动开关)状态。

硬件准备:
1、 ALPHA 并行扩展板
2、 ALPHA MEGA328-U
3、 ALPHA 微动开关模块

搭建电路
  • ALPHA 8F328D-U模块插入并行扩展版1号槽位。
  • ALPHA 微动开关模块插入并行扩展板2号槽位。
  • USB线连接计算机与ALPHA 8F328D-U。
如图:



  1. /*
  2.   DigitalReadSerial
  3.   读取数字接口D15、D16、D17的输入,并将结果显示在串口监视器
  4. */


  5. int Button1 = 15;   //初始化按键,根据三个按键的引脚15、16、17,分别设置为1、2、3.
  6. int Button2 = 16;
  7. int Button3 = 17;

  8. int buttonState1=LOW;    //初设定三个按键状态
  9. int buttonState2=LOW;
  10. int buttonState3=LOW;

  11. void setup() {
  12.   Serial.begin(9600);// 初始化串口通讯为9600波特率
  13.   
  14.   pinMode(Button1, INPUT); //初始化按键为输入模式
  15.   pinMode(Button2, INPUT);
  16.   pinMode(Button3, INPUT);
  17. }

  18. void loop() {
  19.    if (digitalRead(Button1)!=buttonState1)      //读取按键1的状态,与设定的按键状态比较。若不相等,则进入下一步
  20.     {   buttonState1 = digitalRead(Button1);     //把现在读取到的状态赋给设定的按键状态,
  21.      if(buttonState1==HIGH)                     //如果现在的按键状态为高电平
  22.       { Serial.println(Button1);             // 则将按下的按键引脚显示到串口:
  23.          }
  24.      }
  25.    if (digitalRead(Button2)!=buttonState2)     //若读取到按键2的状态,则与设定的按键状态比较
  26.      { buttonState2 = digitalRead(Button2);
  27.        if(buttonState2==HIGH)
  28.       { Serial.println(Button2);            
  29.          }
  30.      }
  31.    if (digitalRead(Button3)!=buttonState3)     //若读取到按键3的状态,则与设定的按键状态比较
  32.      { buttonState3 = digitalRead(Button3);
  33.        if(buttonState3==HIGH)
  34.       { Serial.println(Button3);            
  35.        }
  36.      }
  37. }
复制代码


效果如图:



当有按键按下的时候,串口助手会显示哪个按键按下了,以它的引脚来说明。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 22:38 , Processed in 0.048578 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表