[Arduino机器人课程]Arduino机器人第4课:智能风扇

7234浏览
查看: 7234|回复: 2

[Arduino机器人课程] Arduino机器人第4课:智能风扇

[复制链接]
为了有效避免学生对LED的审美疲劳,我们根据聚类的思想设计了智能风扇系列。《智能风扇》是第二章《智能风扇》的第一个专题,是对第一章《LED》中的重点(按钮和传感器)的巩固和深化。从物理电路的连接上,增加了带直流电机的风扇;从编程上,增加了if结构的变式等内容。

本文主要对本次课的重难点、主要教学设计的设计意图以及学生上课的反应做部分说明。

相关资源下载地址:http://pan.baidu.com/s/1pJ0kk0V 密码:2ebm
本课程的讨论地址:https://mc.dfrobot.com.cn/forum-75-1.html

1.RoMeo控制直流电机

由于驱动风扇需要用到直流电机,我们从这一课开始更换了板子,用的是DFRobot的新产品——RoMeo,该控制器不仅继承Arduino328控制器所有的特性而且集成了电机驱动、键盘、IO扩展板、无线数据串行通讯等接口。RoMeo中电机控制针跳线,将分配用于电机控制引脚为数字口4,5,6,7。RoMeo控制电机有两种模式:PWM模式和PLL模式,这里我们用到的是PWM模式,通过改变两个数字IO引脚和两个PWM引脚的PWM对直流电动机控制端口实现。引脚定义如下:

引脚
功能
4
电机1方向控制
5
电机1PWM控制
6
电机2PWM控制
7
电机2方向控制

如digitalWrite(4,HIGH)和digitalWrite(4,LOW)是控制电机1的正转和反转的,analogWrite(5,100)是控制电机1的转动速度的。

2.声控风扇

这部分主要是完成声控风扇的制作,功能是通过声音传感器检测声音,检测到时风扇转动,否则停止转动。程序如下:

[mw_shl_code=applescript,true]void setup() {

  pinMode(4,OUTPUT);

  pinMode(5,OUTPUT);

}

void loop() {

  int a;

  a=analogRead(A0); //读取模拟口的值

  if(a>700){

    digitalWrite(4,HIGH); //转动风扇

    analogWrite(5,100); //设置风扇的转速

    delay(2000);

  }

  else{

    analogWrite(5,0);

    delay(2000);

  }

}
[/mw_shl_code]
3.换挡风扇

这部分主要是完成换挡风扇的制作,这里的换挡风扇主要是通过按钮完成换挡的功能的,程序如下:

[mw_shl_code=applescript,true]int i=0;

bool k;

void setup() {

  pinMode(2,INPUT);

  pinMode(5,OUTPUT);

}

void loop() {

  k=digitalRead(2);

  if(k==LOW){

    i++;

    if(i==1){

      analogWrite(5,50);

    }

    else if(i==2){

      analogWrite(5,100);

    }

    else{

      analogWrite(5,0);

      i=0;

}

delay(50);

  }

}
[/mw_shl_code]
上述程序下载之后,学生会发现不是很灵敏,有的学生会比较感兴趣。因为在之前的LED系列中拓展过消抖的知识,所以我们在这里只是提示学生这也是由于消抖引起的,让学生自己尝试解决的。另外在拓展中也加入了另一种选择结构switch结构,这里也为大家提供一下程序,如下:

[mw_shl_code=applescript,true]int i=0;

bool k=0;

bool s=1;

void setup() {

  pinMode(2,INPUT);

  pinMode(5,OUTPUT);

}

void loop() {

  if((!digitalRead(2)) && s){

    k=!k;

    i++;

    switch(i){

      case 1:analogWrite(5,50);

             break;

      case 2:analogWrite(5,100);

             break;

      case 3:analogWrite(5,200);

             break;

      default:analogWrite(5,0);

              i=0;

    }

    delay(20);

  }

  s=digitalRead(2);

}[/mw_shl_code]

下图是学生组装的智能风扇,包括按钮和声音传感器。其中固定电机的结构件是我们用3D打印机打印出来的。在当前还没有找到专为基础教育优化过的Arduino套件的时候,采用3D打印机自行设计一些结构件,似乎也是一种可行的方案。

Arduino机器人第4课:智能风扇图1

Holiday  初级技匠

发表于 2014-4-9 09:49:12

楼主的图片挂了:Q:Q:Q
回复

使用道具 举报

Cake  见习技师

发表于 2014-4-12 09:53:22

资料介绍很详细,感谢LZ的分享
回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail