YFROBOT创客社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 27302|回复: 41
打印 上一主题 下一主题

Arduino智能车制作

[复制链接]

签到天数: 22 天

[LV.4]偶尔看看III

跳转到指定楼层
楼主
发表于 2013-9-24 19:04:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 原始人 于 2013-9-24 19:06 编辑

Arduino智能车制作(超声波避障、12864显示、测速

学习Arduino有段时间了,也看了很多东西,所以打算最近做了一辆3轮的智能车,一开始想要做个超声波避障小车的,但是正好手边有个LCD12864,果断将它加入其中,后来又加入测速模块(想想有点鸡肋,但是小车底盘又带码盘,不能浪费。。。不管它了,先做了再说)!!做的不好请轻拍~~~有在做小车的朋友可以一起讨论!
下面看下我所用到的装备(上次已经发了一个关于配件的帖子点击查看:制作所用的配件表):

1、首先当然是小车底盘了,我用的是3轮小车底盘,带开关(很方便);安装小车应该很简单,这里就不废话了,下面是小车图片:


2、控制板(我用的是UNO兼容版),电机驱动,扩展板(方便用杜邦线,VCC及GND也很多);3块板子可以直接插在一起,节省了很多空间,如下图:


3、供电电源,我使用的是7.4V充电锂电池加DC转接头,当然还有充电器~~如下图:


4、超声波舵机云台,如图:


5、显示模块LCD12864,我的买回来后又加工了一次,原来是直排针(不太还接线),将它改成弯排针了,如下图


6、最后就是测速模块,现在还没调试到它,但是已经将它安装在小车上;还有些配件:螺丝、铜柱、杜邦线等,还有些简单的工具:烙铁、螺丝刀什么的;我还有用扎带,热缩管,这样小车看起来会更美观!
买回来的东西我就将这些东西照着想好的方法一股脑的都安装好了,也没去想想是否合适,更都没想着去拍照什么的(第一次做没经验啊,现在发帖也很纠结,没图没真相啊!!)额额~~组装起来后,在调试阶段又才发现有很多问题,无奈又去拆啊什么的,够繁琐的~~总之先看下我的小车样子吧


原来电池安装在小车背面舵机和电机之间的位置,后来小车跑起来之后,发现头太重了,万向轮会翘起来,所以后来改装在控制板的下方,也还行没影响美观~~

下面是我写的程序:    欢迎下载 仅供参考!

程序中还用到了LCD12864显示库文件:

这个程序个人觉得还是不太满意,有空会再完善,希望谁有更好的程序拿出来大家分享分享~~~

程序中没有测速内容,但是实物有把测速模块安装上去,建议小车未安装之前,先想办法测试两个电机的速度,保证他们的速度基本相同!后面的避障程序中可以不用测速部分的程序(累赘)。

如果真的想做好避障,还是需要多加几个传感器,一个超声波明显不太完美,有的低点的障碍物避免不了碰撞了~~ 还有,超声波检测前方的障碍物,如果遇到窄道,有时还会出现错误!

后期准备完善小车,增加循迹,红外或者蓝牙遥控功能~~~~~~~~~


本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 支持支持1 反对反对

签到天数: 866 天

[LV.10]以坛为家III

推荐
发表于 2016-3-28 13:37:42 | 只看该作者
hero_sun 发表于 2016-3-27 10:41
int WER;
int fcv = 2;
int comI = 3,comII = 11;

你这是驱动小车程序?
回复 支持 1 反对 0

使用道具 举报

签到天数: 7 天

[LV.3]偶尔看看II

推荐
发表于 2013-10-19 19:26:07 | 只看该作者
如果再详细一些就好了...
回复 支持 1 反对 0

使用道具 举报

签到天数: 1 天

[LV.1]初来乍到

推荐
发表于 2014-10-4 11:09:41 | 只看该作者
cm_R[s] = float(int(cm_R[s] * 100.0)) / 100.0; //保留两位小数
这句是什么意思,不是很懂,求解释
回复 支持 1 反对 0

使用道具 举报

签到天数: 27 天

[LV.4]偶尔看看III

5#
发表于 2016-1-24 15:52:26 | 只看该作者
本帖最后由 hero_sun 于 2016-2-8 10:51 编辑

int pinI1=8;//定义I1接口
int pinI2=9;//定义I2接口
int speedpin=11;//定义EA(PWM调速)接口
int pinI3=6;//定义I3接口
int pinI4=7;//定义I4接口
int speedpin1=10;//定义EB(PWM调速)接口
int IRR=3;//定义右侧避障传感器接口
int IRM=4;//定义中间避障传感器接口
int IRL=5;//定义左侧避障传感器接口
void setup()
{
  pinMode(pinI1,OUTPUT);
  pinMode(pinI2,OUTPUT);
  pinMode(speedpin,OUTPUT);
  pinMode(pinI3,OUTPUT);
  pinMode(pinI4,OUTPUT);
  pinMode(speedpin1,OUTPUT);
  pinMode(IRR,INPUT);
  pinMode(IRM,INPUT);
  pinMode(IRL,INPUT);
}
void advance(int a)//
{
     analogWrite(speedpin,a);//输入模拟值进行设定速度
     analogWrite(speedpin1,a);
     digitalWrite(pinI4,LOW);//使直流电机(右)逆时针转
     digitalWrite(pinI3,HIGH);
     digitalWrite(pinI1,LOW);//使直流电机(左)顺时针转
     digitalWrite(pinI2,HIGH);
}
void right(int b)//右转
{
     analogWrite(speedpin,b);//输入模拟值进行设定速度
     analogWrite(speedpin1,b);
     digitalWrite(pinI4,HIGH);//使直流电机(右)顺时针转
     digitalWrite(pinI3,LOW);
     digitalWrite(pinI1,LOW);//使直流电机(左)顺时针转
     digitalWrite(pinI2,HIGH);
}
void left(int c)//左转
{
     analogWrite(speedpin,c);//输入模拟值进行设定速度
     analogWrite(speedpin1,c);
     digitalWrite(pinI4,LOW);//使直流电机(右)逆时针转
     digitalWrite(pinI3,HIGH);
     digitalWrite(pinI1,HIGH);//使直流电机(左)逆时针转
     digitalWrite(pinI2,LOW);
}
void stop()//停止
{
     digitalWrite(pinI4,HIGH);//使直流电机(右)制动
     digitalWrite(pinI3,HIGH);
     digitalWrite(pinI1,HIGH);//使直流电机(左)制动
     digitalWrite(pinI2,HIGH);
}
void back(int d)//后退
{
     analogWrite(speedpin,d);//输入模拟值进行设定速度
     analogWrite(speedpin1,d);
     digitalWrite(pinI4,HIGH);//使直流电机(右)顺时针转
     digitalWrite(pinI3,LOW);
     digitalWrite(pinI1,HIGH);//使直流电机(左)逆时针转
     digitalWrite(pinI2,LOW);
}
void loop()
{
    int r,m,l;
    r=digitalRead(IRR);
    m=digitalRead(IRM);
    l=digitalRead(IRL);
    if(l==HIGH &&m==HIGH && r==HIGH)
      advance(120);
    if(l==LOW &&m==LOW  && r==LOW )
      {
        back(120);
        delay(300);
        right(100);
        delay(100);
      }
    if(l==LOW &&m==HIGH  && r==LOW )
      {
        back(120);
        delay(300);
        right(100);
        delay(100);
      }
    if(l==HIGH  &&m==LOW  && r==HIGH  )
          {
        back(120);
        delay(300);
        right(100);
        delay(100);
      }
    if(l==LOW &&m==LOW  && r==HIGH )
    right(100);
    if(l==LOW && m==HIGH && r==HIGH)
    right(80);
    if(l==HIGH &&m==LOW  && r==LOW )
    left(100);
    if(l==HIGH &&m==HIGH  && r==LOW )
    left(80);
  
}
   //(拷贝)请多指教!

点评

貌似你没定义I1  发表于 2016-2-5 19:57
回复 支持 反对

使用道具 举报

签到天数: 27 天

[LV.4]偶尔看看III

6#
发表于 2016-1-24 16:11:53 | 只看该作者
同求ILM的问题
回复 支持 反对

使用道具 举报

签到天数: 27 天

[LV.4]偶尔看看III

7#
发表于 2016-1-24 16:28:49 | 只看该作者
可不可以用4个电机的车底盘?我是初学者。请多指教!
回复 支持 反对

使用道具 举报

签到天数: 27 天

[LV.4]偶尔看看III

8#
发表于 2016-1-24 16:42:45 | 只看该作者
请问超声波传感器那4个脚分别插在哪儿?
回复 支持 反对

使用道具 举报

签到天数: 27 天

[LV.4]偶尔看看III

9#
发表于 2016-1-24 17:00:13 | 只看该作者
本帖最后由 hero_sun 于 2016-1-24 17:13 编辑
YFRobot 发表于 2013-10-19 19:26
如果再详细一些就好了...

不够详细!
回复 支持 反对

使用道具 举报

签到天数: 27 天

[LV.4]偶尔看看III

10#
发表于 2016-1-24 17:26:49 | 只看该作者
/Users/Cheng/Downloads/bzxc_cp_  
回复 支持 反对

使用道具 举报

签到天数: 27 天

[LV.4]偶尔看看III

11#
发表于 2016-1-24 19:15:16 | 只看该作者
本帖最后由 hero_sun 于 2016-3-27 10:45 编辑

云台连哪儿?
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|联系我们|YFROBOT ( 苏ICP备20009901号-2  

GMT+8, 2024-5-8 08:03 , Processed in 0.052110 second(s), 31 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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