登录站点

用户名

密码

ROBOFUTURE arduino机器人课程第二课

已有 1334 次阅读  2013-06-07 17:27   标签机器人  课程 

3.2按键实验

Arduino集成了2个按键(S1、S2,使用数字端口控制,数字按键S1和S2使用跳线选通(见下图),当标有S1-SW和S2-SW的插针插上短路帽后即表示按键选通,拔掉则表示断开控制。按键S1使用数字端口Pin2,S2使用数字端口Pin3控制,选通S1和S2后Pin2和Pin3将被占用。

 

实验功能:使用按键S1,按下放开后L灯亮,再按一次L灯灭

程序代码:

int ledPin=13;              //定义LED为pin13

int key_s1=2;               //定义S1为pin2

int val=0;

void setup()

{

pinMode(ledPin,OUTPUT);   //设置数字端口13为输出模式

pinMode(key_s1,INPUT);    //设置数字端口2为输入模式

}

void loop()

{

if(digitalRead(key_s1)==0)  //查询S1有没有按下

{

While(!digitalRead(key_s1)==0);

Val++;

}

if(val==1)

{

digitalWrite(ledPin,HIGH);//数字端口置高,L灯亮

}

if(val==2)

{

Val=0;

digitalWrite(ledPin,LOW);  //数字端口置低,L灯灭

}

}

再做一个双按键实验,按下按键S1 L灯亮,按下按键S7 L灯灭。

程序代码:

int ledPin=13;           //定义LED为pin13

int key_s1=2;            //定义S1为pin2

int key_s2=3;            //定义S1为pin3

void setup()

{

pinMode(ledPin,OUTPUT); //设置数字端口13为输出模式

pinMode(key_s1,INPUT);  //设置数字端口2为输入模式

pinMode(key_s1,INPUT);  //设置数字端口3为输入模式

}

void loop()

{

if(digitalRead(key_s1)==0)

{

While(!digitalRead(key_s1)==0);

digitalWrite(ledPin,HIGH); //数字端口置高,L灯亮

}

if(digitalRead(key_s2)==0)

{

While(!digitalRead(key_s2)==0);

digitalWrite(ledPin,LOW); //数字端口置低,L灯灭

}

}

分享 举报