查看“与mRobots连接控制小车”的源代码
←
与mRobots连接控制小车
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
<p style="color: #E87E05;font-size:135%">示例说明</p> 该示例主要用于测试BLEUPLOAD模块与mRobot应用通信,通过LED灯验证通信是否成功。 <p style="color: #E87E05;font-size:135%">硬件清单</p> *[[MBattery+]] *[[MCookie-Core+]] *[[mCookie-Hub/zh|mCookie-Hub]] *[[Sensor-LED/zh]] *1.27mm 4pin传感器连接线 <br> <p style="color: #E87E05;font-size:135%">应用实例</p> 1)参照:[[【使用mRobot通信制作小车】]]示例,在APP STORE下载mRobots。<br> 2)下载如下程序至Core+模块中。LED灯连接到D6口<br> 注意:下载时不要叠加BLEUPLOAD模块否则会造成下载失败<br> <source lang = "cpp"> #include <Microduino_Protocol.h> #include <Microduino_Motor.h> #define _DEBUG //DEBUG调试 #define BLE_SPEED 57600 //蓝牙接口速度 #define CHANNEL_NUM 8 #define SAFE_TIME_OUT 250 //失控保护时间 #define MAX_THROTTLE 255 //最大油门 < 255 #define MAX_STEERING 512 //最大转向 < 512 #define CHANNEL_THROTTLE 1 //油门通道 #define CHANNEL_STEERING 0 //转向通道 Motor MotorLeft(MOTOR0_PINA, MOTOR0_PINB); Motor MotorRight(MOTOR1_PINA, MOTOR1_PINB); #define ProSerial Serial ProtocolSer bleProtocol(&ProSerial, 16); //采用ProSerial,数据长度为16个字节 /////////////////////////////////////////////////////////// uint16_t channalData[CHANNEL_NUM]; //8通道数据 int16_t throttle = 0; //油门 int16_t steering = 0; //转向 unsigned long safe_ms = millis(); uint8_t recCmd; void setup() { bleProtocol.begin(BLE_SPEED); pinMode(D6,OUTPUT); MotorLeft.begin(); //电机MotorLeft初始化 MotorRight.begin(); //电机MotorLeft初始化 } void loop() { if (bleProtocol.available()) { bleProtocol.readWords(&recCmd, channalData, 8); throttle = map(channalData[CHANNEL_THROTTLE], 1000, 2000, -MAX_THROTTLE, MAX_THROTTLE); steering = map(channalData[CHANNEL_STEERING], 1000, 2000, -MAX_STEERING, MAX_STEERING); MotorLeft.setSpeed((throttle + steering / 2)); MotorRight.setSpeed(-(throttle - steering / 2)); #ifdef _DEBUG Serial.print("DATA OK :["); for (int a = 0; a < CHANNEL_NUM; a++) { Serial.print(channalData[a]); Serial.print(" "); } Serial.print("],throttle:"); Serial.print(throttle); //+153 Serial.print(",steering:"); Serial.println(steering); if(abs(throttle)>128) { digitalWrite(D6,HIGH); }else { digitalWrite(D6,LOW); } #endif safe_ms = millis(); } if (safe_ms > millis()) safe_ms = millis(); if (millis() - safe_ms > SAFE_TIME_OUT) { MotorLeft.setSpeed(FREE); //设置电机MotorLeft为释放状态,即速度为0 MotorRight.setSpeed(FREE); } } </source> 3)下载完成后叠上BLEUPLOAD模块<br> 4)打开手机蓝牙,之后打开手机端mRobots APP,使用TANK模式,之后将手机贴近BLEUPLOAD模块连接蓝牙<br> 5)蓝牙连接成功后进入控制页面<br> [[File:BLEUPLOAD MROBOT APP.PNG|600px|center]] 6)使用右侧摇杆测试,摇杆'''竖直'''上推到顶或下推到底,D6连接的LED点亮。证明不仅可以收到手机APP的数据,并且数据有效<br> 7)同时可以连接USB线观察串口,显示收到的数据,LED灯亮灭与throttle值有关 [[File:BLEUPLOAD MROBOT SERIAL.png|600px|center]] 【[[MCookie-BLEUpload/zh|返回MCookie-BLEUpload界面]]】
返回至
与mRobots连接控制小车
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息