好好搭搭官方文档
  • FAQ
  • 好好搭搭平台
    • 浏览器
    • 插件
    • 微信物联网小程序
      • 帐号绑定
      • 联网配置
      • 设备绑定
      • 物联应用
      • 在线编程
      • 自定义组件使用
    • 离线版
      • 好好搭搭Scratch中文离线版
      • 好好搭搭Scratch Arduino 2.0
      • Mixly For WuHan
    • 远程协助软件
    • PC端配网工具
    • 配网APP
  • 在线入门课程
    • Scratch编程入门
      • 第1课 喵喵初体验
      • 第2课 喵喵背古诗
      • 第3课 喵喵游西湖
      • 第4课 喵喵学做操
      • 第5课 喵喵学英语
      • 第6课 喵喵演奏会
      • 第7课 喵喵大抽奖
      • 第8课 喵喵运动会
      • 第9课 喵喵学画画
      • 第10课 喵喵出题目
      • 阅读材料一:好好搭搭Scratch中文离线版的使用
      • 阅读材料二:“好好搭搭”网站中的作品管理
      • 阅读材料三:使用PowerPoint制作中文文字角色
      • 阅读材料四:Scratch中的指令类型
      • 阅读材料五:Scratch中的三种程序结构
    • 基于Scratch的传感器板编程
      • 第1课 认识Scratch传感器板
      • 第2课 在Scratch中使用按键——点亮卧室里的灯
      • 第3课 在Scratch中使用LED——防火小卫士
      • 第4课 在Scratch中使用滑杆——生日快乐
      • 第5课 在Scratch中使用蜂鸣器——守卫松饼
      • 第6课 在Scratch中使用声音传感器——赛龙舟
      • 第7课 在Scratch中使用亮度传感器——太阳公公笑了
      • 第8课 在Scratch中使用摇杆――猴子接香蕉
      • 第9课 在Scratch中使用扩展模块——智能灯控
      • 第10课 综合作品制作——森林小卫士
    • 基于Scratch的Nova智能造物入门
      • 第1课 初识智能造物神器——Nova
      • 第2课 在Nova中使用单色LED——模拟红绿灯
      • 第3课 在Nova中使用数码管与按键——送给妈妈的计时器
      • 第4课 在Nova中使用蜂鸣器——音乐播放器
      • 第5课 在Nova中使用超声波传感器——魔法音乐盒
      • 第6课 在Nova中使用RGB LED与电位器——多彩台灯
      • 第7课 在Nova中使用声音与亮度传感器——智能声控灯
      • 第8课 在Nova中使用温湿度传感器——环境自动监测仪
      • 第9课 在Nova中使用电机与红外遥控――智能小风扇
      • 第10课 在Nova中使用舵机——会摇头的电风扇
      • 阅读材料一:“好好搭搭”插件的下载与安装
    • WU-Link智能造物入门
      • 第一课 初识物联网造物神器——WU-Link
      • 第二课 在WU-Link中使用点阵屏——玩转图案设计
      • 第三课 在WU-Link中使用点阵屏——送给妈妈的计时器
      • 第四课 在WU-Link中使用板载传感器——环境自动检测仪
      • 第五课 在WU-Link中使用加速度计——自制计步器
      • 第六课 在WU-Link中使用电子罗盘——指南针来了
      • 第七课 在WU-Link中使用红外传感器——红外电子琴
      • 第八课 Scratch与WU-Link互联互控——物联网点读机
      • 第九课 Scratch与WU-Link互联互控――物联网环境监测仪
      • 第十课 WU-Link之间的互联互控——抽签与抢答程序
      • 阅读材料一:WU-Link的无线网络连接设置
      • 阅读材料二:添加并绑定设备
  • 教学产品
    • Scratch传感器板
    • 好搭Box
    • Nova电子积木
      • Nduino HD
      • Nduino BOT
      • Nduino-Wulink
      • LED
      • 蜂鸣器模块
      • RGB模块
      • RGB灯带模块
      • 单按键模块
      • 四按键模块
      • 电位器模块
      • 亮度传感器模块
      • 超声波传感器模块
      • 声音传感器模块
      • 温湿度模块
      • 灰度传感器模块
      • 4位计时数码管
      • 4位计数数码管
      • 点阵模块
      • 红外接收模块
      • 红外对射模块
      • 蓝牙4.0模块
      • 单路电机驱动模块
      • 双路电机驱动模块
      • 大电流舵机驱动模块
      • MP3音乐模块
      • 火焰传感器模块
      • 霍尔开关模块
      • 继电器模块
      • 倾斜开关模块
      • 震动开关模块
      • 限位开关模块
      • 时钟模块
      • 陀螺仪模块
      • 摇杆模块
      • MQ2传感器模块
      • MQ3传感器模块
      • MQ7传感器模块
    • Arduino开源硬件
      • Arduino UNO主控板
      • Arduino IO扩展板
      • Wulink-UNO
      • haodaMIDI模块
      • LED灯模块
      • 蜂鸣器模块
      • RGB灯模块
      • 单按键模块
      • 四按键模块
      • 电位器模块
      • 亮度传感器模块
      • 超声波传感器模块
      • 声音传感器模块
      • LM35温度传感器
      • 温湿度传感器模块
      • 灰度传感器模块
      • 数码管模块
      • 点阵模块
      • 蓝牙模块
      • MP3模块
      • OLED模块
      • LCD1602显示模块
      • 红外接收模块
      • 红外发射模块
      • 激光发射模块
      • 继电器模块
      • 倾角传感器模块
      • 震动开关模块
      • 人体红外传感器模块
      • 上拉扩展模块
      • 土壤湿度模块
      • 颜色传感器模块
      • 摇杆模块
      • 音频录放模块
    • WU-Link
    • PythonBoard
    • 掌控
      • 掌控板刷好搭固件
      • WULink-Python
    • 3D打印套件
      • 时钟主板
      • 音乐主板
      • 通用主板
      • 机器人主板
      • 互联网主板
      • 电机主板
      • 灯光主板
      • 月球灯
    • 好搭磁性电子积木
    • 数字科学家
      • 主控
      • PH值传感器
      • 水浊度传感器
      • 拉力传感器
      • 压力传感器
      • 气压传感器
      • 水泵
    • KT板套件
    • 徽章板
    • 好搭Bit
      • Scratch3.0互动编程
      • MakeCode
      • Mind+
      • KittenBlock
      • MU Python编程
      • APP 移动端编程
  • 造物产品
    • WuLink-Nano
    • 好搭酷
  • 编程语法
    • Scratch
      • 指令
      • 程序结构
    • Arduino
      • 程序结构
      • 变量
      • 基本函数
      • 类库
    • Micropython
