极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4393|回复: 2

利用51单片机制作廉价盒仔机器人

[复制链接]
发表于 2016-2-7 12:16:32 | 显示全部楼层 |阅读模式
一、盒仔机器人

  BOXZ,昵称盒仔,是一款开源的互动娱乐平台!百度一下,有很多盒仔的制作教程,基本都是用arduino制作完成的。假期没事,带着宝宝们用51制作了一个廉价的BOXZ。先上张图:
IMG_20160131_140856.jpg
从图上不难看出,为了宝宝们易于接受,我把盒仔的手机摇控改成了用线控的方法,做了一个简易的摇控器。

二、材料准备

360截图20160207120948157.jpg
以上原器件,某宝网上都有。另外,制作中需要用到壁纸刀、电钻、钢尺、胶水等工具。

三、外壳及皮肤制作

1、外壳的制作

(1)下载模板

下载地址:https://yunpan.cn/crIvLu9R8xVyI  访问密码 9fe1

从上面的下载地址下载模板,打印出来,然后将硬纸板切割成图上的样子,怎么切割我就不用说了吧,呵呵。
IMG_20160130_093519.jpg
(2)组装
a8ec8a13632762d09e7e5221a0ec08fa503dc6e8.png
第一步,用到的是P003,2块电机支撑板,用于连接和固定TT减速箱电机(以下简称电机)。在开始安装电机之前,大家可以先把P003实验性的插入P001,从而定义好一个方向,我们的电机都是在支撑板内侧安装的。然后就可以用紧固件分别把电机固定在P003的内侧了。如图每块P003与TT减速箱通过两个M2x30MM的螺丝固定,两边装上轮子。
8cb1cb1349540923032495e09258d109b2de49db.png
IMG_20160131_095642.jpg
第二步,安装电路板,以及p041、P020、P030以及p050。
IMG_20160131_103555.jpg
以上外壳的安装过程,如果大家没看明白,可以百度一下盒仔机器人,外壳都是一样的。

2、皮肤的制作

下载地址:https://yunpan.cn/crIvwPNjKMrgG  访问密码 825a

网上有很多皮肤,这里提供了马里奥的皮肤下载,我制作中选用了白色的模板,让宝宝们怎么涂上颜色。
IMG_20160131_140901.jpg
四、电路原理图
QQ图片20160202122638.png
按照上面的原理图,进行电路焊接,OUTA、OUTB、OUTC、OUTD分别接电机,实物如下图:
IMG_20160130_135933.jpg
这里要特别注意的是,电路中用到的万能板的大小一定要剪裁到刚好可以放到两轮之间的大小,具体要先做好组装中的第一步,然后实际量一下尺寸,这样做出来比较美观。L298N和电池可以直接放在电路板上面,因为上方的空间比较大。

五、程序原代码
[pre lang="c" line="1"]//转载请注明:@小五义http://www.cnblogs.com/xiaowuyi  QQ群:64770604
    #include<stc12c2052ad.h>
    #define uint unsigned int
    sbit A1=P1^0;// 输出1
    sbit A2=P1^1;// 输出2
    sbit B1=P1^2;//输出3
    sbit B2=P1^3;//输出4
    sbit find1=P3^2;//go
    sbit find2=P3^3;//back
    sbit find3=P3^4;//left
    sbit find4=P3^5;//right
    void delay_1ms(uint x)
    {
        uint y,z;
        for(y=0;y<x;y++)
        for(z=0;z<850;z++) ;
    }
    void go()
    {
        A1=0;
        A2=1;
        B1=0;
        B2=1;
    }
    void back()
    {
        A1=1;
        A2=0;
        B1=1;
        B2=0;
    }
    void left()
    {
        A1=1;
        A2=0;
        B1=0;
        B2=1;
    }
    void right()
    {
        A1=0;
        A2=1;
        B1=1;
        B2=0;
    }
    void find()
    {
        P3=0xff;
        if(find1==0)
            go();
        if(find2==0)
            back();
        if(find3==0)
            left();
        if(find4==0)
            right();
        if(find1==1&&find2==1&&find3==1&&find4==1)
            P1=0x00;
    }
    void main()
    {
        while(1)
        {
            find();
        }
    }[/code]

c51的代码如何烧写,这里就不讲了,不会的同学可以自己网上查一下,很简单。

完整代码包下载:https://yunpan.cn/crI8w94cIWTZ3  访问密码 3754

评分

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

查看全部评分

回复

使用道具 举报

发表于 2016-2-13 21:42:55 | 显示全部楼层
不错哦~可以用L293替代298
回复 支持 反对

使用道具 举报

发表于 2016-2-16 00:31:45 | 显示全部楼层
本帖最后由 Ansifa 于 2016-2-16 00:34 编辑

《利用PT2262/2272 315M模块和L293和一堆二极管制作廉价盒仔机器人》
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2019-8-25 02:38 , Processed in 0.050224 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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