极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9811|回复: 7

请教 遥控车超出范围失联问题

[复制链接]
发表于 2014-6-16 16:31:37 | 显示全部楼层 |阅读模式
请教,在学校做最简单的小车 接收串口指令行走/停下

void loop()   
{  
  if (Serial.available())
  {  
    char val = Serial.read();
   if(val=='a')//1
  digitalWrite(2, HIGH);
   if(val=='b')//2
  digitalWrite(3, HIGH);
   
   if(val=='e')//2
  digitalWrite(2, LOW);
   if(val=='f')//2
  digitalWrite(3, LOW);

用无线模块,现在问题是:超出范围后接收不到停止指令而一直跑出界
请教达人一些改进方案,谢谢!
回复

使用道具 举报

发表于 2014-6-16 20:02:39 | 显示全部楼层
加入一个定时握手,如果没有握手就停止?
回复 支持 反对

使用道具 举报

发表于 2014-6-16 21:28:46 | 显示全部楼层
zoologist 发表于 2014-6-16 20:02
加入一个定时握手,如果没有握手就停止?

第一个if 外加一个else,收不到sierial就暂停。
回复 支持 反对

使用道具 举报

发表于 2014-6-16 21:31:34 | 显示全部楼层
你可以加一个指令,就是如果上述指令收不到,就停止。
  1. switch (var) {
  2. case 1:
  3.   //当var等于1时,执行一些语句
  4.   break;
  5. case 2
  6.   //当var等于2时,执行一些语句
  7.   break;
  8. default:
  9.   //如果没有任何匹配,执行default,小车停止。
  10. }
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-17 11:20:20 | 显示全部楼层
沧海笑1122 发表于 2014-6-16 21:31
你可以加一个指令,就是如果上述指令收不到,就停止。

谢谢!            ·
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-19 11:53:53 | 显示全部楼层
沧海笑1122 发表于 2014-6-16 21:31
你可以加一个指令,就是如果上述指令收不到,就停止。

我想发射端每秒发送10次单字符给arduino,arduino接收到时将一直pin通电,接收不到时断电。我不大会打这段代码,请教沧海指点一二,谢谢!
回复 支持 反对

使用道具 举报

发表于 2014-6-19 14:20:39 | 显示全部楼层
本帖最后由 沧海笑1122 于 2014-6-19 14:22 编辑
arduino接收到时将一直pin通电,接收不到时断电。

没看太明白你的意图。每秒10次,就是100ms一次,指令不变吗?如果不变,为何要发10次,如果变化。。手动还是自动控制变化?
pin通电是何意思?

不过目前字符控制小车的方式已经非常成熟了。给你推荐一个很棒的库,BOXZ,就是大名鼎鼎的盒仔库。作者是Leo(幻生幻灭)。直接调用,非常方便。我现在做的体感蓝牙小车,就是用的该库。希望能够帮到你。
http://wiki.geek-workshop.com/doku.php?id=arduino:libraries:boxz
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-6-20 10:14:33 | 显示全部楼层
沧海笑1122 发表于 2014-6-19 14:20
没看太明白你的意图。每秒10次,就是100ms一次,指令不变吗?如果不变,为何要发10次,如果变化。。手动还 ...

thanks a lot
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-14 07:28 , Processed in 0.055250 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表