极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 73792|回复: 46

自制Arduino小车

  [复制链接]
发表于 2011-11-8 08:02:58 | 显示全部楼层 |阅读模式
本帖最后由 幻生幻灭 于 2014-12-18 16:31 编辑

2014.12.18
时隔三年,我们一直在努力,感受分享Arduino所带来的快乐!
最新机器人作品出炉

http://www.geek-workshop.com/thread-11653-1-1.html

==========
实验版本


成品版本[未完成]



后续将添加蓝牙和传感器,以下是Arduino 2009的I/O定义




希望对大家的设计能有所帮助{:soso_e128:}



本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2013-10-20 23:56:04 | 显示全部楼层
采用Ladyada的库文件
主页:http://learn.adafruit.com/adafruit-motor-shield/overview
下载页:https://github.com/adafruit/Adafruit-Motor-Shield-library

实现了1.05版的四轮驱动小车!感谢楼主!感谢Ladyada!

本帖子中包含更多资源

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

x

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-11-8 08:03:42 | 显示全部楼层
今天把程序整理了下,发上来
  1. // IdealDIY Motor shield library
  2. // copyright IdealDIY LLC, 2010
  3. // this code is public domain, enjoy!
  4. // 2011 Edited by Leo Zhu

  5. #include <AFMotor.h>
  6. AF_DCMotor motorL(3);
  7. AF_DCMotor motorR(4);

  8. void setup() {
  9.   Serial.begin(9600);           // set up Serial library at 9600 bps
  10.   Serial.println("Motor Go!");

  11.   // turn on motor
  12.   motorL.run(RELEASE);
  13.   motorR.run(RELEASE);
  14. }

  15. void loop() {
  16.   char words;//keyboardInput
  17.   if(Serial.available()>0)
  18.   {
  19.     words=Serial.read();
  20.     //forward
  21.     if(words=='w')
  22.     {
  23.       Serial.println("forward");

  24.       motorL.setSpeed(255);
  25.       motorR.setSpeed(255);
  26.       motorL.run(FORWARD);
  27.       motorR.run(FORWARD);

  28.       delay(50);
  29.       Serial.println("stop");

  30.       motorL.run(RELEASE);
  31.       motorR.run(RELEASE);
  32.     }
  33. //backward
  34.     else if(words=='s'){

  35.       Serial.println("backward");
  36.       motorL.setSpeed(255);
  37.       motorR.setSpeed(255);
  38.       motorL.run(BACKWARD);
  39.       motorR.run(BACKWARD);

  40.       delay(50);
  41.       Serial.println("stop");
  42.       motorL.run(RELEASE);
  43.       motorR.run(RELEASE);
  44.     }
  45.     //turn left
  46.     else if(words=='a'){

  47.       Serial.println("left");
  48.       motorL.setSpeed(255);
  49.       motorR.setSpeed(255);
  50.       motorL.run(BACKWARD);
  51.       motorR.run(FORWARD);

  52.       delay(50);
  53.       Serial.println("stop");
  54.       motorL.run(RELEASE);
  55.       motorR.run(RELEASE);
  56.     }
  57.     //turn right
  58.     else if(words=='d'){

  59.       Serial.println("right");
  60.       motorL.setSpeed(255);
  61.       motorR.setSpeed(255);
  62.       motorL.run(FORWARD);
  63.       motorR.run(BACKWARD);

  64.       delay(50);
  65.       Serial.println("stop");
  66.       motorL.run(RELEASE);
  67.       motorR.run(RELEASE);
  68.     }
  69.     //Stop
  70.     else{
  71.       Serial.println("stop");
  72.       motorL.run(RELEASE);
  73.       motorR.run(RELEASE);
  74.     }
  75.   }
  76. }


复制代码








我把鼠标硬件,Arduino库和程序放这了
http://www.geek-workshop.com/forum.php?mod=viewthread&tid=457

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2011-11-8 11:38:34 | 显示全部楼层
附件是视频~做的不错。。。偶的小车啥时候能做出来呢@@
回复 支持 反对

使用道具 举报

发表于 2011-11-8 12:16:40 | 显示全部楼层
偶的小车现在只有照片了@@
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-11-8 17:26:57 | 显示全部楼层
本帖最后由 幻生幻灭 于 2011-11-8 17:29 编辑

视频那个小车由于是硬纸板,机械误差相当大。本来都是直行的,跑起来却是转弯哈
回复 支持 反对

使用道具 举报

发表于 2011-12-15 22:50:42 | 显示全部楼层
{:soso_e177:}
回复 支持 反对

使用道具 举报

发表于 2011-12-15 23:33:36 | 显示全部楼层
实验版本那车,赞一个{:soso_e179:}
回复 支持 反对

使用道具 举报

发表于 2011-12-16 12:10:29 | 显示全部楼层
会不会是导向轮不好控制,所以会转弯?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-12-27 11:59:06 | 显示全部楼层
donarduino 发表于 2011-12-16 12:10
会不会是导向轮不好控制,所以会转弯?

导向轮的机械特性的确很难控制,只能算是个降低机械结构制作难度的一个低成本方案哈

目前正在考虑是否能实现位置移动的闭环控制
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-12-30 21:18:02 | 显示全部楼层
最近抽空继续搞蓝牙通讯,实验链接已经成功,正准备组装
回复 支持 反对

使用道具 举报

发表于 2012-1-5 11:49:59 | 显示全部楼层
好贴子,标记学习了。
回复 支持 反对

使用道具 举报

发表于 2012-1-20 19:35:55 | 显示全部楼层
顶一个 支持了
回复 支持 反对

使用道具 举报

发表于 2012-3-13 05:12:01 | 显示全部楼层
请问楼主控制输入的"WSAD"是不是在serial monitor里面输入?如是是的话每次输入都要敲回车键,挺麻烦的.能避免敲回车键直接控制不???
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-3-13 20:38:45 | 显示全部楼层
鼓破天 发表于 2012-3-13 05:12
请问楼主控制输入的"WSAD"是不是在serial monitor里面输入?如是是的话每次输入都要敲回车键,挺麻烦的.能避免 ...


如图,点实时发送即可

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2012-3-20 11:29:30 | 显示全部楼层
我准备组装了,零件已到手!
回复 支持 反对

使用道具 举报

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

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

Archiver|联系我们|极客工坊

GMT+8, 2024-3-28 23:37 , Processed in 0.047768 second(s), 32 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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