Powered by GitBook
On this page
  • 模块与指令
  • 红外发射模块——红外遥控器
  • 红外接收模块
  • 电机
  • 单路电机驱动模块
  • “读取红外值”指令:
  • “红外按键值”指令:
  • “电机输出”指令:
  • 作品制作
  • 第一步:搭建硬件、运行插件
  • 第二步:在数码管上显示红外接收模块接收到的值
  • 第三步:让风扇旋转起来
  • 第四步:用红外遥控器控制风扇旋转
  • 拓展与思考

Was this helpful?

  1. 在线入门课程
  2. 基于Scratch的Nova智能造物入门

第9课 在Nova中使用电机与红外遥控――智能小风扇

Previous第8课 在Nova中使用温湿度传感器——环境自动监测仪Next第10课 在Nova中使用舵机——会摇头的电风扇

Last updated 6 years ago

Was this helpful?

电风扇曾经是很多家庭上个世纪八、九十年代最重要的消暑电器,拥有一台自己独自享用的电风扇是那个年代很多孩子梦想的礼物。本课我们将制作一个能够用红外遥控器控制的小风扇,甚至还可以为它加上其它的传感器,使得小风扇更智能。

模块与指令

要制作本课的范例作品,需要认识以下这些新的硬件:

红外发射模块——红外遥控器

红外遥控器是一种红外线发射装置。Nova套件中的红外遥控器有17个按键,除了0-9这十个数字以外,还包括四个方向键、“OK”键以及“*”、“#”键(如下图所示)。红外遥控器每个按键都有对应的按键值,可以根据需要在程序中定义不同的功能。

红外接收模块

红外接收模块一般与红外发射器一起使用,它能够接收发射器发射的红外线,然后将接收到的红外线信号转换为电信号,经过处理后还原为红外发射器发射的按键值(如下图所示)。

在Nova套件中,红外遥控器和红外接收模块组成了一个完整的红外遥控系统。这类红外遥控方式在现实生活中几乎随处可见,比如绝大多数家庭都有的电视机、空调机,都采用了类似的红外遥控方式。

电机

电机,也叫“马达”,是依据电磁感应原理将电能转换为机械能的一种装置,很多常用电器和机械的动力源都是各种各样的电机。

电机根据输入电源的不同,可以分为使用直流电的直流电机、使用交流电的交流电机。Nova套件中的130电机就是一种直流电机,能够将输入的直流电能转换为机械能,可以带动套件中的风扇叶旋转(如下图所示)。

单路电机驱动模块

Nova主控板是不能直接控制电机的,必须通过电机驱动模块才可以控制电机运行、停止、调节转速。Nova入门套件中的电机驱动模块只能连接一个电机,因此叫做“单路电机驱动模块”(如下图所示)。

