Arduino 按钮随机LED保姆级教学(1/2)

这是本系列的第一章,本系列共有两章

目录

1.安装对应软件

2.学习软件的使用

3.知识准备  

4.准备道具

然后我们连接面包板和UNO板子

5.代码

接下验证 ,左上角的勾是验证符号

验证成功后就上传(勾旁边的箭头就是上传)

6.欣赏成果

7.心得

8.花絮

问题一

问题二

问题三

问题四


1.安装对应软件

首先先安装对应软件Arduino

网址arduino.cc/en/software

2.学习软件的使用

安装结束,我们进入首页选择我们对应的开发板Arduino UNO

选择之后就会将UNO开发板作为默认(UNO开发板适合初学者简单易上手)

并将开发板连接到电脑(注意:后面一定带有后缀,我前面买的盗版无法识别就没有后缀)

如果没有出现开发板(com)请检查链接器是否连接好或者开发板是否接触不良。

3.知识准备  

Serial.begin(9600);这句话是设置传输速率为9600波特率

int inByte=Serial.read();是从串口读取1个字节的输入数据,并存入整型变量inByte中,比如从串口监视器输入(a,b)。

if(Serial.available()>0)是指判断串口缓冲区是否有等待读取的数据(即是否接收到串口数据), >0  表示有数据待读取。

delay(1000)是延迟1000毫秒(1秒

digitalWrite(2, LOW(HIGH))是将数字引脚写HIGH(高电平)或LOW(低电平),2是开发板的几接口

pinMode(2, OUTPUT)是通过pinMode()函数,你可以将Arduino的引脚配置为以下三种模式:

输出(OUTPUT)模式
输入(INPUT)模式
输入上拉(INPUT_PULLUP)模式

 

case........break函数为 break 的核心用途:
让每个 case 成为「独立分支」,执行完后不再往下走;
避免无意的「穿透效应」(如果需要刻意穿透,也可以不写 break,但要加注释说明)

default 的作用:处理「所有未匹配的情况」
default 是 switch 的「默认分支」—— 当 switch 后的变量值,没有匹配到任何一个 case 的取值时,会执行 default 里的代码。

4.准备道具

Arduino Uno控制器

5个LED

5个220 欧姆电阻

连接线 – 面包版 

然后我们连接面包板和UNO板子

注意一定是220电阻,因为电阻帮隔绝电压,防止UNO板子烧坏

5.代码

void setup(){
  Serial.begin(9600);
  for(int thisPin=2;thisPin<7;thisPin++){
    pinMode(thisPin,OUTPUT);
  }
}

void loop(){
  if(Serial.available()>0){
    int inByte=Serial.read();
   switch(inByte){
    digitalWrite(2,HIGH);
    delay(5000);
    case'a':
    delay(5000);
    break;
    case'b':
    digitalWrite(3,HIGH);
    delay(5000);
    break;
    case'c':
    digitalWrite(4,HIGH);
    delay(5000);
    break;
    case'd':
    digitalWrite(5,HIGH);
    delay(5000);
    break;
    case'e':
    digitalWrite(6,HIGH);
    delay(5000);
    break;
    default:
    for(int thisPin=2;thisPin<7;thisPin++){
      digitalWrite(thisPin,LOW);
    }
    break;
   } 
  }
}

接下验证 左上角的勾是验证符号

验证成功后就上传(勾旁边的箭头就是上传)

6.欣赏成果

Arduino 按钮随机LED保姆级教学成果(1/2)

7.心得

我认为这是个新的开始我也遇到了很多问题(见下面),但是当我成功做出来了后感到非常自豪,所以我认为在这个时代人类要不断走出自己的舒适圈,才能前进,这是本系列的第一篇,如果觉得有帮助就请点一下赞,我火速更新下一章,我是FOX,励志做一个博学的萌新

8.花絮

这是我最喜欢的部分,这一部分是我在做的时候遇到的问题

问题一

我发现这个代码如果缺少了digitalWrite(4,HIGH);在验证时也不会报错,但是在成果中对应的灯却不会亮

case'c':
digitalWrite(4,HIGH);
    break;

在询问了豆包,后纠正了错误

问题二

这个代码led灯虽然会亮,却一闪而过,不利于观察

case'c':
digitalWrite(4,HIGH);
    break;

于是我尝试在原来基础是将灯亮的时间延迟5秒

于是代码变成了这样

  case'c':
    digitalWrite(4,HIGH);
    delay(5000);
    break;

灯亮的时间变长了,就利于观察

问题三

串口监视器在哪里?

在百度上找发现在右上角

问题四

如果我不喜欢(a,b,c,d,,e)这几个作为字符怎么办?

很简单将代码的 case'd':改成 case'1':用1,2,3,4,5代替也行

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值