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

目录

1.安装对应软件

2.学习软件的使用

3.知识准备  

4.准备道具

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

5.代码

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

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

6.欣赏成果

7.心得

8.花絮

问题一:

问题二:

问题三:


这是本系列的第二章,也是最后一章

1.安装对应软件

 首先先安装对应软件Arduino

网址Arduino - 首页

2.学习软件的使用

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

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

       

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

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

3.知识准备  

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 里的代码。
awnser = random(5);指在符合条件时随机出现一个数(在5里面)

askButtonState = digitalRead(askButton);是指将askButton的电平状态存到变量askButtonState中

4.准备道具

– Arduino Uno控制器
– 5个LED
– 5个220 欧姆电阻
– 1个10k欧姆电阻
– 连接线
– 面包版
– 1个按钮

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

注意一定是10K电阻,因为电阻帮隔绝电压,防止UNO板子烧坏(具体原理可以看上一篇)

5.代码

const int redLed = 2;//引脚2链接红色灯
const int yellowLed = 3;//引脚3链接黄色灯
const int whiteLed = 4;//引脚4链接白色灯
const int blueLed = 5;//引脚5链接蓝色灯
const int greenLed = 6;//引脚6链接绿色灯
const int askButton = 12;//引脚12
// initialize Variables
int askButtonState = 0;
int awnser = 0;
void setup() {
// put your setup code here, to run once:
pinMode(redLed, OUTPUT);
pinMode(yellowLed, OUTPUT);
pinMode(whiteLed, OUTPUT);
pinMode(blueLed, OUTPUT);
pinMode(greenLed, OUTPUT);
pinMode(askButton, INPUT);} 
void loop() {
// put your main code here, to run repeatedly:
askButtonState = digitalRead(askButton);
if (askButtonState == HIGH) {
digitalWrite(redLed, LOW); // clear Leds to show new awnser
digitalWrite(yellowLed, LOW);
digitalWrite(whiteLed, LOW);
digitalWrite(blueLed, LOW);
digitalWrite(greenLed, LOW);
delay(100);
awnser = random(5);
switch (awnser) {
case 0: // no
digitalWrite(greenLed, LOW);
digitalWrite(yellowLed, LOW);
digitalWrite(whiteLed, LOW);
digitalWrite(blueLed, LOW);
digitalWrite(redLed, HIGH);
delay(1000);
break;
case 1: // rather not
digitalWrite(redLed, LOW);
digitalWrite(whiteLed, LOW);
digitalWrite(blueLed, LOW);
digitalWrite(greenLed, LOW);
digitalWrite(yellowLed, HIGH);
delay(1000);
break;
askButtonState = digitalRead(askButton);
case 2: // maybe
digitalWrite(redLed, LOW);
digitalWrite(yellowLed, LOW);
digitalWrite(blueLed, LOW);
digitalWrite(greenLed, LOW);
digitalWrite(whiteLed, HIGH);
delay(1000);
break;
case 3: // rather yes
digitalWrite(redLed, LOW);
digitalWrite(whiteLed, LOW);
digitalWrite(yellowLed, LOW);
digitalWrite(greenLed, LOW);
digitalWrite(blueLed, HIGH);
delay(1000);
break;
case 4: // yes
digitalWrite(redLed, LOW);
digitalWrite(whiteLed, LOW);
digitalWrite(blueLed, LOW);
digitalWrite(yellowLed, LOW);
digitalWrite(greenLed, HIGH);
delay(1000);
break;
}
}
}

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

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

6.欣赏成果

Arduino 按钮随机LED成果

7.心得

我认为这是个新的开始我也遇到了很多问题(见下面),但是当我成功做出来了后感到非常自豪,所以我认为在这个时代人类要不断走出自己的舒适圈,才能前进,我还会更新的,最后点一下赞,一起加油吧,,我是FOX,励志做一个博学的萌新

8.花絮

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

问题一:

我想把灯变两个两个亮,于是我将代码改成了

digitalWrite(redLed, LOW);
digitalWrite(whiteLed, LOW);
digitalWrite(blueLed, LOW);
digitalWrite(yellowLed, HIGH);
digitalWrite(greenLed, HIGH);

LOW改成HIGH这样就是高电平,也是变亮

问题二:

awnser = random(5);指在符合条件时随机出现一个数(在5里面)

这个一开始我看不懂,于是在百度的帮助下

我发现random函数就是随机生成,详细可以看下面网站

Python如何生成5个随机数 – PingCode

问题三:

如果按按钮却没有亮,可能是因为没随机到,比较全随机

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值