【【胎教级51单片机智能小车设计】】

news2024/11/24 6:27:50

胎教级51单片机智能小车设计

从现在开始开一个新坑
称为创意工坊
主要更新一些有意思的设计

第一次手把手更新51单片机智能小车
胎教级教学人人都会
单片机实现的功能是通过蓝牙APP 控制小车前后左右移动
先讲明白这个小车
后续再在这个小车上更新其他的设计
在这里插入图片描述
成品图

第一步:先介绍一下我所用的各种购买材料

我在拼多多购买了
在这里插入图片描述

1. 51单片机最小系统

(如果你有STC89C52的单片机就不买了,因为我想多买一个做别的设计所以我买了这个套餐,成品+单片机)
在这里插入图片描述
最小系统请务必买这种拉杆的
就是有一个扳手方便你下拉
我之前在淘宝买了
在这里插入图片描述
这样的非常不好用,这种没有个拉杆 全靠自己的手插 插不进你还要掰管脚 很不方便
买最小系统 请认准 拉杆的

2. 杜邦线

杜邦线建议买 30cm + 10cm 的因为我身边有10cm 的所以我没买 如果你没有 建议买一下很好 帮助很大

接下来是我在淘宝上购买的

3. 电烙铁(非必须)

在这里插入图片描述
这个是非必须的 我在制作这个小车的时候并未使用到电烙铁 第一点因为 我怕焊接错了 没有悔改的地方 第二点 焊接还算是小危险吧 但是我买了 毕竟咱们以后想要做一些成品的不去修改的器件 还是需要用到电烙铁
第三点 这个小车 不用电烙铁也可以完成

4.L298n 驱动电机

在这里插入图片描述
在这里插入图片描述

5.智能小车底盘

在这里插入图片描述
在这里插入图片描述
我买的是二驱 四驱是一样的
买小车送电池盒挺好
送的是四个电池的电池盒

6.HC-06蓝牙模块

在这里插入图片描述
在这里插入图片描述
要带底盘焊针

这就是上述材料 除了电烙铁非必须 其他都是必须的

第二步 拿到东西之后开始组装

小车的组装观看这个视频
再放一下链接
小车组装视频
这个是我们差不多同款的网上关于小车的视频都大同小异 这个安装最好

第三步 : 开始接线

接线在我的浏览寻找中没有一个人讲的很清楚都是模棱两可 听不懂 令人生气 我给大家讲清楚 !!!!!!!!
这里说明一下 导线是哪里来的
并且为什么不用电烙铁
我们把杜邦线剪掉头 就是导线 然后用打火机烧掉外衣 就会露出里面的铜丝
我们在很多时候拿铜丝绕几圈
拿铜丝塞进L298n 里面不是更方便吗

我们从电机出发
在这里插入图片描述
电机的每个地方都要接
我们把它分成3个板块
第一个板块 电机上面写着12V GND 5V
怎么接看清楚操作
我们电池仓会多出两根线 一跟是正极 另一根是负极
在这里插入图片描述
只关注这个部分 电池仓的正极线一根 记住仅正极接到开关的一脚 从开关的另一脚引出线接到电机的12V上
而电池仓的这个负极线直接接到电机的GND上
然后 电机的GND连接单片机的GND
电机的5V连接单片机的Vcc
(给单片机供电)

再把12V 和 5V 拿一根线串起来
为什么 我i直接在这里说明好了 因为电机驱动需要12V 但是我们普通的干电池 像南孚电池碱性电池仅1.5V 电池仓4个也就6V 完全支撑不起 把这端相连就能启动电机 了

最后电机1区的连线
12V
1.接从开关引出的电池仓正极线
2.和5V相连线

GND
1.电池仓的负极线
2.51单片机最小系统的GND

5V
1.51单片机最小系统的5V
2.和12V相连线

这是电机1区的线

我们接下来看电机的2区
电机的2区的是接发动机的两个引脚
在这里插入图片描述
连过来 两边的电机都插入
有人问有没有先后之分 其实我并没有考虑先后左右 当我失败的时候我考虑了把接口换了一下哈哈哈

接下来考虑3区的接线

3区按照顺序接在单片机最小系统的
P00 P01 P02 P03 上
在这里插入图片描述
四根线对四根线

到这里基本接线快结束了
直接拿起我们的蓝牙模块
蓝牙模块VCC 接 单片机最小系统的Vcc
GND 接单片机最小系统的GND
RXD 接单片机最小系统的TXD
TXD接单片机最小系统的RXD

如果你像我这么连接那么恭喜你已经完工了

下面烧录进代码

我默认你有烧录设备了那之前的普中的整个大开发板 如果没有那就需要买一个51单片机下载器了
代码如下

#include<reg52.h>

#define uchar unsigned char
#define uint  unsigned int

sbit LB=P0^0;    //左边马达下接口     out2
sbit LF=P0^1;    //左上        out1
sbit RB=P0^2;    //右下        out4
sbit RF=P0^3;    //右上        out3

 void stop()
{
    LF=0;
    LB=0;
    RF=0;
    RB=0;
}

