历史上的今天
今天是:2024年12月31日(星期二)
2019年12月31日 | 单片机循迹小车制作程序
2019-12-31 来源:51hei
该智能车采用红外传感器对赛道进行道路检测,单片机根据采集到的信号的不同状态判断小车当前状态,通过电机驱动芯片L298N发出控制命令,控制电机的工作状态以实现对小车姿态的控制。
本模型车的电路系统包括电源管理模块、单片机模块、传感器模块、电机驱动模块。其中采用AT89C52作为单片机控制芯片(5V),同时需要6V电源电机(L298N)和舵机、传感器、红外对管和电压比较器模块和7805稳压模块。
从而实现将红外采集模块中的红外发射接收对管检测路面上面的轨迹,并将轨迹信息送到单片机中去,单片机采用模糊推理求出转向的角度和行走速度,然后去控制行走部分,最终实现智能小车在规定路面上的轨迹行驶。
Altium Designer画的原理图和PCB图如下:
单片机源程序如下:
#include sbit IN3=P1^0; sbit IN4=P1^1; sbit IN1=P1^2; //sbit ENA=P1^3; //sbit ENB=P1^4; sbit IN2=P1^5; sbit D4=P0^4; sbit D1=P0^1; sbit D2=P0^2; sbit D3=P0^3; sbit D0=P0^0; sbit D5=P0^5; void qian() //前进 { IN1=1; IN2=0; IN3=1; IN4=0; } void you() //YOU { IN1=1; IN2=0; IN3=0; IN4=1; } void zuo() //ZUO { IN1=0; IN2=1; IN3=1; IN4=0; } void PWMinit() { CMOD=0X02;//"时钟源为1/2; " CL=CH=0X00; CCAPM0=0X42; CCAP0L=0X00; CCAP0H=0x00; CCAPM1=0x42; CCAP1H=0x00; CCAP1L=0x00; CR=1; } void PWMtiaojie(unsigned int num,int cex) //NUM"越大越快,调节范围为55~99",cex"电机0,电机1" { double i=256*(100-num)/100; switch(cex) { case 0: CCAP0L=i; CCAP0H=i; CCAPM0=0x42; break; case 1: CCAP1L=i; CCAP1H=i; CCAPM1=0x42; break; } } void main() { PWMinit(); while(1) { if(D1==1&&D3==1&&D2==1&&D0==1) { PWMtiaojie(25,0); PWMtiaojie(25,1); qian(); } if(D2==0||D3==0) { PWMtiaojie(1,0); PWMtiaojie(1,1); you(); } if(D1==0||D0==0) { PWMtiaojie(1,1); PWMtiaojie(1,0); zuo(); } } }
史海拾趣
|
我用CH7005将LCD信号转换成VGA输出,在640*480分辨率下能在VGA输出,但是在800*600分辨率下不能输出。 640*480分辨率的相关注册表配置如下:(谢谢知道的大侠指点下这些该怎么配置,下面的配置是借别人的配置)\"Clkval_TFT\"= DWORD:1 \"vbpd\" ...… 查看全部问答> |
|
keil uvision3 device list 里面没有LPC2148 想自己添加 keil uvision3 device list 里面没有LPC2148 想自己添加,但是在添加菜单里面不知道,最后options 应该怎么写,我是菜鸟高手帮帮忙,谢谢各位… 查看全部问答> |
|
如题,用CPLD做译码器,在选器件的时不明白其命名含义,例如EPM7128SQC100-15,最后的QC100-15中,代表的含义是什么呢?… 查看全部问答> |
|
我做了一个动态改变占空比的程序 现在要加上刹车功能 故障时封锁SPWM输出 但是我一使能刹车 SPWM就出不来 高手帮忙看一下 我哪设置不对吗 修给占空比我是在 TIM5的 ...… 查看全部问答> |
|
TI Cortex-M3 LM3S2965-EVM开发板用户手册与原理图,供大家参考! [ 本帖最后由 microli 于 2011-8-14 21:01 编辑 ]… 查看全部问答> |
|
我刚刚初学A V R 是一个新手 用的是AVR studio4 昨天买来单片机开发板,看着视频做 我把他的示例文件 自己用手动输了一遍 提示gcc plug-in: Error: Object file not found on expected location D:\\cyuyan\\de ...… 查看全部问答> |
|
求个16*64的LED点阵汉字显示 显示模式可以变换的 谢谢啊 急急急 我目前正在做 问题是遇到瓶颈了 想从做好的程序或者电路图里获得一些思考和想法 谢谢 16*64的LED点阵汉字显示 显示模式可以变换的 就是左移右移 模式通过按键可以变化的… 查看全部问答> |




