我想用arduino写一个程序,要求如下。
用key1和key2控制两个LED,要求按下key1时LED1亮,并按key2无效;按下key2时LED2亮,并按key1无效,同时按两个key时也无效,请问如何写代码?...
用key1和key2控制两个LED,要求按下key1时LED1亮,并按key2无效;按下key2时LED2亮,并按key1无效,同时按两个key时也无效,请问如何写代码?两百分送上。
展开
6个回答
展开全部
int buttonPin = 数字; // 按键key1的管脚定义
int ledPin = 数字; // LED1灯管脚定义
int buttonPin_2 = 数字; // 按键key2的管脚定义
int ledPin_2 = 数字; // LED2灯管脚定义
int buttonState = 0; // 存储按键状态值
int buttonState_2 = 0; // 存储按键状态值
bool led_1 = false; // 存储亮灯状态值
bool led_2 = false; // 存储亮灯状态值
void setup() {
pinMode(ledPin, OUTPUT); //设置LED管脚输出模式
pinMode(buttonPin, INPUT_PULLUP); //设置按键管脚上拉输入模式
pinMode(ledPin_2, OUTPUT); //设置LED管脚输出模式
pinMode(buttonPin_2, INPUT_PULLUP); //设置按键管脚上拉输入模式
}
void loop() {
buttonState = digitalRead(buttonPin); //读取按键1返回状态值
buttonState_2 = digitalRead(buttonPin_2); //读取按键2返回状态值
if (buttonState == LOW && buttonState_2 == HIGH) { // 若按键1被按下 若按键2被松开
delay(80); //等待跳过按键抖动的不稳定过程
if (buttonState == LOW && buttonState_2 == HIGH) // 若按键1被按下
{
digitalWrite(ledPin, HIGH); // 点亮LED灯
led_1 = true;
led_2 = false;
}
}
else if(buttonState == HIGH && buttonState_2 == LOW) { // 若按键2被按下 若按键1被松开
delay(80); //等待跳过按键抖动的不稳定过程
if (buttonState == HIGH && buttonState_2 == LOW) { // 若按键2被按下
digitalWrite(ledPin_2, HIGH); // 点亮LED灯
led_1 = false;
led_2 = true;
}
}
else if(buttonState == LOW && buttonState_2 == LOW) { // 同时按下原来亮哪个就亮那个
if (led_1){
digitalWrite(ledPin, HIGH); // 点亮LED1灯
}
else if (led_2){
digitalWrite(ledPin_2, HIGH); // 点亮LED2灯
}
}
else {
// 熄灭LED灯
led_1 = false;
led_2 = false;
digitalWrite(ledPin, LOW);
digitalWrite(ledPin_2, LOW);
}
}
如果你想同时按灭灯的话就把同时按那里改一下就好了^^
int ledPin = 数字; // LED1灯管脚定义
int buttonPin_2 = 数字; // 按键key2的管脚定义
int ledPin_2 = 数字; // LED2灯管脚定义
int buttonState = 0; // 存储按键状态值
int buttonState_2 = 0; // 存储按键状态值
bool led_1 = false; // 存储亮灯状态值
bool led_2 = false; // 存储亮灯状态值
void setup() {
pinMode(ledPin, OUTPUT); //设置LED管脚输出模式
pinMode(buttonPin, INPUT_PULLUP); //设置按键管脚上拉输入模式
pinMode(ledPin_2, OUTPUT); //设置LED管脚输出模式
pinMode(buttonPin_2, INPUT_PULLUP); //设置按键管脚上拉输入模式
}
void loop() {
buttonState = digitalRead(buttonPin); //读取按键1返回状态值
buttonState_2 = digitalRead(buttonPin_2); //读取按键2返回状态值
if (buttonState == LOW && buttonState_2 == HIGH) { // 若按键1被按下 若按键2被松开
delay(80); //等待跳过按键抖动的不稳定过程
if (buttonState == LOW && buttonState_2 == HIGH) // 若按键1被按下
{
digitalWrite(ledPin, HIGH); // 点亮LED灯
led_1 = true;
led_2 = false;
}
}
else if(buttonState == HIGH && buttonState_2 == LOW) { // 若按键2被按下 若按键1被松开
delay(80); //等待跳过按键抖动的不稳定过程
if (buttonState == HIGH && buttonState_2 == LOW) { // 若按键2被按下
digitalWrite(ledPin_2, HIGH); // 点亮LED灯
led_1 = false;
led_2 = true;
}
}
else if(buttonState == LOW && buttonState_2 == LOW) { // 同时按下原来亮哪个就亮那个
if (led_1){
digitalWrite(ledPin, HIGH); // 点亮LED1灯
}
else if (led_2){
digitalWrite(ledPin_2, HIGH); // 点亮LED2灯
}
}
else {
// 熄灭LED灯
led_1 = false;
led_2 = false;
digitalWrite(ledPin, LOW);
digitalWrite(ledPin_2, LOW);
}
}
如果你想同时按灭灯的话就把同时按那里改一下就好了^^
展开全部
用key1和key2控制两个LED,要求按下key1时LED1亮,并按key2无效;按下key2时LED2亮,并按key1无效,同时按两个key时也无效,请问如何写代码?两百分送上。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
2013-03-21
我想用c编写一个程序、保存文件形式是记事本、打开这个记事本、就在屏幕上显示一些字、怎么写啊、
我想用c编写一个程序、保存文件形式是记事本、打开这个记事本、就在屏幕上显示一些字、怎么写啊、
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你if逻辑结构,或者用switch判断就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我想用arduino写一个程序,要求如下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询