搜索
bottom↓
回复: 20

WIFI小车(基于OPENWRT)成长记之车架篇

[复制链接]

出0入0汤圆

发表于 2011-12-28 15:11:26 | 显示全部楼层 |阅读模式
小车材料已经基本到位了,正好今天是星期天准备开工,先做车架吧。上网上看了下别人的车架好多都是用亚克力塑料板做的,很少用金属做的。原来也想找块亚克力板来做车架的。后来想了下,既然是小车就得有点金属的味道,于是就寻思着用金属来做了。后来发现用旧电脑的光驱来做小车车架再好不过了。于是就到单位的仓库里拆迁个光驱回来。把里面东西拆掉,四面打上孔,安装上减速电机。效果非常的OK。如下图所示:


(原文件名:aaaaaaaaaaaaaaaaaaaa.jpg)


  

哈哈非常的帅气吧,再来一张。这里说明一下用四个轮子的好处。第一小车不容量跑偏,在两轮驱动的小车上非常的明显,很容易跑偏,而且四轮的动力很强劲的。

(原文件名:bbbbbbbbbbbbbbbbb.jpg)




一侧两个电机连在一起,用L298N来驱动,L298N正好可以驱动两路的直流电机。接下来来做AVR最小系统板吧,以前玩的都是51单片机,这次改用AVR的了。

再来次我的杰作,比起印制电路板是难看了点哦。


(原文件名:ccccccccccccccc.jpg)


这是正面,再来张反面的:



焊工一般,别见笑。

现在可以把车底盘、驱动板、AVR最小系统板连接起来了。

以下是小车的程序,本着开源精神全部贴出,这个没什么技术含量。

#include <iom16v.h>
#define uchar unsigned char
#include <macros.h>
#define uint unsigned int
#define L298N_A1_1 do{PORTA|=0x01;} while(0)
#define L298N_A1_0 do{PORTA&=0xFE;} while(0)
#define L298N_B1_1 do{PORTA|=0x02;} while(0)
#define L298N_B1_0 do{PORTA&=0xFD;} while(0)
#define L298N_A2_1 do{PORTA|=0x04;} while(0)
#define L298N_A2_0 do{PORTA&=0xFB;} while(0)
#define L298N_B2_1 do{PORTA|=0x08;} while(0)
#define L298N_B2_0 do{PORTA&=0xF7;} while(0)

#pragma interrupt_handler UAR_read:19

uchar buff[4];
uchar num,flagCMD;
uchar index;
volatile uint bitcnt,data0,data1;
void carLeft(void)
{
  L298N_A1_0;
  L298N_B1_1;
  L298N_A2_0;
  L298N_B2_1;
  delay_nms(100);
}
void carRight(void)
{
  L298N_A1_1;
  L298N_B1_0;
  L298N_A2_1;
  L298N_B2_0;
  delay_nms(100);
}
void carFront(void)
{
  L298N_A1_1;
  L298N_B1_0;
  L298N_A2_0;
  L298N_B2_1;
  delay_nms(100);
}
void carBack(void)
{
  L298N_A1_0;
  L298N_B1_1;
  L298N_A2_1;
  L298N_B2_0;
  delay_nms(100);
}
void carStop(void)
{
  L298N_A1_0;
  L298N_B1_0;
  L298N_A2_0;
  L298N_B2_0;
  delay_nms(100);
}

void UAR_init(void)
{
   uchar tmp;
   SREG=0X00;
   tmp= 8000000/9600/16-1;
   UCSRA=0x00;

   UCSRB=0x98;

   UCSRC=0x06;

   UBRRH=tmp>>8;
   UBRRL=tmp;
   SREG=0XFF;
}
void UAR_read(void)
{
   SREG=0X00;
   buff[index++]=UDR;
   if(index>=1)
    {
     index=0;  
     flagCMD=1;
   }
   SREG=0XFF;
}
void main(void)
{
   DDRA=0xFF;
   PORTA=0x00;
   num=0;
   flagCMD=0;
   UAR_init();
   
    SEI();
   while(1)
    {
    if(flagCMD)
     {
       switch(buff[0])
       {
         case 65: carFront();
                 break;
         case 66: carBack();
                 break;
         case 67: carRight();
                 break;
         case 68: carLeft();
                 break;
         case 70: carStop();
                 break;
         
       }
     flagCMD=0;
     }
   }
}

对程序小说明一下,这个小车程序是通过接收串口发来的指令,从而控制小车的运动的。我在电脑上写了个小车的测试程序:

  
(原文件名:eeeeeeeeeeeeeeeeee.jpg)



     本来是想把软件发上来的,由于这个软件是用QT开发的,大家的电脑里没有装过QT的SDK这个程序无法正常运行的,怕有些不明白的童鞋还以为我这程序有问题,说些不中听的话,所以就没有发上来了,QT的SDK的相关DLL文件比较大(有100多M)发不上来。确实想要的可以留言向我索取。小车车架就算完工了。接下来就是测试了,测试非常的顺利,一切OK。下一篇准备写有关路由器(DB120)的相关制作过程了,见请期待。。。。。。。。。。

