立即注册 找回密码

微雪课堂

搜索
微雪课堂 Arduino 查看内容

Arduino系列教程五:按键

2015-4-24 19:33| 发布者: MyMX1213| 查看: 10936| 评论: 0|原作者: MyMX1213

摘要: 按下Accessory Shield中五向摇杆的中间按键,串口监视器会显示按键按下的信息。

上面两章我们讲解两个经典的程序点亮一个LED灯和Hello World程序。这一章开始我们将讲解Arduino的软件编程控制硬件。本系列教程主要是Arduin的入门教程,讲解基本的接口编程。Arduino的很多教程都是通过面包板连接硬件电路。我本人很不喜欢这种方式,连接一些简单的电路还行,如果电路复杂的时候就非常麻烦了。再接下来的教程中我将使用Accessory Shield扩展板作为示例讲解Arduino的数字IO,模拟IOPWMI2CSPI等接口的编程。

[接口]

  1. Arduino接口
    方便接入各种带Arduino接口的主板
  2. XBee接口
    方便接入各种XBee通信模块


[器件]

  1. 0.96inch OLED
    方便进行各种显示实验,分辨率128×64
  2. 多彩 LED
    红绿蓝三基色LED,可以显示256×256×256种颜色 
  3. 蜂鸣器
    PWM连接,能演奏简单的音乐
  4. 10K可调电位器
  5. ADXL345
    三轴加速度计,测量范围可达±16g
  6. LM75BDP 
    温度传感器,分辨率可达0.125
  1. 五向摇杆
    上、下、左、右和按下,共5种状态
  2. XBee 状态指示灯
  3. 电源指示灯
  4. XBee EASYLINK按键
  5. ArduinoXBee复位按键
  6. DS3231
    高精度实时时钟
  7. CR1220电池座
    实时时钟供电
  8. P9813
    RGB LED驱动芯片

[跳线]

  1. 调试/通信配置跳线
    当选择TXDTXRXDRX相连时,可使用上位机软件通过Arduino主控板串口对XBee通信模块进行调试和配置
    当选择TXDRXRXDTX相连时,可通过Arduino主控板串口与XBee通信模块进行数据通信

打开Arduino IDE,编写如下程序并保存。

#define KEY A4

void setup() {

  pinMode(KEY,INPUT);

  digitalWrite(KEY,HIGH);

  Serial.begin(9600);

}

 

void loop() {

  if(digitalRead(KEY) == LOW){

    delay(10);

    if(digitalRead(KEY) == LOW)

    Serial.println("KEY PRESS!!!");

    while(digitalRead(KEY) == LOW){

      delay(10);

    }

  }

}


Accessory Shield插上UNO PLUS开发板。编译并上传程序,打开串口监视器。等待一会儿,按下Accessory Shield中五向摇杆的中间按键,串口监视器会显示按键按下的信息。

程序分析:

程序开头定义按键接到A4管脚,setup()函数中设置管脚为输入模式,默认高电平,初始化串口,波特率为9600.

loop()函数中判断管脚是否为低电平,若为低电平测表示有按键被按下。delay(10);

延时10ms去抖动,防干扰。再次判断管脚状态。若为低则表示不是抖动,是按键按下。使用Serial.println("KEY PRESS!!!")语句显示信息。然后等待按键被释放。


376

顶一下

刚表态过的朋友 (376 人)

相关阅读

最新评论

Arduino

微雪官网|产品资料|手机版|小黑屋|微雪课堂. ( 粤ICP备05067009号 )

GMT+8, 2020-12-2 14:26 , Processed in 0.023892 second(s), 18 queries .

返回顶部