51单片机项目设计:WiFi视频小车制作教程、正点原子wifi摄像头模块应用、手机wifi控制


2021年10月27-2022年1月1日 可承接单片机设计,有意可添加Q2809786963

这是一款可以传回视频图像的遥控小车

哔哩哔哩项目展示视频:https://www.bilibili.com/video/BV1gf4y1v7qa
在这里插入图片描述

百度网盘资料链接:https://pan.baidu.com/s/1Qxm7A7pz6ktaHefDTkzhwg
提取码:c3ol

CSDN资料下载链接:https://download.csdn.net/download/mbs520/13134025
取走记得点赞~
在这里插入图片描述

一、材料准备

1、核心装备:wifi摄像头模块
名称:正点原子WiFi摄像头模块
简介:minifly四轴配套模块,体积小重量轻、WiFi通信60米距离 、720 30帧高清画面

在这里插入图片描述

2、电机选择

名称:霍尔编码电机
型号:620转

这里用直流电机即可,这个贵,网上搜直流减速电机,最好带个轮子,方便安装
在这里插入图片描述

3、小车框架
博主这个就直接锯木板了
在这里插入图片描述
或者直接购买智能小车底盘
在这里插入图片描述

4、主控芯片选择
名称:STC89C52单片机最小系统板
购买链接:https://m.tb.cn/h.43JCfUl?sm=0792c6

5、电机驱动
名称:LN298
特点:驱动电流大,工作稳定,就是比较费电
在这里插入图片描述

6、电源
名称:18650锂电池
电压:3.7V
(我的是废充电宝下拆下的,比较丑)
在这里插入图片描述

二、电路原理

电路原理图(看不清请下载资料)
在这里插入图片描述

按图连接好

在这里插入图片描述

在这里插入图片描述

三、源代码

/*******************************************
名称:51WIFI视频小车
作者:化作尘
时间:2020年11月20日11点27分
邮箱:2809786963@qq.com
*******************************************/

#include "reg52.h"


#define uchar unsigned char
#define uint unsigned char


/***小车控制定义**/
#define DIR P1
#define QIAN 0xaa 
#define HOU 0x55 
#define ZUO 0x5a 
#define YOU 0xa5 
#define STOP 0x00 


void uart_init();
void uart_tx_string(uchar *str);
void uart_tx_byte(uchar str);
void Delayms(unsigned int n);
void Delayus(unsigned int n);

uchar rec;//接收到的字节
uchar buff[9]="00000000";//接收到的数据包
uchar flag;//数据包开始接收标志
uchar num; //数组下标
uchar buf_ready;//接收到数据包置1

/*********************************************************
函数名:主函数
*********************************************************/
void main()
{
        uart_init();
				DIR = STOP;
        Delayms(1);
				buff[3] = 0x80;
				buff[4] = 0x80;
        uart_tx_string("hello buletooch car!\n");
        while(1)
        {
								if(buf_ready == 1)//接收一组数据完成标志
								{
											buf_ready = 0;
								}
								if(buff[3]>0xd0){DIR = QIAN;Delayus(5);DIR = STOP;Delayus(5);}//buff[3]控制前后
								else if(buff[3]<0x20){DIR = HOU;Delayus(5);DIR = STOP;Delayus(5);}
								
								else if(buff[4]>0xd0){DIR = YOU;Delayus(15);DIR = STOP;Delayus(5);}//buff[4]控制左右
								else if(buff[4]<0x20){DIR = ZUO;Delayus(15);DIR = STOP;Delayus(5);}
								else DIR = STOP;
        }
}

/*********************************************************
函数名:串口中断
*********************************************************/
void uart_timer() interrupt 4
{
        if(RI)
        {
								RI = 0;
                rec=SBUF;
								
								if(rec==0x66 && flag==0)//数据头
								{
											flag = 1;  
											num=0;
											buff[0] = rec;
								}
								else if(flag == 1)//开始接收数据包buff[8]
								{
									
											num++;
											buff[num] = rec;
											if(num==7 && buff[7]==0x99)//接收到数据尾
											{
													buf_ready = 1;
													flag = 0;
													num = 0;
											}
											else if(num == 7)//接收错误
											{
													flag = 0;
													num = 0;
											}
								}
        }
}