void forward()
{
    LF=1;
    LB=0;
    RF=1;
    RB=0;      
}

void back()
{
    LF=0;
    LB=1;
    RF=0;
    RB=1;    
}

void left()
{
    LF=0;
    LB=1;
    RF=1;
    RB=0;
}

void right()
{
    LF=1;
    LB=0;
    RF=0;
    RB=1;
    
}
void Com_Int(void) interrupt 4
{
    uchar receive_data;    
    EA = 0;
    if(RI == 1) 
    { 
        RI=0; 
        LF=0;
        RF=0;
        LB=0;
        RB=0;
        receive_data = SBUF;
        switch(receive_data)
        {
            case ('1'):
                forward();break;
            case ('2'):
                back();break;
            case ('3'):
                left();break;
            case ('4'):
                right();break;
            case ('0'):
                stop();break;
        }            
    }        
        EA = 1;
}
    
void UsartConfiguration()
{    
    SCON=0X50;    //SCON 是一个特殊功能寄存器,用以设定串行口的工作方式、接收/发送控制以及设置状态标志        
    TMOD=0X20;            
    PCON=0X00;        
    TH1=0Xfd;            
    TL1=0Xfd; //波特率为9600算出来的fd
    TR1= 1;                    
    ES = 1;        
        EA = 1;         
}


void main()
{
    UsartConfiguration();    
    while(1);    
}

也可以直接使用我的.hex文件

对于蓝牙软件

下载完成后先点击键盘设置一下键位
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
因为我连接电机的时候并未在意 正反方向
如果这里出现在地上旋转 那把电机的2区域选择一边线交换一下
如果出现 和指令相违背 选择把 这里面消息的地方 1 2 3 4 改成正确的

第一次蓝牙连接需要输入密码1234

ok 结束了谢谢大家 希望大家喜欢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/828253.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《Java-SE-第二十六章》之线程池

前言 在你立足处深挖下去,就会有泉水涌出!别管蒙昧者们叫嚷:“下边永远是地狱!” 博客主页&#xff1a;KC老衲爱尼姑的博客主页 博主的github&#xff0c;平常所写代码皆在于此 共勉&#xff1a;talk is cheap, show me the code 作者是爪哇岛的新手&#xff0c;水平很有限&…

pytorch基础实践1

数据预处理的最终目的是将我们正在处理的任何数据转换成能够感知我们神经网络的张量 基本概念 CNN的输入tensor 一般CNN的输入是一个4阶张量&#xff0c;分别用一个字母代表每个axis上的长度&#xff0c;那么它的shape为&#xff1a; [B,C,H,W] 其中 H 和 W 分别代表输入的单…

北邮22信通:第五章 邻接表图的广度遍历和深度遍历

北邮22信通一枚~ 跟随课程进度每周更新数据结构与算法的代码和文章 持续关注作者 解锁更多邮苑信通专属代码~ 获取更多文章 请访问专栏&#xff1a; 北邮22信通_青山如墨雨如画的博客-CSDN博客 目录 一.总纲 二.构造函数 2.1构造函数讲解 2.2构造函数的书写 书…

echars力引导关系图

效果图 力引导关系图 力引导布局是模拟弹簧电荷模型在每两个节点之间添加一个斥力&#xff0c;每条边的两个节点之间添加一个引力&#xff0c;每次迭代节点会在各个斥力和引力的作用下移动位置&#xff0c;多次迭代后节点会静止在一个受力平衡的位置&#xff0c;达到整个模型…

Java项目-苍穹外卖-Day01

文章目录 博客介绍软件开发流程项目介绍产品原型技术选型 博客介绍 从头开始做黑马的苍穹外卖项目 每天记录一下新学的知识点以及对应的开发进度 然后一些在项目中遇到的问题会重点标注 本篇主要是后端的&#xff0c;前端会一笔带过 软件开发流程 流程介绍需求分析需求规格说…

使用pg_prewarm缓存PostgreSQL数据库表

pg_prewarm pg_prewarm 直接利用系统缓存的代码,对操作系统发出异步prefetch请求&#xff0c;在应用中&#xff0c;尤其在OLAP的情况下&#xff0c;对于大表的分析等等是非常耗费查询的时间的&#xff0c;而即使我们使用select table的方式&#xff0c;这张表也并不可能将所有…

Eureka 学习笔记2:EurekaClient

版本 awsVersion ‘1.11.277’ EurekaClient 接口实现了 LookupService 接口&#xff0c;拥有唯一的实现类 DiscoveryClient 类。 LookupService 接口提供以下功能&#xff1a; 获取注册表根据应用名称获取应用根据实例 id 获取实例信息 public interface LookupService<…

【LeetCode】141. 环形链表 进阶题142. 环形链表 II

