Arduino例子----Internal Pullup Serial

1. 功能描述

本例演示使用带有INPUT_PULLUPpinMode()函数。它通过利用USB在你的Arduino主板和计算机之间建立串行通信来检测开关的状态。此外,当输入为HIGHArduino主板上附着于13号针脚上的LED将会亮起;当输入为LOW时,将关闭LED

 

2. 需要硬件

ü  Arduino 板子

ü  按钮或者开关

ü  面包板

ü  安装线

 

3. 电路连接图

 

链接两条线到Arduino主板。黑色的线链接按钮的一条腿到地。第二条线链接针脚的另外一条腿到数字针脚2号。当你按下按钮或者关闭开关时,他们把两条腿链接到同一个电路内。当按钮没有按下时,按钮的两条腿之间没有链接。因为在针脚2号上的内部上拉电阻是有效的,且链接到5v电压,所以,当按钮没有按下时,我们读取到一个HIGH。当按下按钮时,Arduino读取到LOW,因为针脚2到地的一个链接是完整的。

 

4. 原理图

下面程序持续不断地读取按钮的状态。然后它通过主loop()循环不断地比较按钮的状态和上次的状态。如果当前状态不同于上一次的状态,且当前状态为HIGH,则按钮有关改为开。然后程序吧按钮的计算器加1

本程序也可以检测按钮计数器的值,如果它是4的偶数倍,程序打开13号针脚的LED灯。否则,程序关闭这个LED灯。

 

5. 程序

 

/*

  Input Pullup Serial

 

  this example demonstrates the use of pinMode(INPUT_PULLUP).

  It reads a digital input on pin 2 and prints the result to

  the serial monitor.

*/

const int ledPin = 13;

const int buttonPin = 2;

int buttonState = LOW;

void setup(){

  pinMode(ledPin, OUTPUT);

  pinMode(buttonPin, INPUT_PULLUP);

  digitalWrite(ledPin, LOW);

  Serial.begin(9600);

}

 

void loop(){

  buttonState = digitalRead(buttonPin);

  Serial.print("current button state :");

  Serial.println(buttonState);

  if(buttonState == HIGH)

    digitalWrite(ledPin, LOW);

  else if (buttonState == LOW)

    digitalWrite(ledPin, HIGH);

  else {

    Serial.print("unknown button state :");

    Serial.println(buttonState);

  }

}

 

6. 实验照片

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/263104/viewspace-1255961/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/263104/viewspace-1255961/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值