乐高遥控小车

来自Microduino Wikipedia
Cai_Niao讨论 | 贡献2016年4月23日 (六) 03:12的版本 准备
跳转至: 导航搜索
Language English

目的

通过mCookieLEGOShield,使mCookie可以控制NXT接口的电机和传感器。

原理

通过手机端的mTank软件发送指令,叠加在mCookie的蓝牙模块接收并解析指令 通过IIC通讯,mCookie控制LEGOShield,完成对NXT接口电机和传感器的控制

设备

模块 数量 功能
MCookie-CoreUSB/zh 1 核心板
MCookie-LEGOShield/zh 1 乐高底板
MCookie-BT/zh 1 蓝牙模块

准备

  • Setup 1:用USB线将CoreUSB模块与PC/Mac相连,并打开Arduino IDE。
  • Setup 2:点击文件 >示例 > mCookie > _201_CowardlyNightLight_BLE, 加载程序。
  • Setup 3:加载代码,将程序代买拷贝到IDE中。程序编译通过后选择好板卡和COM端口下载程序。
  • Setup4: 组装乐高小车,并将两个电机线插在MCookie-LEGOShield的M3,M4接口

程序说明

“ble()”函数是蓝牙接收数据及控制彩灯。

  • 定义蓝牙通讯串口
#define my_Serial Serial1
  • 定义传感器引脚,及可连接的灯的数量。
#define PIXEL_PIN    6    // Digital IO pin connected to the NeoPixels.
#define PIXEL_COUNT  2

#define lightSensorPin  A0
  • 环境光预设值,更改Light的大小就可以改变在某个亮度下开启灯光。
#define lightSwitch  700
  • 读取亮度函数
sensorValue = analogRead(lightSensorPin);
  • 判断环境参数低于预设值则开启灯光,并且通过蓝牙控制,否则关闭灯光。
  if(sensorValue>lightSwitch) {
    Serial.println(sensorValue);
    strip.setPixelColor(0, strip.Color(0, 0, 0));
    strip.setPixelColor(1, strip.Color(0, 0, 0));
    strip.show();
  } else {
      ble();
      if (!color_en) {
        for (int i = 0; i < 1; i++)
          rainbow(10);
      }
  }

调试代码

  • 通过CoreUSB模块连接电脑并加载程序后,点击串口监视器,会弹出一个窗口,里面会显示光线传感器接收到的光线值的变化。

当前设定的感光值是700,你可以尝试根据之前监测出来的数据在程序中更改这一数值,重新刷入程序,看看会产生什么效果。

搭建硬件

  • Setup 1:将彩灯接到Sensorhub的D6引脚上,将光敏传感器接到A0引脚上。

LED灯的连接方法如图,请注意连接顺序,从LED的IN接口接入,从OUT接口接出本应用最多可控制2个LED灯。

CoreUSB Ble steup11.jpg
  • Setup 2:将激活后的电池盒与BM模块相连.
CoreUSB Ble steup2.jpg
  • Setup 3:将所有模块堆叠在一起,顺序随意,电路部分搭建完成。

APP调试

  • Setup 1:扫描左侧的二维码,下载Bluetooth Light APP。
App Ble steup1.jpg
  • Setup 2:载安装App后,打开应用,如果没有打开蓝牙,系统会提示,选择打开。
  • Setup 3:点击Scan,手机会开始搜索蓝牙设备,并显示在下方,选择名称为Microduino的设备.
  • Setup 4:连接成功后,你就可以用手机来控制灯光了

结果

遮住光线传感器,或进入较暗环境下,LED灯就会发光,这时你就可以用蓝牙来控制灯光的颜色。你也可以通过乐高搭建一个漂亮的外观。

视频