/*********************************************************
函数名:串口初始化
波特率:19200
晶振:11.059M
*********************************************************/
void uart_init()
{
				TMOD=0x20;
				TH1=0xfd; //9600
				TL1=0xfd;
				PCON=0x80;//9600*2
				SCON=0x50;
				TR1=1; //start Timer1
				EA=1;
				ES=1;
}
 
/*********************************************************
函数名:串口发送一个字节
*********************************************************/
void uart_tx_byte(uchar str)
{
        SBUF=str;
        while(!TI);
				Delayms(2);
}

/*********************************************************
函数名:串口发送一个字符串
*********************************************************/
void uart_tx_string(uchar *str)
{
        while(*str!='\0')
        {
                uart_tx_byte(*str++);
                Delayms(2);
        }
}

/*********************************************************
函数名:延时函数
*********************************************************/
void Delayms(unsigned int n)
{
        unsigned int i,j;
        for(j=n;j>0;j--)
                for(i=112;i>0;i--);
}

void Delayus(unsigned int n)
{
        while(n--);
}





四、调试

(一)APP使用

1、安装WiFi模块配套APP
下载我的资料,找到软件
在这里插入图片描述

2、等待WiFi模块初始化,开启需要15秒后蓝色led开始闪烁
3、连接WiFi,找到MiniFly
在这里插入图片描述
4、打开软件,开启电源
在这里插入图片描述
5、看到画面,开启控制
在这里插入图片描述
(二)一般遇到的问题

1、app连接不上
解决方法:换手机

2、连接上模块不能控制小车运动
调试方法:
1)用usb转ttl模块,模块连接电脑
串口发送数据格式(串口波特率 19200,1 个启始位,1 个停止位,其它无):
在这里插入图片描述
2)用手机连接好模块,打开控制按钮,串口能接收到源源不断的控制指令
在这里插入图片描述

(三)仔细阅读两个手册

在这里插入图片描述

化作尘其它开源项目:

单片机项目:

基于stm32c8t6的坡道行驶巡线小车(2020年TI杯大学生电子设计竞赛 C题)https://blog.csdn.net/mbs520/article/details/115438122

基于STM32F4的音乐播放器
https://blog.csdn.net/mbs520/article/details/111313042

基于STM32F4的电子阅读器(首创)
https://blog.csdn.net/mbs520/article/details/110817173

基于51单片机WiFi视频小车(首创)
https://blog.csdn.net/mbs520/article/details/109843972

基于51单片机蓝牙小车
https://blog.csdn.net/mbs520/article/details/109775964
基于MSP430 坡道行驶电动小车(2020年TI杯大学生电子设计竞赛 C题)
https://blog.csdn.net/mbs520/article/details/109090072

基于stm32f4的智能门锁系统
https://blog.csdn.net/mbs520/article/details/106987758

基于51单片机超声波测距小车
https://blog.csdn.net/mbs520/article/details/106599219

基于51单片机定时宠物喂食系统
https://blog.csdn.net/mbs520/article/details/108292187

Linux项目:

基于QT5 Linux平台 停车场管理系统
https://blog.csdn.net/mbs520/article/details/113481824

基于QT5 Linux平台 车载系统
https://blog.csdn.net/mbs520/article/details/112873809

基于Linux系统 媒体播放器
https://blog.csdn.net/mbs520/article/details/107880118

基于Linux系统 语音识别、人机对话
https://blog.csdn.net/mbs520/article/details/113179224

基于Linux系统小钢琴程序(暂无博客)
https://download.csdn.net/download/mbs520/12798287

基于Linux系统 QQ通讯录管理系统(暂无博客)

  • 97
    点赞
  • 484
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 26
    评论
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

化作尘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值