【头奖彩票官方版app下载】Arduino编程,从新手到达人系列(三)

  • 时间:
  • 浏览:1
  • 来源:大发分分快3-分分快3官方

一、按键控制LED实验

I/O 口的意思即为INPUT 接口和OUTPUT 接口,到目前为止本章设计的小灯实验都还就是应用到Arduino I/O 口的输出功能,这名 实验当大家来尝试一下使用ArduinoI/O 口的输入功能即为读取外接设备的输出值,当大家用一三个 按键和一三个 LED 小灯完成一三个 输入输出结合使用的实验,我就们能简单了解I/O 的作用。按键开关当大家都应该比较了解,属于开关量(数字量)元件,按下时为闭合(导通)状况。完成本实验要

用到的元件如(图1):

按键开关*1

红色M5 直插LED*1

220Ω电阻*1

10KΩ电阻*1

面包板*1

面包板跳线*1

当大家将按键接到数字7 接口,红色小灯接到数字11 接口(Arduino 控制器0-13 数字I/O 接口都能否 用来接按键和小灯,而且尽量不选用0 1 接口,0 1 接口为接口功能复用,除I/O 口功能外也是串口通信接口,下载守护进程时属于与PC 机通信故应保持0 1 接口悬空,全都为处置插拔线的麻烦尽量不选用0 1 接口),按下面的原理图2连接好电路。

实物连接见(图3、图4):

 

下面现在开始编写守护进程,当大家让按键按下时小灯亮起,根据前面的学习相信这名 守护进程很容易就能编写出来,相对于前面几条实验这名 实验的守护进程中多加了一条条件判断一段话,这里当大家使用if 一段话,Arduino 的守护进程便写一段话是基于C 语言的,全都C 的条件判断一段话自然也适用于Arduino,像whileswich 等等。这里根据此人 喜好当大家习惯

于使用简单易于理解的if 一段话我就们做演示例程。

   分析电路可知当按键按下时,数字7 接口可读出为高电平,这时当大家使数字11 口输出高电平可使小灯亮起,守护进程中当大家判断数字7 口与否为低电平,要为低电平使数字11 口输出也为低电平小灯不亮,原理同上。

参考源守护进程:

int ledpin=11;//定义数字11 接口

int inpin=7;//定义数字7 接口

int val;//定义变量val

void setup()

{

pinMode(ledpin,OUTPUT);//定义小灯接口为输出接口

pinMode(inpin,INPUT);//定义按键接口为输入接口

}

void loop()

{

val=digitalRead(inpin);//读取数字7 口电平值赋给val

if(val==LOW)//检测按键与否按下,按键按下时小灯亮起

{ digitalWrite(ledpin,LOW);}

else

{ digitalWrite(ledpin,HIGH);}

}

//////////////////////////////////////////////

实验结果及其问題:当按键按下时,LED亮,按键没法按下时,LED不亮。

下载完守护进程当大家本次的小灯配合按键的实验就完成了,本实验的原理很简单,广泛被用于各种电路和电器中,实际生活中当大家就是难 在各种设备上发现,这名当大家的手机当按下任一按键时背光灯就会亮起,这就是典型应用了。我就把LED当成继电器,就能否 控制220v电灯!

二、抢答器设计实验

完成上方的实验并且相信将会有全都当大家能否 独立完成这名 实验了,本实验就是将上方的按键控制小灯的实验扩展成3 个按键对应3 个小灯,占用6 个数字I/O 接口,见电路连接图(图5)。

 

原理这里就没法来太少说了同上方实验,附上参考原理图和实物连接图6。

参考源守护进程如下:

int redled=8;     //红色LED 输出

int yellowled=7;  //黄色LED输出

int greenled=6;   //绿色LED输出

int redpin=5;     //红色按键引脚

int yellowpin=4;  //黄色按键引脚

int greenpin=3;   //绿色按键引脚

int restpin=2;   //复位按键引脚定义

int red;

int yellow;

int green;

void setup()

{

pinMode(redled,OUTPUT);

pinMode(yellowled,OUTPUT);

pinMode(greenled,OUTPUT);

pinMode(redpin,INPUT);

pinMode(yellowpin,INPUT);

pinMode(greenpin,INPUT);

}

void loop()  //按键循环扫描。

{

red=digitalRead(redpin);

yellow=digitalRead(yellowpin);

green=digitalRead(greenpin);

if(red==LOW)RED_YES();   

if(yellow==LOW)YELLOW_YES();

if(green==LOW)GREEN_YES();

}

void RED_YES()//总爱 执行红灯亮,直到复位键按下,现在开始循环

{

  while(digitalRead(restpin)==1)

  {

   digitalWrite(redled,HIGH);

   digitalWrite(greenled,LOW);

   digitalWrite(yellowled,LOW);

  }

  clear_led();

}

void YELLOW_YES()//总爱 执行黄灯亮,直到复位键按下,现在开始循环

{

  while(digitalRead(restpin)==1)

  {

  digitalWrite(redled,LOW);

  digitalWrite(greenled,LOW);

  digitalWrite(yellowled,HIGH);

  }

  clear_led();

}

void GREEN_YES()//总爱 执行绿灯亮,直到复位键按下,现在开始循环

{

  while(digitalRead(restpin)==1)

  {

  digitalWrite(redled,LOW);

  digitalWrite(greenled,HIGH);

  digitalWrite(yellowled,LOW);

  }

  clear_led();

}

void clear_led()//清除LED

{

  digitalWrite(redled,LOW);

  digitalWrite(greenled,LOW);

  digitalWrite(yellowled,LOW);

}

实验问題都说了是抢答器,肯定是谁先按下,就亮谁的灯啦!

而且按下REST按键后,复位。

下载完守护进程,当大家此人 制作的简易抢答器就完成了。