出0入0汤圆

发表于 2012-1-1 11:15:16 | 显示全部楼层
回复【楼主位】telecom1633
-----------------------------------------------------------------------
赶紧发制作路由的帖子,等着呢。。。。正想做呢!!顶!!!

出0入0汤圆

 楼主| 发表于 2012-1-1 16:08:25 | 显示全部楼层
这段时间忙,没什么时间写这东西,等这陈忙完了才有时间来写。
自己刚开了个小店:http://shop62796340.taobao.com/
要多多关照哦。

出0入0汤圆

发表于 2012-1-1 16:34:47 | 显示全部楼层
to 楼主
淘宝上面有现成的遥控车,长度有键盘那么长,把里面遥控电路部分改成你自己的就可以用了。
这样比现在这个好看多了。我几年前做了一个,但由于没有时间完成就搁置到现在。
控制:VB串口<->上位机MCU RF905无线<->小车MCU RF905<->UART<->主MCU。

出0入0汤圆

发表于 2012-1-1 17:04:07 | 显示全部楼层
wifi是什么芯片  905?

出0入0汤圆

发表于 2012-1-1 17:15:39 | 显示全部楼层
回复【4楼】zzt8899
wifi是什么芯片  905?
-----------------------------------------------------------------------

RF905不是WIFI

出0入0汤圆

 楼主| 发表于 2012-1-1 21:16:58 | 显示全部楼层
呵呵,我这个可以传视频图像的。还录了个视频。电脑+手机控制。
http://v.youku.com/v_show/id_XMzM1NDgwMzUy.html

905不是什么WIFI芯片,RF905是一个无线传输模块。对于RF905来说传图像是很吃力的。

出0入0汤圆

发表于 2012-1-15 13:54:10 | 显示全部楼层
学习啊~~~

出0入0汤圆

 楼主| 发表于 2012-2-1 20:51:00 | 显示全部楼层
其实做这车也不是很难的,我是一步步走过来的了。我还开了个小店哦:http://shop62796340.taobao.com
朋友有空欢迎光临小店哦。欢迎大家交流。
小车视频:http://v.youku.com/v_show/id_XMzM1NDgwMzUy.html

(原文件名:T2CFaiXdJaXXXXXXXX_!!199700832.jpg)

出0入0汤圆

发表于 2012-2-1 23:17:44 | 显示全部楼层
WIFI 部分 是基于一个 商品化的路由器,  就我知道最先实现的是TP-Link的 WR703N, 99块钱.

这个路由器 被高人重新刷了一个Firmware -- OPENWRT, 也就是一个 定制的Linux,  

可以用访问WIFI路由器的标准方式访问  ,比如 HTTP, Telnet ,

正好这个路由有4个GPIO端口也被厂家很善良的保留了下来,  是 , TTL的,  
(楼主的AVR mcu 读取这几个gpio ,然后据此 给 L298发命令).


想更多了解的, 去openwrt论坛, 或者搜索神器 WR703N吧 , :)

出0入0汤圆

 楼主| 发表于 2012-2-2 12:40:37 | 显示全部楼层
玩这个小车主要玩的还是Openwrt这个系统,和那种路由器关系都不大,只要你玩转了Openwrt,只要是基于openwrt的路由器,都是一样的。要玩好Openwrt,很重要的是要自己能写程序,交叉编译后能在路由器上运行起来,这样路由器就想当于一个非常廉价的开发板了。

出0入0汤圆

发表于 2012-2-4 21:08:18 | 显示全部楼层
这个我喜欢,不久之后将要动手实践!

出0入0汤圆

 楼主| 发表于 2012-2-11 20:12:15 | 显示全部楼层
呼呼!

出0入0汤圆

发表于 2012-2-12 21:43:51 | 显示全部楼层
学习了,回去试一试

出0入0汤圆

发表于 2012-3-4 14:15:30 | 显示全部楼层
学习了

出0入0汤圆

 楼主| 发表于 2012-5-13 23:33:12 | 显示全部楼层
欢迎交流!

出0入0汤圆

发表于 2014-4-14 15:30:00 | 显示全部楼层
楼主,共享一下源码吧?  我最近入手了一块DB120。也打算弄个这样的小车,

出0入0汤圆

发表于 2014-4-19 19:27:46 | 显示全部楼层
学习学习,活到老,学到老。

出0入0汤圆

发表于 2014-4-19 19:41:53 | 显示全部楼层
学习学习。

出0入0汤圆

发表于 2014-8-31 09:04:07 | 显示全部楼层
做的不错,参考参考,准备自己也搞一个

出0入0汤圆

发表于 2014-9-22 23:26:02 | 显示全部楼层
由易及难,这个不错
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-6 12:13

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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