2017-4-13 20:15:44 [显示全部楼层]
32441浏览
查看: 32441|回复: 10

[Arduino轻松学] Arduino轻松学Mixly编程第8课 状态提示灯

[复制链接]
Arduino轻松学Lesson 8 状态提示灯


1. 课程介绍

程序分支可以为程序增加多种交互,上节课以门铃为案例,讲解了单布尔条件下程序的交互设计,这节课引入布尔运算,实现更复杂的程序逻辑,制作一个状态指示灯。
本节课所需元件:Arduino UNO、IO扩展板、LED灯、按键

Arduino轻松学Mixly编程第8课 状态提示灯图1

2. 本节知识点
程序分支
布尔运算

3. 所需模块讲解
布尔运算
Arduino轻松学Mixly编程第8课 状态提示灯图2
所处位置:逻辑
模块功能:对模块左右的布尔值进行“且”、“或”运算。

“非”运算
Arduino轻松学Mixly编程第8课 状态提示灯图3
所处位置:逻辑
模块功能:对布尔值进行“非”操作。

4. 程序及流程图

程序图
Arduino轻松学Mixly编程第8课 状态提示灯图6

流程图
Arduino轻松学Mixly编程第8课 状态提示灯图5

5. 关联知识讲解

状态变量
在本例中,变量state为状态变量,记录灯的开关状态,与按键状态(5号端口的高低电平状态)一起,决定了具体执行的程序分支语句。
布尔变量,仅有“真”、“假”两种状态,如果需要多种状态的记录与切换,可以使用整数变量,如0、1、2、3分别对应4种状态。

布尔运算
且”运算:
参与运算的布尔值均为真时,结果为真
参与运算的布尔值中有一个假,结果为假
真且真为真,真且假为假,

或”运算
参与运算的布尔值中只要有一个真,结果为真
参与运算的布尔值中均为假时,结果为假  
如真或假为真,真或真为真,假或假为假

“非”运算
非“真”即“假”,非“假”即“真”。


6.课堂练习
结合纸模,完成课程案例。
Arduino轻松学Mixly编程第8课 状态提示灯图3


7.作业及挑战

Arduino轻松学Mixly编程第8课 状态提示灯图7
上述程序执行完后变量m的值为:A:0   B:1  C:2  D:3


制作一个灯效切换灯:
按一下按键,灯亮;
再按一下按键,呼吸灯效果;
再按一下按键,灯灭。


课程简介
《Arduino轻松学》是科技学堂制作的在线系列创客教学视频之一。《轻松学》是一套Arduino开发的基础入门课程,适合还没有过硬件开发和编程经验的人群做入门学习使用。本课程中,每节课带你制作一个趣味小项目,在学到技术的同时,也开动想象发挥创造。
课程案例
《轻松学》课程中使用非常适合初学者的DFRobot的米思齐(Mixly)编程积木入门套装,软件选用图形化编程的Mixly。课程以视频+图文的呈现形式,深入浅出。既有操作演示,又方便学习者自主观看查询,轻松完成Arduino的入门学习。

www.sxzisha.com  学徒

发表于 2017-4-14 14:14:37

不错支持
回复

使用道具 举报

rom222  学徒

发表于 2017-4-29 11:24:49

很好的教程
回复

使用道具 举报

mysp1  学徒

发表于 2017-11-4 13:17:06

本帖最后由 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;
  }

}
回复

使用道具 举报

TonyC  见习技师

发表于 2017-11-7 14:43:05

mysp1 发表于 2017-11-4 13:17
这个是错误的,视频中模块插错位置,然后按这个跑程序灯一闪一闪。不能控制。
图形程序代码如下

视频中小灯和按钮模块是不小心接反了,介绍的时候说的是正确的,看程序就明白了,小灯接8号按钮接5号。
回复

使用道具 举报

mysp1  学徒

发表于 2017-11-9 17:04:10

TonyC 发表于 2017-11-7 14:43
视频中小灯和按钮模块是不小心接反了,介绍的时候说的是正确的,看程序就明白了,小灯接8号按钮接5号。 ...

照着做灯一闪一闪怎么回事啊?
回复

使用道具 举报

TonyC  见习技师

发表于 2017-11-9 18:34:50

mysp1 发表于 2017-11-9 17:04
照着做灯一闪一闪怎么回事啊?

我想一闪一闪应该是灯接收到了主控板检测的脉冲信号所导致的。
回复

使用道具 举报

ldsgrh  见习技师

发表于 2017-11-29 23:24:07

刚刚接触这些东西,喜欢!
回复

使用道具 举报

cdn1980  见习技师

发表于 2018-9-9 18:37:36

如果出现一闪一闪的情况,请把延迟模式放在布尔函数后面
回复

使用道具 举报

唯一色彩  学徒

发表于 2019-1-18 21:02:23

支持支持 讲的非常好
回复

使用道具 举报

rswjf  学徒

发表于 2019-1-22 13:33:07

感谢老师分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail