完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
想了很久,看了一阵子代码,如果要做到蓝牙跟随,是不用修改mbot上面的代码的。我只要控制好mbot的移动就好了。在mbot的头文件中,定义了指令的代码,
比如: #define IR_BUTTON_POWER 0x45 #define IR_BUTTON_A 0x45 #define IR_BUTTON_B 0x46 #define IR_BUTTON_MENU 0x47 。。。。。 所以总体上来说,我只要写一个安卓端的代码,就可以通过蓝牙控制小车了。还是像之前那样,通过RSSI,去得到相对位置,强度分为【1:128】,如果我这里将强度80作为一个限值,当小车和手机之间的RSSI大于这个值得时候,不控制小车移动,如果RSSI小于这个值得时候,控制小车进行试探性移动,如果移动后,RSSI值继续减小,控制小车向相反方向移动。 在上图中,如果手机在圆心位置, 小车在黑点处,如果只是简单的左右移动,RSSI都是减小。所以,在移动之前,会判断,手机是否有移动,如果没有,采用移动三个点,以确定mbot与手机的相对位置,从而可以朝着手机的方向移动。 下面是我安卓得到信号强度的代码: private final BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { Log.d("onReceive","OK"); String action = intent.getAction(); // When discovery finds a device if (BluetoothDevice.ACTION_FOUND.equals(action)) { // Get the BluetoothDevice object from the Intent BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); if(device.getName().equals("HC-06")==true){ int i; short rssi = intent.getExtras().getShort(BluetoothDevice.EXTRA_RSSI); for(i=0;i } if(i==mDevicesVector.size()){ mDevicesVector.add(device.getAddress()); } mRSSIVector[mRSSINum++]=rssi; Log.d("RSSI",device.getName()+" "+String.valueOf(rssi)); } // When discovery is finished, change the Activity title } else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) { setProgressBarIndeterminateVisibility(false); if (mDevicesVector.size() != 0) { Message msg = new Message();//消息 Bundle bundle = new Bundle(); bundle.clear();Log.d("onReceive","1"); msg.what = 0x01;//消息类别 bundle.putShort("msg",(short) 0);Log.d("onReceive","2"); msg.setData(bundle);Log.d("onReceive","3"); myHandler.sendMessage(msg);Log.d("onReceive","4"); } } } }; 安卓的代码,我自己也是第一次写,弄起来很头疼,有几个地方出错,依然在调试。希望有做过类似项目的大神,可以不吝赐教。 |
|
相关推荐
1个回答
|
|
创新性不错,可以继续实践!
|
|
|
|
只有小组成员才能发言,加入小组>>
WIO Terminal +MCP2515 实现车辆OBD的速度监控
10342 浏览 0 评论
60659 浏览 77 评论
5939 浏览 3 评论
一块扩展板完成Arduino的10类37项实验(代码+图形+仿真)
35638 浏览 219 评论
10010 浏览 0 评论
463浏览 1评论
请教:esp32中用u8g2显示shtc3传感器数据到i2c液晶屏,显示不稳定的问题
1215浏览 1评论
1361浏览 1评论
578浏览 0评论
693浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-8 18:31 , Processed in 0.575726 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号