【基于51】红外寻迹智能小车 - 代码篇

51单片机实现智能小车的寻轨避障功能 我们先来讨论智能小车的各个模块: 1.电机驱动 2.寻迹传感器 它具有四个引脚,分别是:VCC  GND  D0  A0,我们只需要用到三个引脚,AO不需要使用。一般智能小车上我们是安装两个,左边一个右边一个。 原理: 1.利用黑色对光线的反射率小这个特点,当平面的颜色不是黑色时,反射器发射出去的红外光被大部分反射回来。于是传感器输出低电平0。 2.当平面中有一条黑线,传感 阅读详情


前言

关于硬件部分可以看我上次写的帖子https://blog.csdn.net/ZER00000001/article/details/124378788
#新人报道我是普通本科大一新生,因为兴趣爱好加入学校机器人协会,计划本学期挑战电赛|ू・ω・` )没想到疫情突发,只能匆匆用了一个星期入门51,做阶段性小项目,基于51智能红外寻迹小车,虽然论坛教程很多,但还是发此贴记录分享撸车的时光,也顺便做个引子给刚入门的同好们…


一、准备工作

1.安装keil 5
2.有一定的c语言基础
3.明白各模块工作原理,才能写逻辑

二、使用步骤

1.模块化编程

【视频教程:b站江科大自化协】我跟着这位老师入门的51,他讲的很好,其中教会了我模块化编程(可以有效降低代码耦合性,并且写下来思路非常清晰!!!),所以在接下的说明中我会按照这种方式来讲解代码( ̄▽ ̄)~*
(代码不成熟,仅供参考)

2.电机模块

这是电机模块,也就是控制轮子怎么转的。(如果你的电机反向,就把1和0交换位置)

#include <REGX52.H>

sbit IN1 = P1^0;//左轮
sbit IN2 = P1^1;//左轮
sbit IN3 = P1^2;//右轮
sbit IN4 = P1^3;//右轮

void Left_Motor_Forward()//左轮前进
{
   
   
	IN1 = 1;
	IN2 = 0;
}

void Right_Motor_Forward()//右轮前进
{
   
   
	IN3 = 1;
	IN4 = 0;
}
//////////////////////////////////////////////////////////
void Left_Motor_Back()//左轮后退
{
   
   
	IN1 = 0;
	IN2 = 1;
}

void Right_Motor_Back()//右轮后退
{
   
   
	IN3 = 0;
	IN4 = 1;
}
//////////////////////////////////////////////////////////
void Left_Motor_Stop()//左轮停
{
   
   
	IN1 = 0;
	IN2 = 0;
}

void Right_Motor_Stop()//右轮停
{
   
   
	IN3 = 0;
	IN4 = 0;
}

这是函数封装

#ifndef __MOTORSET_H__
#define __MOTORSET_H__


void Left_Motor_Forward();
void Right_Motor_Forward();
void Left_Motor_Back();
void Right_Motor_Back();
void Left_Motor_Stop();
void Right_Motor_Stop();

#endif

3.小车动作模块

利用封装好的电机模块对小车整体控制

循迹小车基本原理和代码实现 阅读详情

相关推荐

基于51单片机的智能小车(循迹、避障、蓝牙控制)

本项目可实现小车红外循迹,L298N电机驱动,红外避障,超声波避障,蓝牙控制等功能的切换。

dxt258013的博客 4万+

51智能小车(寻迹,超声波避障,蓝牙控制)

/设置定时器T1的工作方式-2,即8位自动装填定时器。1.电机接线我没有焊接导致导线老是掉下,浪费了几个小时(3个任务过程).2.蓝牙接线vcc与gnd接反导致蓝牙烧毁,只能借朋友的.TH1 = 0xFD;//波特率为9600。void receive()//执行蓝牙控制函数。//设置串口工作方式1。//使能串口接收允许位。//使能串行中断允许位。3.红外循迹的红外装置接反浪费了时间.4电池电容太小充了好几次电.

2402_87392672的博客 881

51单片机智能小车寻循迹代码

小车可以实现循迹(可以过直角,弯路,前进后退等情况以及PWNM调速等) 如想了解接线的请私聊作者 由于小车的情况比较复杂要考虑的东西很多,有时候接线不合适都跑不起来 如果遇到问题请私聊作者 话不多说直接上代码吧: //以下为代码段 #include"reg51.h" #include "intrins.h" typedef unsigned int u16; typedef unsigned char u8; sbit HIN1=P1^4;// P1.0Êä³öpwm sbit H

qq_56992543的博客 1万+

基于STM32的智能小车方案设计

智能循迹避障小车是基于自动引导机器人系统,用以实现小车自动识别路线,以及选择正确的路线。智能循迹小车是一个运用传感器、开发板、电机驱动及自动控制等技术来实现按照预先设定的模式下,不受人为管理时能够自动实现循迹导航的科技。 .........

君莫笑的博客 2万+

51单片机智能小车:寻迹与避障技术详解

