【51单片机实例教程】智能小车(一)让你的小车跑起来

article/2025/8/4 5:35:35

文章目录

前言

一、硬件

1.小车底盘

2.51单片机最小系统板

3.L298N双路电机驱动板

二、仿真模拟图

三、代码部分

1.直行

2.后退

3.左转圈

4.右转圈

总结


前言

        智能小车的项目非常多,比如说循迹避障、蓝牙遥控、视觉控制(这一块用51单片机比较麻烦,所以这一块将会使用到stm32)等,我将会一步一步将大家走进单片机的项目当中。第一次写文章,可能会有很多不足的地方,还请各位大佬多指教。


一、硬件

1.小车底盘

2.51单片机最小系统板

3.L298N双路电机驱动板

        L298N是比较常用的直流电机驱动板,OUT1~4接入四个电机(博主使用的是将两个电机并联的方法,左右两个电机进行并联),IN1~4接入单片机的I/O口。在IN1~4的两侧有使能ENA、ENB接口,用于PWM变速。

二、仿真模拟图

三、代码部分

1.直行

#include<reg52.h>sbit IN1=P2^7;
sbit IN2=P2^6;
sbit IN3=P2^5;
sbit IN4=P2^4;void main()
{while(1){	IN1=1;IN2=0;IN3=1;IN4=0;	}
}

2.后退

#include<reg52.h>sbit IN1=P2^7;
sbit IN2=P2^6;
sbit IN3=P2^5;
sbit IN4=P2^4;void main()
{while(1){	IN1=0;IN2=1;IN3=0;IN4=1;	}
}

3.左转圈

#include<reg52.h>sbit IN1=P2^7;
sbit IN2=P2^6;
sbit IN3=P2^5;
sbit IN4=P2^4;void main()
{while(1){	IN1=1;IN2=0;IN3=0;IN4=1;	}
}

4.右转圈

#include<reg52.h>sbit IN1=P2^7;
sbit IN2=P2^6;
sbit IN3=P2^5;
sbit IN4=P2^4;void main()
{while(1){	IN1=0;IN2=1;IN3=1;IN4=0;	}
}

总结

以上就是今天要讲的内容,本文仅仅简单讲解了L298N的使用,后续我也将会加入蓝牙控制,循迹避障等功能。


http://chatgpt.dhexx.cn/article/djvnuim3.shtml

相关文章

基于51单片机的循迹小车(初学者必备!!!)

基于51单片机的循迹小车 文章目录 基于51单片机的循迹小车 前言一、系统概述1.工作原理2.控制系统结构框图 二、循迹小车硬件1.电机驱动模块2.循迹模块 三、循迹小车软件四、源码&#xff08;仅供参考&#xff09; 前言 该小车采用单片机STC89C52作为主控制核心&#xff0c;通过…

单片机小车

*## 单片机小车 本周作为单片机新手的我制作了我的第一个作品—单片机小车 一 元件&#xff1a;1.单片机最小系统板 2.杜邦线 3.USB转TTL CH340模块STC单片机下载线刷机板USB转串口 4.智能小车配件 红外寻迹 5.智能小车51单片机套件底盘组装寻迹避障开发板编程循迹机器人配件 …

51单片机之智能小车(避障、跟随、循迹)

目录 基本概述 硬件组成 功能 关键字 模块介绍 电机模块L9110S 循迹模块&#xff08;TCRT5000传感器&#xff09; 红外避障模块 测速模块 小车 移动小车&#xff08;控制电机转动&#xff0c;使小车前进、后退、左转、右转 &#xff09; 遥控小车&#xff08; 使…

详细介绍如何从零开始制作51单片机控制的智能小车(一)———让小车动起来

从本文开始&#xff0c;在之后的一段时间里&#xff0c;我会通过本系列文章&#xff0c;详细介绍如何从零开始用51单片机去实现智能小车的控制&#xff0c;本文作为本系列的第一篇文章&#xff0c;主要介绍如何让小车动起来。 本系列文章链接&#xff1a; ------------------…

乐观锁-基于CAS原理

乐观锁理论基础 乐观锁的操作过程中其实没有没有任何锁的参与&#xff0c;乐观锁只是和悲观锁相对&#xff0c;严格的说乐观锁不能称之为锁。下面我们就通过乐观锁与悲观锁的对比来更好的理解乐观锁。 乐观锁与悲观锁的概念 乐观锁&#xff1a;总是假设最好的情况…

JAVA CAS原理深度分析

CAS CAS:Compare and Swap, 翻译成比较并交换。 java.util.concurrent包中借助CAS实现了区别于synchronouse同步锁的一种乐观锁。 本文先从CAS的应用说起&#xff0c;再深入原理解析。 CAS应用 CAS有3个操作数&#xff0c;内存值V&#xff0c;旧的预期值A&#xff0c;要修…

CAS原理图

