Arduino 按键或者串口控制 LED的亮灭

//Arduino 按键 或者 串口控制 LED的亮灭

int buttonPin = 2;//D2脚 接按键
int led1Pin = 12;//D12脚 接LED1
int led2Pin = 13;//D13脚 接LED2
void Ser_cnled1();//声明 串口控制 子函数
void Key_cnled2();//声明 按键控制 子函数
void setup() {
  pinMode(buttonPin, INPUT);
  //D2脚 接按键 设置为 上拉输入 INPUT_PULLUP 属于稳妥操作;没有实际接入上拉电路就先输入个INPUT 吧
  pinMode(led1Pin, OUTPUT);//D12脚 接LED 设置为输出
  pinMode(led2Pin, OUTPUT);//D13脚 接LED 设置为输出
  Serial.begin(9600);//串口以9600波特率开启
  
}
void loop() {
  Ser_cnled1();//调用串口控制 子函数
  delay(10);//延时10毫秒 
  Key_cnled2();//调用按键控制 子函数
}


void Ser_cnled1()//串口控制 子函数
{
  if(Serial.available()) //判断 串口接收数据
      {
        char readL8 = Serial.read();//readL8=接收数据
        delay(5);//延时5毫秒

         if(readL8=='0')//readL8 接收数据 为字符0
          {  
            
              digitalWrite(led1Pin, LOW);// 接LED1 的 D12脚 设置为输出低电平 熄灭LED
              Serial.println("LED1 熄灭");//串口打印  LED1 熄灭
               
           }
            if(readL8=='1')
             {  
            
              digitalWrite(led1Pin, HIGH);// 接LED1 的 D12脚 设置为输出高电平 点亮LED
              Serial.println("点亮 LED1");//串口打印  点亮 LED1
               
             }
      }
       
      
}

void Key_cnled2()//按键控制 子函数
{
  if (digitalRead(buttonPin) == LOW)//如果读取到,D2脚 接按键为低电平LOW(0)
  {
    delay(10);//延时10毫秒 消抖
    if (digitalRead(buttonPin) == LOW)//如果读取到,D2脚 接按键仍为低电平LOW(0)
    {
      digitalWrite(led2Pin, HIGH);//D13脚 接LED 设置为输出为高电平 点亮LED
      //Serial.println("按键是低电平0 ;点亮LED2");//串口输出打印信息  注意 有汉字的打印信息  在ArduinoIDE之外的软件上 是打印不出来汉字的
      
    }
    
  }
  else{
       //Serial.println("按键是悬空或高电平,熄灭LED2");//串口输出打印信息
       digitalWrite(led2Pin, LOW);//D13脚 接LED 设置为输出为高电平 点亮LED
       }
  delay(1500);//延时1500毫秒 (1.5秒)
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值