51单片机,因其结构简单、成本低廉和易于学习,成为了电子爱好者的理想选择。它在智能小车项目中充当核心控制单元,能够执行复杂的功能,比如数据处理、环境感知和运动控制。组装智能小车是实施整个项目的开始。以下是组装和调试智能小车的基本步骤:组装硬件:按照电路图和原理图,将各个电子元件焊接到PCB上,或者使用面包板进行连接。上电测试:给小车供电,并检查是否有异常,比如烧毁元件或者短路。功能测试:分别测试每个模块的功能,确保各个模块都能正常工作。系统集成测试。

weixin_30653091的博客 1140

51单片机黑线寻迹智能小车基础教程

在智能小车项目中,调试工具的使用尤为重要,因为小车系统通常涉及硬件和软件的紧密配合。以下是一些常用的调试工具:GDB: 是一个广泛使用的调试器,能够对C/C++等语言编写的程序进行调试。串口调试助手: 用于监控串口通信数据,便于开发者检查数据传输是否正确。逻辑分析仪: 用于捕获和分析数字信号,非常适合调试并行和串行通信接口。JTAG调试器: 用于硬件层面的调试,能够访问微控制器的内部资源。IDE集成调试。

weixin_31419153的博客 949

STM32智能小车寻迹避障解析

本文深入解析基于STM32的智能小车实现技术,涵盖寻迹与避障的核心原理、传感器应用、电机控制及系统集成。通过红外传感器与超声波模块的数据采集,结合STM32的实时处理能力,构建感知—决策—执行闭环系统,详细阐述硬件选型、软件逻辑设计与常见问题优化方案。

c7d8e的博客 1325

STM32 BootLoader 入门教程:从原理到 APP 跳转实现

在 STM32 项目开发中,BootLoader 通常用于实现固件升级、程序引导和应用程序校验。本文从最基础的 BootLoader 原理开始,讲解 STM32 内部 Flash 分区设计、APP 地址偏移、向量表重定位、BootLoader 跳转 APP 的核心代码,以及实际开发中常见的问题。本文适合刚开始接触 STM32 BootLoader、IAP 在线升级、串口升级、OTA 升级的开发者阅读。

lidecong133的博客 1641

Oracle-如何修复undo坏快

undo出现坏快,导致数据库宕机,无法启动

qqqyyy0422的博客 567

【中软软件测试笔试题】中国软件与技术服务股份有限公司笔试一卷

请分别写出ISO7层架构,并分别说明TCP、UDP协议分别在处于哪一层,以及TCP、 UPD协议有什么区别。 答:7 应用层 6 表示层 5 会话层 4 传输层 3网络层 2 数据链路层 1 物理层 第四层;UDP是面向无连接、不可靠数据传输协议; TCP是面向连接、可靠数据传输协议......

Yanan990830的博客 1810

从零到一:如何用YOLOv8和PyQt5打造一个高效的路面坑洞检测系统

本文详细介绍了如何利用YOLOv8和PyQt5开发一个高效的路面坑洞检测系统。从环境配置、数据采集标注到模型训练优化,再到PyQt5界面开发与系统集成,提供了完整的实战指南。该系统结合深度学习技术,显著提升了道路检测的准确性和效率,适用于各类道路维护场景。

weixin_29047919的博客 304

微波传感器 - 从原理到实战,解锁非接触感知新维度

本文深入解析微波传感器的工作原理,重点阐述了其基于多普勒效应的非接触感知机制,并对比了红外、超声波等技术的优劣。通过树莓派Pico与RCWL-0516模块的实战案例,展示了如何构建区域入侵检测器,并探讨了微波传感器在智能家居、工业自动化及汽车电子等领域的广阔应用前景。

weixin_29306571的博客 218

【Matlab】matlab代码实现sph溃坝模拟

本文介绍了一个基于MATLAB的SPH溃坝模拟实现。代码使用平滑粒子流体动力学方法,通过建立1000个随机分布的粒子,计算粒子间的相互作用力来模拟流体运动。模拟过程包括初始化参数、粒子创建、密度压力更新、速度位置计算以及可视化展示。核心算法采用poly6Kernel和spikyKernelGradient函数处理粒子间作用力。该示例为二维简化模型,仅包含基本物理参数和计算流程,实际应用需进一步优化扩展。

unber的博客 202

YOLOv11低照度增强主干网络PE-YOLO:原理与完整实现教程

编码器部分# 解码器部分self.dec_conv2 = nn.Conv2d(512, 128, 3, padding=1) # 跳跃连接self.dec_conv3 = nn.Conv2d(256, 64, 3, padding=1) # 跳跃连接self.dec_conv4 = nn.Conv2d(128, 32, 3, padding=1) # 跳跃连接# 编码路径# 解码路径(带跳跃连接)

FJN110的博客 720

【IoT】压力式电子脉搏器设计

智能硬件

产品线负责人 1612

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

上一篇: 【基于51】红外寻迹智能小车-硬件篇
下一篇: 面试题旋转矩阵(两种方法分析及扩展)
小白还在写代码
博客等级 码龄5年 1247粉丝 34原创
评论 38
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

小白还在写代码

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

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

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

打赏作者

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

抵扣说明:

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

余额充值