要制作本课的范例作品,还需要使用以下新的指令:

“读取红外值”指令:

使用这个指令可以读取指定端口红外接收模块的值。指令默认是“S0”;通过单击下拉列表,可以选择S0—S3这4个数字端口、A0—A3这4个模拟端口。。

“红外按键值”指令:

使用这个指令可以读取红外遥控器按键的值。指令默认是“OK”键;通过单击下拉列表,还可以选择0-9这十个数字键、四个方向键、以及“*”、“#”键。

“电机输出”指令:

使用这个指令可以设置指定端口电机的输出值。指令默认端口是“M0”、输出值是“150”;通过单击第一个参数的下拉列表,可以选择电机的连接端口M0—M3;通过单击第二个参数下拉列表或者直接输入,可以设置电机的输出值,它的取值范围是(-255,255)。

作品制作

要制作本课的范例作品,可以按以下步骤先连接硬件、运行插件程序,然后进入“好好搭搭”网站编写、调试、编译、下载程序。

第一步:搭建硬件、运行插件

首先将模块与主控板连接起来:红外接收模块连接“S0”端口、数码管模块连接“C0”端口、单路电机驱动模块连接“M0”端口,将风扇叶安装到130电机的转头上、电机的连线插入单路电机驱动模块(如下图9-5所示);接着把主控板和计算机连接起来,最后打开“好好搭搭硬件下载”插件,确认插件程序显示“打开端口成功”。

第二步:在数码管上显示红外接收模块接收到的值

登录“好好搭搭”网站,选择“创作”栏目中的“haohaodada_NOVA模版”,进入“NOVA编程设计页”进行编程。

要在数码管上显示红外接收模块接收到的值,可以按以下步骤操作:

  1. “新建变量ir”;

  2. 使用“重复执行”指令,重复执行“将变量设定为”、“如果…那么”指令;

  3. 将“读红外值”指令作为“将变量设定为”指令的参数;

  4. 设置“如果…那么”指令的条件是“ir0”,条件满足后执行“数码管消除”和“数码管显示”指令,设置“数码管显示”指令最后一个参数是变量“ir”。

由于红外接收模块连接的是“S0”端口,因此当按下红外按键、也就是读取的“S0”端口值大于“0”,就会在数码管上显示红外接收模块接收到的红外值。具体程序代码如下图所示:

试一试:

将上图所示代码编译后下载到主控板上,然后按红外遥控器上的按键,观察数码管上显示的数值,思考以下问题:

  1. 红外遥控器必须对准红外接收模块吗?如果不对准会怎么样?

  2. 为什么要使用变量?只有这个变量的值大于“0”才显示红外值。而不是和前几课一样,直接显示红外值?

第三步:让风扇旋转起来

要让风扇旋转起来,可以使用“电机输出”指令,具体程序代码如下图9-7所示:

试一试:

根据上图所示代码,按下表要求分别修改电机输出值,编译后下载到主控板上,观察不同参数下风扇旋转的状态,将结果记录下来。

第四步:用红外遥控器控制风扇旋转

要用红外遥控器控制风扇旋转:按数字“1”键控制风扇比较慢的旋转、“2”键比较快旋转、“3”非常快旋转,可以按以下步骤编写程序:

  1. 单击“数据”类别中的“新建变量”按钮,在打开的“新建变量”对话框中输入新变量的名称“zhuansu”,单击“确定”按钮完成新建变量。

  2. 添加“重复执行”指令,重复执行“将变量设定为”和“如果…那么”指令;将“zhuansu”变量设定为“读红外值”指令的值;

  3. 设置“如果…那么”指令的条件为“zhuansu”变量“等于”“红外按键值”;单击“红外按键值”指令的下拉列表,选择“IR_BUTTON_1”选项,也就是红外遥控器上的“1”按键。

  4. 设置“如果…那么”指令条件成立时执行“电机输出”指令,设置电机输出值为“-100”。

  5. 将“如果…那么”指令再复制三个,分别修改“红外按键值”指令的参数为“IR_BUTTON_2”、“IR_BUTTON_3”、“IR_BUTTON_0”,再分别修改“电机输出”指令的输出值为“-150”、“-255”、“0”。

具体的程序代码如下图所示:

想一想:

可以不新建“zhuansu”变量,直接设置“读红外值”指令“等于”“红外按键值”指令吗?

练一练:

进一步修改程序,使得小风扇旋转的同时,数码管上能够显示相应的转速。比如显示比较慢的“1”档、比较快的“2”档以及非常快的“3”档。

拓展与思考

除了使用红外遥控器控制风扇,你还能让风扇的控制更智能、使用更方便吗?