141. 环形链表 这道题还是用经典的快慢指针法来做。每次让快的指针走两步&#xff0c;慢的走一步。如果有环&#xff0c;则绝对会在环内的某一节点相遇。思想跟物理知识有点关系&#xff0c;如果有环&#xff0c;则在相对运动过程中&#xff0c;可以相当于慢指针静止&#xff0…

STM32入门——外部中断

中断系统概述 中断&#xff1a;在主程序运行过程中&#xff0c;出现了特定的中断触发条件&#xff08;中断源&#xff09;&#xff0c;使得CPU暂停当前正在运行的程序&#xff0c;转而去处理中断程序&#xff0c;处理完成后又返回原来被暂停的位置继续运行中断优先级&#xff…

Java集合数组相互转换

1.集合转换成数组 &#xff08;1&#xff09;集合a通过toArray()方法进行转换为数组&#xff0c;可以转换成为指定类型的数组&#xff0c;但是这些类型都必须是object类型的子类&#xff0c;基本类型不可以。 必要时我们使用强制类型转换&#xff0c;转成我们需要的类型。 Li…

【网络编程】poll

主旨思想 用一个结构体记录文件描述符集合&#xff0c;并记录用户态状态和内核态状态 函数说明 概览 #include <poll.h> struct pollfd { int fd; /* 委托内核检测的文件描述符 */ short events; /* 委托内核检测文件描述符的什么事件 */ short revents; /* 文件描述…

MySQL 远程操作mysql

可以让别人在他们的电脑上操作我电脑上的数据库 create user admin identified with mysql_native_password by admin; //设置账号密码都为admingrant all on *.* to admin; //给admin账号授权 授权完成

​五、驱动 - ​音频系统硬件电路

文章目录 1. 音频系统硬件电路结构2. 蓝牙音频2.1 音乐播放2.2 VoIP通话2.3 4G通话3. 其他3.1 什么是S/PDIF1. 音频系统硬件电路结构 录音放音设备:mic、speaker、耳机、听筒这些带有录音放音功能的设备(因为录放设备可能是模拟设备也可能是数字设备,所以接口可能是模拟接口…

IDEA中怎么使用git下载项目到本地,通过URL克隆项目(gitee\github)

点击 新建>来自版本控制的项目 点击后会弹出这样一个窗口 通过URL拉取项目代码 打开你要下载的项目仓库 克隆>复制 gitee github也是一样的 返回IDEA 将刚刚复制的URL粘贴进去选择合适的位置点击克隆 下载完成

JavaEE初阶之网络初识

一、网络发展史 1.1独立模式 独立模式:计算机之间相互独立; 1.2网络互连 随着时代的发展,越来越需要计算机之间互相通信,共享软件和数据,即以多个计算机协同工作来完成业务,就有了网络互连。网络互连:将多台计算机连接在一起,完成数据共享。 数据共享本质是网络数据…

【Python】5分钟了解11个最佳的Python编译器和解释器

11个最佳Python编译器和解释器 1. Brython2. Pyjs3. WinPython4. Skulpt5. Shed Skin6. Active Python7. Transcrypt8. Nutika9. Jython10. CPython11. IronPython结论原文链接 Python是一门初学者的编程语言。它是一种高级语言&#xff0c;非常灵活、解释性和面向对象的语言。…

安防监控进入全景时代,萤石全景摄像机E4p体验评测

随着智能家居的普及&#xff0c;智能家居摄像机已经成为我们必备的智能家居设备之一。传统摄像机在捕捉画面时只能获得单一角度的画面&#xff0c;可能会错过关键信息。 针对这个问题&#xff0c;萤石最近推出的E4p全景摄像机&#xff0c;解决了用户在特定场景下需要更全面画面…

笔试数据结构选填题

目录 卡特兰数Catalan&#xff1a;出栈序列/二叉树数 树 二叉树 N01N2 哈夫曼树&#xff08;最优二叉树&#xff09;Huffman 度m的哈夫曼树只有度为0和m的结点&#xff1a;Nm(n-1)/(m-1) 平衡二叉树AVL Nh表示深度为h最少结点数&#xff0c;则N00&#xff0c;N11&#…

Linux下TCP网络服务器与客户端通信程序入门

文章目录 目标服务器与客户端通信流程TCP服务器代码TCP客户端代码 目标 实现客户端连接服务器&#xff0c;通过终端窗口发送信息给服务器端&#xff0c;服务器接收到信息后对信息数据进行回传&#xff0c;客户端读取回传信息并返回。 服务器与客户端通信流程 TCP服务器代码 …

AI 绘画Stable Diffusion 研究(五)sd文生图功能详解(下)

大家好&#xff0c;我是风雨无阻。 上一篇文章详细介绍了sd文生图的功能及使用注意事项&#xff0c;感兴趣的朋友可以前往查看&#xff1a;AI 绘画Stable Diffusion 研究&#xff08;四&#xff09;sd文生图功能详解&#xff08;上&#xff09; 。 那今天这篇文章&#xff0c;我…