Arduino轻松学Mixly编程第8课 状态提示灯
Arduino轻松学Lesson 8 状态提示灯https://www.bilibili.com/video/BV1YS421X7Fq/?spm_id_from=333.788
1. 课程介绍
程序分支可以为程序增加多种交互,上节课以门铃为案例,讲解了单布尔条件下程序的交互设计,这节课引入布尔运算,实现更复杂的程序逻辑,制作一个状态指示灯。本节课所需元件:Arduino UNO、IO扩展板、LED灯、按键
2. 本节知识点程序分支布尔运算
3. 所需模块讲解布尔运算所处位置:逻辑模块功能:对模块左右的布尔值进行“且”、“或”运算。
“非”运算所处位置:逻辑模块功能:对布尔值进行“非”操作。
4. 程序及流程图
程序图
流程图
5. 关联知识讲解
状态变量在本例中,变量state为状态变量,记录灯的开关状态,与按键状态(5号端口的高低电平状态)一起,决定了具体执行的程序分支语句。布尔变量,仅有“真”、“假”两种状态,如果需要多种状态的记录与切换,可以使用整数变量,如0、1、2、3分别对应4种状态。
布尔运算“且”运算:参与运算的布尔值均为真时,结果为真参与运算的布尔值中有一个假,结果为假真且真为真,真且假为假,
“或”运算参与运算的布尔值中只要有一个真,结果为真参与运算的布尔值中均为假时,结果为假如真或假为真,真或真为真,假或假为假
“非”运算非“真”即“假”,非“假”即“真”。
6.课堂练习结合纸模,完成课程案例。
7.作业及挑战
上述程序执行完后变量m的值为:A:0 B:1C:2D:3
制作一个灯效切换灯:按一下按键,灯亮;再按一下按键,呼吸灯效果;再按一下按键,灯灭。
下一课:Arduino轻松学Lesson9 超声波测距仪
课程简介
《Arduino轻松学》是科技学堂制作的在线系列创客教学视频之一。《轻松学》是一套Arduino开发的基础入门课程,适合还没有过硬件开发和编程经验的人群做入门学习使用。本课程中,每节课带你制作一个趣味小项目,在学到技术的同时,也开动想象发挥创造。
课程案例
《轻松学》课程中使用非常适合初学者的DFRobot的米思齐(Mixly)编程积木入门套装,软件选用图形化编程的Mixly。课程以视频+图文的呈现形式,深入浅出。既有操作演示,又方便学习者自主观看查询,轻松完成Arduino的入门学习。 不错支持 很好的教程 本帖最后由 mysp1 于 2017-11-4 13:21 编辑
这个是错误的,视频中模块插错位置,然后按这个跑程序灯一闪一闪。不能控制。
图形程序代码如下
volatile boolean state;
void setup()
{
state = true;
pinMode(5, INPUT);
pinMode(8, OUTPUT);
}
void loop()
{
if (digitalRead(5) == HIGH && state) {
digitalWrite(8,HIGH);
delay(200);
state = false;
} else if (digitalRead(5) == HIGH && !state) {
digitalWrite(8,LOW);
delay(200);
state = true;
}
}
mysp1 发表于 2017-11-4 13:17
这个是错误的,视频中模块插错位置,然后按这个跑程序灯一闪一闪。不能控制。
图形程序代码如下
视频中小灯和按钮模块是不小心接反了,介绍的时候说的是正确的,看程序就明白了,小灯接8号按钮接5号。 TonyC 发表于 2017-11-7 14:43
视频中小灯和按钮模块是不小心接反了,介绍的时候说的是正确的,看程序就明白了,小灯接8号按钮接5号。 ...
照着做灯一闪一闪怎么回事啊? mysp1 发表于 2017-11-9 17:04
照着做灯一闪一闪怎么回事啊?
我想一闪一闪应该是灯接收到了主控板检测的脉冲信号所导致的。 刚刚接触这些东西,喜欢! 如果出现一闪一闪的情况,请把延迟模式放在布尔函数后面 支持支持 讲的非常好 感谢老师分享
页:
[1]