设为首页收藏本站

arduino 单片机机器人爱好者之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 15665|回复: 37

Arduino智能车制作

[复制链接]

签到天数: 21 天

[LV.4]偶尔看看III

发表于 2013-9-24 19:04:34 | 显示全部楼层 |阅读模式
本帖最后由 原始人 于 2013-9-24 19:06 编辑

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

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

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

三轮小车1.jpg

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

控制板.jpg

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

电源.jpg

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

超声波云台.jpg

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

LCD12864.jpg


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

小车.jpg

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

下面是我写的程序: smart_car.zip (4.77 KB, 下载次数: 310)

签到天数: 615 天

[LV.9]以坛为家II

发表于 2016-3-28 13:37:42 | 显示全部楼层
hero_sun 发表于 2016-3-27 10:41
int WER;
int fcv = 2;
int comI = 3,comII = 11;

你这是驱动小车程序?

点评

没错  发表于 2016-5-15 09:05
是的  发表于 2016-4-10 11:54
收听我也有同样的程序喔  发表于 2016-4-2 17:41
LED是一个灯(有点废话)。  发表于 2016-4-2 10:49
是的,fcv是一个光敏电阻  发表于 2016-4-2 10:47
回复 支持 1 反对 0

使用道具 举报

该用户从未签到

发表于 2013-10-14 09:52:19 | 显示全部楼层
请问楼主 用的什么电机用来驱动

点评

TT电机啊,淘宝上很多的呀  发表于 2013-10-15 19:10
回复 支持 1 反对 0

使用道具 举报

签到天数: 7 天

[LV.3]偶尔看看II

发表于 2013-10-19 19:26:07 | 显示全部楼层
如果再详细一些就好了...
回复 支持 1 反对 0

使用道具 举报

签到天数: 1 天

[LV.1]初来乍到

发表于 2013-11-20 22:02:06 | 显示全部楼层
原始人发帖毕精。。。
回复 支持 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

使用道具 举报

该用户从未签到

发表于 2013-10-17 21:38:49 | 显示全部楼层
哦哦 谢谢楼主
回复 支持 反对

使用道具 举报

签到天数: 27 天

[LV.4]偶尔看看III

发表于 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

发表于 2016-1-24 16:11:53 | 显示全部楼层
同求ILM的问题
回复 支持 反对

使用道具 举报

签到天数: 27 天

[LV.4]偶尔看看III

发表于 2016-1-24 16:28:49 | 显示全部楼层
可不可以用4个电机的车底盘?我是初学者。请多指教!
回复 支持 反对

使用道具 举报

签到天数: 27 天

[LV.4]偶尔看看III

发表于 2016-1-24 16:42:45 | 显示全部楼层
请问超声波传感器那4个脚分别插在哪儿?
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|联系我们|YFRobot ( 苏ICP备13017135  

GMT+8, 2018-10-16 07:25 , Processed in 0.117616 second(s), 33 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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