极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 44403|回复: 20

中南大学两个女童鞋DIY的作品-BOX-I的故事

[复制链接]
发表于 2016-4-26 17:09:29 | 显示全部楼层 |阅读模式
本帖最后由 Rita 于 2016-4-26 17:28 编辑

BOX·I的故事
       开始做boxz的时候才刚接触ardunio十几天,老师请了arduino界里的大牛唐乐老师来给我们讲了三期arduino入门级的课程,开始正式将我们引领进单片机的世界。
       根据老师的要求,我们每个组都要出一个以“自我”为主体的互动装置。虽然有唐乐老师的引导,但是当我们真正开始自己动手做的时候才发现,竟然不知道从何入手。。。
       我们组选的是boxz,在网上查阅的时候觉得论坛上的写的步骤既不简单也不复杂,很符合我们的要求,然后就开始着手购买材料,我们按照论坛上所需的东西买了蓝牙控制板,L293D马达板,带轮子的TT减速齿轮箱,舵机,电池盒。   

       三天的时间,我们淘的东西就到了。不敢停歇,我们就开始组装这些板子和零件。论坛上面展示的图片比较少,所以arduino板,蓝牙板和电机驱动板组装的时候就遇到了很多问题,这里我就不一一详细说明,下图为组装方法,从上到下依次是电机驱动板,蓝牙板,arduino。

       然后就是将电机驱动板和两个小马达连上,我的图片不大清晰,这里要借用一下Leo的原文和图片了(第一步,首先将电池盒的红线连接到电机驱动板的M+,然后将黑线连接至GND,电源部分完成!第二步,将电机连接到电机驱动板上,连接方法如图:P1-M1.1,P2-M1.2,P4-M2.1,P5-M2.2。其中P3是悬空的。第三步,确认电机驱动板的跳帽为短接状态(在电源端子旁边,默认为短接状态,如果取下跳帽,则电机驱动板和Arduino将需要独立供电)。

      原文中第三步,跳帽的短接状态如下图所示

      基本结果安装好大概是这个样子的

       接下来就是程序调试环节了,由于我不是买的boxz原装的驱动板,所以需要下载boxz和电机驱动板以及蓝牙板的程序,boxz的程序论坛里有,下面是每一个里程的功能
例子是从简到难的排序,请下载并安装库后在样例中打开。(你需要那个例程就将哪个例程上传到arduino板上,不需要烧录,arduino会自动记住最后一次上传的程序)
  • DCMotorControl:以全速和调速模式分别控制机器人进行前后左右的移动
  • DCMotorSpeed:以调速模式从速度0到255控制电机。可以测试出电机的最小速度。
  • DCMotorRemote:通过串口接收字符W,S,A和D分别控制机器人的前后左右运动。
  • DFDriverRemote:通过配置关键字0xDF初始化电机驱动板,可自动配置DFROBOT的驱动板。接上蓝牙串口模块即可实现无线遥控。
  • SDDriverRemote:通过配置关键字0xED初始化电机驱动板,可自动配置Seeed的驱动板。接上蓝牙串口模块即可实现无线遥控。
  • DFDriverMotorRAW:通过配置关键字0xDF初始化电机驱动板,以原始协议的形式控制机器人。接上蓝牙串口模块即可实现无线遥控。
  • DCMotorRAW:以原始协议的形式控制机器人,支持任何4线或6线制的电机驱动板。
  • DCMotorRAWs:以原始协议字符串的形式控制机器人,集成HEX转码,更直观的控制方式。支持任何4线或6线制的电机驱动板。
  • BOXZ_Base:单字符通讯实现四轮两驱机器人无线遥控只需十行代码
  • BOXZ_Pro:在BOXZ Base基础之上增加了两个舵机手臂控制,仅增加2行代码
  • Spare:预留

电机驱动板的程序在下面,这个程序是可以控制电机驱动板四个轮子的,这是我求了好久,让淘宝卖家那边的工程师发给我的(我跟跟他发邮件求助的时候他还在火车上,他一直说我心太大,这么短的时间根本做不出来智能小车的。。。不过还是很感谢他大老远发邮件过来帮助我的)
// Adafruit motor shield library
// copyright Adafruit Industries LLC, 2009
// this code is public domain, enjoy!

#include <AFMotor.h>

AF_DCMotor motor1(1);
AF_DCMotor motor2(2);
AF_DCMotor motor3(3);
AF_DCMotor motor4(4);

void setup() {
  Serial.begin(9600);           // set up Serial library at 9600 bps
  Serial.println("motor test!");

  // turn on motor1
  motor1.setSpeed(200);
  motor2.setSpeed(200);
  motor3.setSpeed(200);
  motor4.setSpeed(200);
  motor1.run(RELEASE);
  motor2.run(RELEASE);
  motor3.run(RELEASE);
  motor4.run(RELEASE);

}

void loop() {
  uint8_t i;

  Serial.print("tick");

  motor1.run(FORWARD);
  motor2.run(FORWARD);
  motor3.run(FORWARD);
  motor4.run(FORWARD);
  for (i = 0; i < 255; i++) {
    motor1.setSpeed(i);
    motor2.setSpeed(i);
    motor3.setSpeed(i);
    motor4.setSpeed(i);
    delay(10);
  }

  for (i = 255; i != 0; i--) {
    motor1.setSpeed(i);
    motor2.setSpeed(i);
    motor3.setSpeed(i);
    motor4.setSpeed(i);

    delay(10);
  }

  Serial.print("tock");

  motor1.run(BACKWARD);
  motor2.run(BACKWARD);
  motor3.run(BACKWARD);
  motor4.run(BACKWARD);
  for (i = 0; i < 255; i++) {
    motor1.setSpeed(i);
    motor2.setSpeed(i);
    motor3.setSpeed(i);
    motor4.setSpeed(i);
    delay(10);
  }

  for (i = 255; i != 0; i--) {
    motor1.setSpeed(i);
    motor2.setSpeed(i);
    motor3.setSpeed(i);
    motor4.setSpeed(i);
    delay(10);
  }


  Serial.print("tech");
  motor1.run(RELEASE);
  motor2.run(RELEASE);
  motor3.run(RELEASE);
  motor4.run(RELEASE);
  delay(1000);
}
       将这些程序放到arduino里边,上传,然后这个时候可以先不连接蓝牙板,直接将arduino 和电机驱动板连接起来,通过串口监视器来对小车进行调试,如果小车可以按指令行进,那我们就可以开始调试蓝牙了。
调试蓝牙的时候,大家可以把先不连接电机驱动板,只将arduino和蓝牙连接即可。调试过程大家可以借鉴下这个淘宝店的方法(https://item.taobao.com/item.htm?spm=a1z09.2.0.0.9F0Bhr&id=42897982276&_u=b5l52hed8c4&qq-pf-to=pcqq.c2c)我不是推销淘宝店的,只是觉得他们店的说明比较详细,按照他的方法一步一步来,是可以调试成功的(调试的时候需要另外下载一个串口调试软件),而且他们的客服和工程师都是很耐心的。
        最后蓝牙板调试成功后,跳帽要回到Leo原文中所说的位置(红色框框的位置),否则你的手机是连不上蓝牙板的,具体原因的话我这个刚接触这些东西的人并不大清楚。。。

                        
      还有一个特别需要注意的地方就是,淘宝店调试的细节里,波特率为38400,但实际上电机驱动板和BOXZ的程序里面默认的波特率都是9600,这里我建议大家修改两个程序里的波特率,而不是修改蓝牙板的波特率,因为修改蓝牙板的波特率比较麻烦,我请了唐老师帮我远程修改,熬夜到很晚,当天是成功了,但是第二天不知道我又动了哪了,又不行了,所以修改程序里的波特率对新手来说会比较容易。
                        

       这是程序的部分截图,大家只需要将程序里所有的9600改为38400即可。
蓝牙板调试好你就可以用手机上的控制软件连接一下试试了,手机软件的下载论坛里有(http://www.geek-workshop.com/thread-2854-1-1.html)。当手机连接上蓝牙之后,蓝牙板上会有红灯亮起。
       当程序都调试好之后,我们就可以将所有的东西组装起来了。
       这是我们的小车,皮肤是我们自己画的,将我们的小车名字是BOX·I
   
      这张是展览现场,背景什么的全是我们自己画的和裁剪的哦
  

  

     这是展览前一天苦逼的裁剪过程
   


     接下来是现场照片

  
   
  

      
       这是优酷的视频链接



      最后,特别想感谢那些帮助过我的人,BOXZ团队Leo、云上、小强、官方群里的“刀客”,都很认真的帮我分析问题并解决问题;蓝牙模块淘宝店的工程师“Viner”,耐心的帮我排除可能出问题的地方,还发给我一份详细的解决方案;电机驱动板淘宝店的工程师,听我电话罗嗦了那么久,还愿意把自己编写的四轮驱动程序发给我;唐乐老师,为了帮我修改程序,远程陪我熬了两个晚上,帮我解决了很多关于程序上的问题,内心佩服到不行;从未谋面的NirVa,从开始到最后一直在鼓励我并且教我很多东西,深夜还打电话过来,帮我解决电机驱动板的问题,超感动;指导老师乔老师,如果不是乔老师请这么多业界大牛来帮助我们,我们永远都不会知道我们能做到这么好!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1 +3 +1 收起 理由
幻生幻灭 + 3 + 1 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2016-4-26 20:22:17 | 显示全部楼层
不错的制作,强!
回复 支持 反对

使用道具 举报

发表于 2016-4-26 20:43:15 | 显示全部楼层
不错不错,有毅力
回复 支持 反对

使用道具 举报

发表于 2016-4-26 20:51:12 | 显示全部楼层
为什么有这么好玩的比赛
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-4-26 21:22:43 | 显示全部楼层
蒙奇 发表于 2016-4-26 20:51
为什么有这么好玩的比赛

介个不是比赛哦,是一个课程的结课作业展示哦
回复 支持 反对

使用道具 举报

发表于 2016-4-26 21:56:31 | 显示全部楼层
恩,感觉还是挺不错的,我们学校可没这种人性化的结课
回复 支持 反对

使用道具 举报

发表于 2016-4-26 22:21:56 | 显示全部楼层
挺不错的呀~
回复 支持 反对

使用道具 举报

发表于 2016-4-27 14:28:20 | 显示全部楼层
妹子做东西就是不一样,画风都变了
回复 支持 反对

使用道具 举报

发表于 2016-4-27 15:20:50 | 显示全部楼层
感觉挺不错的哦,支持。。
回复 支持 反对

使用道具 举报

发表于 2016-4-28 12:02:41 | 显示全部楼层
作品做的美,视频做的更美!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-4-28 20:50:15 | 显示全部楼层
蒙奇 发表于 2016-4-26 21:56
恩,感觉还是挺不错的,我们学校可没这种人性化的结课

主要是老师对我们都有一定的要求,所以大家都不敢懈怠,我们小组基本上是熬了一个周的夜{:3_58:}
回复 支持 反对

使用道具 举报

发表于 2016-5-9 08:23:25 | 显示全部楼层
不错不错,前段时间出差了,答复有些延迟,忘理解哈
回复 支持 反对

使用道具 举报

发表于 2016-5-9 17:01:25 | 显示全部楼层
不错,支持支持
回复 支持 反对

使用道具 举报

发表于 2016-5-10 18:41:51 | 显示全部楼层
挺萌的,哈哈~
回复 支持 反对

使用道具 举报

发表于 2016-5-18 01:56:47 | 显示全部楼层
最重要的东西没有放上来,就是库文件,不然代码看着莫名其妙的。应该就是通过UART读取字符串实现相应的代码。
把AFMotor.h文件弄来呗。
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 04:49 , Processed in 0.050449 second(s), 30 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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