一、盒仔机器人
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
关键字:51单片机 盒仔机器人
引用地址:
利用51单片机制作廉价盒仔机器人
推荐阅读最新更新时间:2024-03-16 16:15
基于51单片机的自行车测速测距程序
实物图如下: 电路原理图如下: 单片机源程序如下: #include reg52.h #include Star1602.h #define CIRCLE 2.0 //宏定义 车轮的周长(这个要根据实际的车轮进行设置) sbit Signal = P1^0; //这里的Signal表示的是霍尔传感器的信号引脚 int m_second=0; //定义变量m_second,用来记录时间(以毫秒为单位) float speed=0.0 ; //定义速度变量 float length=0.0 ;//定义路程变量 void main() { lcd_init(); //初始化液晶函数 TMOD = 0x01; //
[单片机]
DSP与51单片机的一种高速通信实现方案
1 引言 数字信号处理器(DSP)是一种适合于实现各种数字信号处理运算的微处理器,具有下列主要结构特点:(1)采用改进型哈佛(Harvard)结构,具有独立的程序总线和数据总线,可同时访问指令和数据空间,允许实际在程序存储器和数据存储器之间进行传输;(2)支持流水线处理,处理器对每条指令的操作分为取指、译码、执行等几个阶段,在某一时刻同时对若干条指令进行不同阶段的处理;(3)片内含有专门的硬件乘法器,使乘法可以在单周期内完成;(4)特殊的指令结构和寻址方式,满足数字信号处理FFT、卷积等运算要求;(5)快速的指令周期,能够在每秒钟内处理数以千万次乃至数亿次定点或浮点运算;(6)大多设置了单独的DMA总线及其控制器,可以在基本不
[单片机]
基于51单片机的定时顺序控制器
求代码,作用是单片机控制继电器用于自动操作键盘。 要求: P01 导通三分钟,然后断开; P02 导通 10 秒后断开; P03 导通 0.5 秒后断开; P04 导通 0.2 秒后断开; P05 导通 0.5 秒后断开; P06 导通 0.2 秒后断开。 断开 P06 之后,循环所有。 单片机 89C52RC。 如下程序。 //-------------------------------------------------- #include #define uchar unsigned char #define uint unsigned int sbit P0_1 = P0^1; sbit P0_2 = P0^2; s
[单片机]
基于SJA1000的CAN总线和AT89C51单片机实现运动控制系统的设计
1、引言 运动控制系统是以机械运动的驱动设备—电动机为控制对象, 以控制器为核心, 以电力电子、功率变换装置为执行机构, 在自动控制理论指导下组成的电气传动控制系统。在电气时代, 电动机一直在现代化的生产和生活中起着十分重要的作用。在近年来, 由于半导体制造设备等相关的电子制造设备市场大幅成长, 而使得机器设备上的运动控制系统出现了以下几点技术需求: ( 1) 多轴运动控制。机器设备因自动化程度提高而使得单一机器上所需要的轴数增多, 一台设备上十几轴是常见的事情。在轴数变多后, 如何协调各轴动作就是一个重要的课题。 ( 2) 体积要小。由于厂房空间的限制, 机器的体积要求越小越好, 机器内控制器的体积也就被要求愈来愈小, 相对
[单片机]
51单片机C语言学习笔记2: 51单片机编程下载方式
编译完程序,要下载,当然离不开编程器。当时候上课的书上也没讲到下载的办法,做试验也只是在试验箱上下载完事。要自己弄的话,要怎么才能玩得转呢?在网上查了一下,要玩转单片机,要具备三样东西:51芯片+编程器+仿真器,当然仿真器是不必要的。记得我的第一台编程器是TOP851,可以花了300多大洋,当时还是自费的。记得我自己买的第一颗51单片机芯片是正宗的Intel 8051,可以TOP851不支持Intel的51芯片,可郁闷啦,连51单片机的鼻祖也不支持,可想而知后来的人都过了河拆了桥J 后来又再买了一块芯片:AT89C51,当时候还有点疑惑,我学的是8051啊,可是这是89C51啊?书上没讲这芯片,怎么办呢?现在想想可知多么可笑,但这
[单片机]
51单片机矩形键盘控制数码管显示0-F,以及LED灯的亮灭
电路图 总图 部分图1 部分图2 部分图3 元件清单 C语言程序 #include reg51.h #define uint unsigned int #define uchar unsigned char //共阳数码管编码表&LED灯 uchar code table = {0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e}; //函数声明 void delay(uint time); //延时函数 void display(uchar k); //数码管显示0-F以及LED
[单片机]
51单片机实现控制网卡芯片进行数据传输的设计
在网络技术应用日益广泛的今天,网络传输是最经济有效的数据传输方式。如何利用廉价的51单片机来控制网卡芯片进行数据传输,加载TCP/IP协议连接到互联网,实现网络通信成了众多设计者的目标。但由于指令及资源的限制,实施过程会有许多困难。我们在设计方案中舍弃了耗费资源的高级协议,采用发送小数据包的方式以避免分段,来简化TCP协议和UDP协议,实现互联接入。 硬件设计与实现 系统的硬件结构框图如图1所示。本系统的微控制器是Winbond公司的78E58,网络接口芯片是与NE2000系列兼容的ReaLTEk公司的RTL8019AS。RTL8019AS内置了10BASE-T收发器,外接一个隔离LPF滤波器,经RJ-45接口输出。外部RAM
[单片机]
51单片机控制步进电机-让电机转起来
摘要: 本节介绍用简单的方式,让步进电机转起来。其目的之一是对电机转动有直观的感受,二是熟悉整个开发流程 本系列教程必要的51单片机基础包括IO口操作、中断、定时器三个部分,相关基础教程网上很多,可以自行学习 一、软件清单 需要用到的软件有keil5编译软件、STC程序烧录软件 二、控制原理 根据TB6600驱动器原理,向PUL口发送脉冲,每发送一个脉冲,电机就转一步。通过单片机延时的方式,切换PUL口电平产生脉冲,从而控制电机转动。 三、程序代码 //毫秒延时函数 void delay(unsigned int z) { unsigned int x,y; for(x=z;x 0;x--) for(y
[单片机]