历史上的今天
今天是:2024年10月07日(星期一)
2018年10月07日 | 利用51单片机制作廉价盒仔机器人
2018-10-07 来源:eefocus
一、盒仔机器人
BOXZ,昵称盒仔,是一款开源的互动娱乐平台!百度一下,有很多盒仔的制作教程,基本都是用arduino制作完成的。假期没事,带着宝宝们用51制作了一个廉价的BOXZ。先上张图:


从图上不难看出,为了宝宝们易于接受,我把盒仔的手机摇控改成了用线控的方法,做了一个简易的摇控器。
二、材料准备

以上原器件,某宝网上都有。另外,制作中需要用到壁纸刀、电钻、钢尺、胶水等工具。
三、外壳及皮肤制作
1、外壳的制作
(1)下载模板
下载地址:https://yunpan.cn/crIvLu9R8xVyI 访问密码 9fe1
从上面的下载地址下载模板,打印出来,然后将硬纸板切割成图上的样子,怎么切割我就不用说了吧,呵呵。


(2)组装

第一步,用到的是P003,2块电机支撑板,用于连接和固定TT减速箱电机(以下简称电机)。在开始安装电机之前,大家可以先把P003实验性的插入P001,从而定义好一个方向,我们的电机都是在支撑板内侧安装的。然后就可以用紧固件分别把电机固定在P003的内侧了。如图每块P003与TT减速箱通过两个M2x30MM的螺丝固定,两边装上轮子。


第二步,安装电路板,以及p041、P020、P030以及p050。

以上外壳的安装过程,如果大家没看明白,可以百度一下盒仔机器人,外壳都是一样的。
2、皮肤的制作
下载地址:https://yunpan.cn/crIvwPNjKMrgG 访问密码 825a
网上有很多皮肤,这里提供了马里奥的皮肤下载,我制作中选用了白色的模板,让宝宝们怎么涂上颜色。

四、电路原理图

按照上面的原理图,进行电路焊接,OUTA、OUTB、OUTC、OUTD分别接电机,实物如下图:

这里要特别注意的是,电路中用到的万能板的大小一定要剪裁到刚好可以放到两轮之间的大小,具体要先做好组装中的第一步,然后实际量一下尺寸,这样做出来比较美观。L298N和电池可以直接放在电路板上面,因为上方的空间比较大。
五、程序原代码
#include #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 voiddelay_1ms(uint x) { uint y,z; for(y=0;yfor(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(); } }c51的代码如何烧写,这里就不讲了,不会的同学可以自己网上查一下,很简单。
完整代码包下载:https://yunpan.cn/crI8w94cIWTZ3 访问密码 3754
下一篇:打造单片机控光码电子锁
史海拾趣
|
不宜学单片机的人容易问:我到底该学什么; ----踏踏实实的学点基本的吧?连单片机都不知道是什么就想去学ARM? c语言不会想搞LINUX?别老是好高骛远. 不宜学单片机的人容易问:谁有xxx源码?--(你给人家多少钱啊?自己的劳动白送你?) 不宜 ...… 查看全部问答> |
|
基于WSN的路灯监控管理系统 摘要:介绍了一个基于无线传感器网络的远程路灯监控管理系统,系统主要由传感器节点、远程控制终端(RTU)和监控中心组成。在单个路灯中嵌入无线传感模块,形成具有采集、收发信息数据,控制各个路灯节点以及自组织等功 ...… 查看全部问答> |
|
现在刚刚接触嵌入式,以前只有工控的经验,哪些书比较好一点?大学的时候研究过windows内核,对于操作系统也比较了解。对于嵌入式的开发环境和流程还不是很了解,希望能尽快入门,以后上来和大家一起讨论问题。… 查看全部问答> |
|
现象:1、我用2410和2440 一个做服务器一个做客户端可以正常通信 2、他们也都可以和PC正常通信 他们不管是做服务器还是客户端,都是可以正常通信 3、以上链接都是通过交叉网线连得 现在的 ...… 查看全部问答> |
|
已经新建立了一个连接,使用RasDial()函数连接到了 输入 at 指令的模块,问题是怎么让程序自动输入at指令 并且自动 按继续按钮连接上网呢?谢谢大家了. at指令是:at+cgdcont=1,\"ip\",\"cmnet\" 和 atdt*99# ,我 ...… 查看全部问答> |
|
6410按键处理,有时候按下键没响应,有时候按下出好几个字符,求助大家! 我把6410的按键驱动映射为我需要的字符了,可是总是响应时有些问题,有时候按下键不能响应,有时候会出好几个字符,这是怎么回事啊,我应该修改哪些地方啊?… 查看全部问答> |




