51单片机智能小车——蓝牙切换循迹避障并测速oled显示

本文介绍了一款基于51单片机的智能小车,具备蓝牙遥控切换功能,能实现红外循迹、避障及测速。小车配备OLED显示屏,用于实时显示速度和状态。通过L9110S电机驱动模块控制电机,使用红外传感器进行避障和循迹,还包含了测速模块的设计与实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、功能介绍以及硬件准备

蓝牙切换功能:智能小车内置了蓝牙模块,可以通过手机或其他蓝牙设备与之连接。用户可以通过手机发送指令控制小车的运动方向,实现远程控制。

循迹功能:智能小车配备了红外线传感器,可以实现循迹功能。通过检测地面上的黑线或白线,小车能够自动沿着线路行驶,实现自动导航功能。

避障功能:智能小车搭载了红外避障传感器,能够检测前方的障碍物。当检测到障碍物时,小车会自动停下或转向,以避免碰撞,确保安全行驶。

测速功能:智能小车集成了电机编码器或其他测速装置,可以准确测量车轮的转速。通过测速功能,可以实现小车的速度监测和调节,提供更加精确的运动控制。

OLED显示功能:智能小车配备了OLED显示屏,可以实时显示各种信息,如速度、电量、运行状态等。通过OLED显示屏,用户可以方便地获取小车的工作状态和相关数据。

硬件准备

小车底盘一个(四驱),5号4节电池盒一个,51单片机一个,红外避障模块传感器两个,红外光电反射传感器两个,L9110S电机驱动模块,测速传感器一个,HC—05/06从机JDY-31蓝牙模块一个,0.96寸OLED屏幕一个,杜邦线若干,热熔胶枪一个,也可以再准备一个面包板。

二、电机控制

关于电机控制选用的是L9110s电机驱动模块。模块通常的引脚就是VCC,GND,以及其他的控制或信号引脚。VCC就是模块的电源正极,接到单片机最小系统的VCC引脚上。GND就是模块的负极,接到单片机最小系统的GND引脚上。剩下的引脚就接到单片机的IO口上即可。

 motor.c

#include "reg52.h"
#include "motor.h"

sbit RightCon1A = P1^0;
sbit RightCon1B = P1^1;

sbit LeftCon1A = P1^2;
sbit LeftCon1B = P1^3;

sbit RightCon2A = P1^4;
sbit RightCon2B = P1^5;

sbit LeftCon2A= P1^6;
sbit LeftCon2B = P1^7;




void goForward()
{
	LeftCon1A = 0;
	LeftCon1B = 1;
	
	RightCon1A = 0;
	RightCon1B = 1;
	
	LeftCon2A = 0;
	LeftCon2B = 1;
	
	RightCon2A = 0;
	RightCon2B = 1;
}

void goRight()
{
	LeftCon1A = 0;
	LeftCon1B = 1;
	
	RightCon1A = 0;
	RightCon1B = 0;
	
	LeftCon2A = 0;
	LeftCon2B = 1;
	
	RightCon2A = 0;
	RightCon2B = 0;
}


void goLeft()
{
	LeftCon1A = 0;
	LeftCon1B = 0;
	
	RightCon1A = 0;
	RightCon1B = 1;
	
	LeftCon2A = 0;
	LeftCon2B = 0;
	
	RightCon2A = 0;
	RightCon2B = 1;
}

void goBack()
{
	LeftCon1A = 1;
	LeftCon1B = 0;
	
	RightCon1A = 1;
	RightCon1B = 0;
	
	LeftCon2A = 1;
	LeftCon2B = 0;
	
	RightCon2A = 1;
	RightCon2B = 0;
}

void stop()
{
	LeftCon1A = 0;
	LeftCon1B = 0;
	
	RightCon1A = 0;
	RightCon1B = 0;
	
	LeftCon2A = 0;
  LeftCon2B = 0;
	
	RightCon2A = 0;
	RightCon2B = 0;
}

三、蓝牙控制

 使用51单片机的开发环境(如Keil C等),编写程序来控制小车的运动。首先,初始化蓝牙模块和其他传感器,并设置相关参数。然后,通过蓝牙模块接收来自手机或其他蓝牙设备的指令,解析指令并根据具体要求控制小车的运动。可以定义不同的指令代表不同的动作,例如前进、后退、转向等。

main.c

#include "reg52.h"
#include "motor.h"
#include "delay.h"
#include "uart.h"
#include "bizhang.h
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值