查看: 26982|回复: 3

[米思奇编程积木教程] 米思奇编程积木套件入门教程 项目一:点亮板载LED灯

[复制链接]
该教程实验平台:米思奇编程积木套件(入门版)
上一篇教程:米思奇套件介绍及Mixly程序下载

本节课程任务

任务1——点亮板载LED灯

1.程序编写

双击右图中的Mixly.vbs文件,即可打开Mixly软件:
2.png 1.png

在“输入输出”菜单中找到“数字输出”模块,点击并拖动至空白处。

屏幕快照 2019-04-26 15.28.59.png



在“控制”菜单中找到“延时模块”,拖动至空白处并与“数字输出”模块拼接。

4.png

编写好程序后,单击下图中的上传按钮,将程序上传到Arduino主控板上。

(注意,在上传程序之前,要设置好主控板型号和COM接口号,点击上传按钮右侧的下拉菜单即可设置)

5.png

上传之后,所有的按钮都变为灰色,无法点击,以保证上传过程不被干扰。

这里,我们见到了两个非常常用的模块——数字输出和延时

数字输出是Arduino主控板对原件的控制方式之一。它向输出的电路传送数字信号——0和1。0意味着输出低电平,电路不会接通;1则是输出指高电平,电路接通。

上面的程序中,将13号管脚的数字输出设为高,与其连接的板载LED灯便会被点亮。经过1秒钟的延时(延时过程中,硬件保持延时开始时的状态,直到设定的时间结束),数字输出变为低,灯就会熄灭,之后保持熄灭状态1秒钟。

可以看到,板载LED灯在熄灭1秒后又重新亮了起来,1秒钟后又熄灭,如此重复下去。这是因为,Mixly和Arduino默认这段程序是重复执行的。如果没有其他干预,程序便会一直重复执行。

并且,灯总是亮1秒,灭1秒,这个重复不会发生变化。这是因为,这些程序的模块是按它排列的顺序执行的,主控板不会先执行第一个模块,然后跳过延时的模块,直接去执行第三个模块,或者是按任何与程序不一样的顺序执行。

任务2——点亮真实的LED灯

1. 硬件连接

将LED灯与10号管脚相连。注意插线时的颜色对应。

66.PNG

2. 程序编写

我们只需将管脚号从13换成10即可。

7.png
任务3——让LED越闪越快

1. 程序编写

首先来看这样一段程序(下图):

8.png

不难看出,这段程序是由其中的一小段不断重复而成的:

9.png

按照之前讲过的顺序执行原则,这一组模块就会一直重复下去。如果我们想让它执行很多次(比如100次),一种办法就是,把100个这样的模块组前后连接在一起。

可想而知,那样接起来的程序会非常长。并且,如果想知道它被重复执行了多少次,数起来也非常麻烦。那么,有没有一种模块,可以自动实现这个重复的过程,并且让人不怎么费力就知道重复执行了多少次呢?有的。

10.png

3. 代码讲解

上面这段程序,实现了“重复”这个想法。它就是程序中常用的循环结构。如何理解这个循环结构呢?“使用i 从 1000 到 100 步长为 -100”这句话是什么意思呢?
循环的次数通过变量i的大小来控制。所谓变量,就是在程序运行过程中大小发生变化的量。循环执行过程中,变量i从1000开始,每次减小100,直到减小到100,然后循环结束。每次循环,都会执行一次包在其中的程序(这里就是控制灯亮灭的程序)。

知识点小结
元件
1.LED
Mixly程序模块
1.数字输出
2.延时
3.循环
程序设计
1.顺序结构
2.循环结构
3.变量

这一课就结束了,希望对你有帮助 ^_^

下一篇教程:项目二:SOS

rzyzzxw  版主

发表于 2016-12-25 18:04:38

谢谢Jane
回复 支持 反对

使用道具 举报

rzyzzxw  版主

发表于 2016-12-25 21:23:43

谢谢df的漂流活动,开始时看课件学习的,凭感悟,读了教程,很多细节都明白了。
回复 支持 反对

使用道具 举报

村东头老夫子  学徒

发表于 2018-8-1 10:57:27

如何实现多个LED同时闪烁呢??
回复 支持 反对

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

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

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

mail