主要原理 1 用户第一次访问一个CAS 服务的客户web 应用时&#xff08;访问URL &#xff1a;http://192.168.1.90:8081/web1 &#xff09;&#xff0c;部署在客户web 应用的cas AuthenticationFilter &#xff0c;会截获此请求&#xff0c;生成service 参数 2 然后redirect 到C…

java---CAS原理分析详解

目录 一、什么是CAS 二、乐观锁与悲观锁 1.乐观锁出现原因 2.乐观锁 3.乐观锁的实现机制---CAS 三、JAVA对CAS的支持 首先演示实际的操作 上述过程的内部原理(java层面) 四、CAS缺陷 1.ABA问题 解决ABA问题 2.循环时间长开销大 3.只能保证一个变量的原子操作 4.解…

AQS和CAS原理

锁机制&#xff08;AQS和CAS&#xff09; 一、AQS 1、AQS原理 AQS&#xff1a;AbstractQuenedSynchronizer抽象的队列式同步器。是除了java自带的synchronized关键字之外的锁机制。     AQS的全称为&#xff08;AbstractQueuedSynchronizer&#xff09;&#xff0c;这个类…

CAS原理解析

什么是CAS cas全称为compareAndSwap&#xff0c;可以很清楚的翻译知道意思为“比较和交换”&#xff0c;字面意思其实就已经解释了CAS的实现原理 CAS简介 从jdk5开始&#xff0c;jdk提供了java.util.concurrent.*&#xff0c;此包下面的类在高并发场景下经常使用&#xff0c;包…

搞定CAS的原理,看这一篇就够了!

一、什么是CAS&#xff1f; CAS &#xff08;compareAndSwap&#xff09;&#xff0c;中文叫比较交换&#xff0c;是一种无锁原子算法&#xff0c;映射到操作系统就是一条CPU的原子指令&#xff0c;其作用是让CPU先进行比较两个值是否相等&#xff0c;然后原子地更新某个位置的…

深入理解vue.js双向绑定的实现原理

vue.js是MVVM&#xff08;模型到视图和视图到模型&#xff09;结构的&#xff0c;同类的还有AngularJs&#xff1b;至于MVC、MVP、MVVM的比较网上已经有很多了&#xff0c;这样不再重复。这篇文章将给大家深入的介绍vue.js双向绑定的实现原理&#xff0c;有需要的朋友们可以参考…

MVVM数据双向绑定

MVVM采用双向数据绑定&#xff0c;view中数据变化将自动反映到viewmodel上&#xff0c;反之&#xff0c;model中数据变化也将会自动展示在页面上。把Model和View关联起来的就是ViewModel。ViewModel负责把Model的数据同步到View显示出来&#xff0c;还负责把View的修改同步回Mo…

vue双向绑定的理解

什么是双向绑定 把Model绑定到View&#xff0c;当我们用JavaScript代码更新Model时&#xff0c;View就会自动更新。在单向绑定的基础上&#xff0c;用户更新了View&#xff0c;Model的数据也自动被更新了&#xff0c;这种情况就是双向绑定 如&#xff1a; 当用户填写表单时&a…

实现vue数据双向绑定

关注公众号&#xff0c;每天都能领外卖红包 关于vue数据双向绑定也是面试很喜欢问的题目了&#xff0c;这里讲下实现方式&#xff0c;效果图、源码、demo在文章末尾 首先看下vue的基本结构 <div id"app"> <div>{{a.b.c}}</div></div> n…

双向绑定原理

适合读者: 了解 MV* 架构模式 希望了解双向绑定原理 从MVC、MVVM说起 参考阮一峰老师的文章:http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html 流程:View根据Model展示页面,当页面发生操作时(commander),View传递指令到Controller层,Controller层根据comman…

Angular 双向绑定

Angular10教程--2.3 双向绑定 双向绑定大致可以分成两种类型&#xff1a;一、普通组件的双向绑定二、表单中的双向绑定[(ngModel)]单独使用表单元素在标签中使用 总结&#xff1a; 前面我们了解了属性绑定、事件绑定以及输入和输出的使用&#xff0c;是时候了解双向绑定了。本节…

理解双向绑定

这里是修真院前端小课堂&#xff0c;每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析前端知识/技能&#xff0c;本篇分享的是&#xff1a; 【 理解双向绑定】 大家好&#xff0c;我是IT修…

html双向绑定,双向绑定

单向绑定非常简单,就是把Model绑定到View,当我们用JavaScript代码更新Model时,View就会自动更新。 有单向绑定,就有双向绑定。如果用户更新了View,Model的数据也自动被更新了,这种情况就是双向绑定。 什么情况下用户可以更新View呢?填写表单就是一个最直接的例子。当用户…

数据双向绑定

#一、什么是双向绑定 我们先从单向绑定切入单向绑定非常简单&#xff0c;就是把Model绑定到View&#xff0c;当我们用JavaScript代码更新Model时&#xff0c;View就会自动更新双向绑定就很容易联想到了&#xff0c;在单向绑定的基础上&#xff0c;用户更新了View&#xff0c;M…