51“motorrr”寻迹小车学习1电机和寻迹模块
目录
一 硬件
二 软件
前几天完成了寻迹小车的电机和寻迹模块的学习,这里板子用的是51最小系统板。
一 硬件
电机驱动模块L298N 和 寻迹模块
其实也没什么,pwm控制速度再加上寻迹模块,主要是遇见了一些玄学问题,这里来总结一下:
1.用下载器烧不进程序,总显示什么芯片加载超时==,解决方法:用51板子烧进去芯片再按上去就好了,(注意芯片的方向不要按反)就是比较麻烦。。
2.按进去芯片之后,上边那个数码管的数字一闪一闪的,车有想动的趋势但是不动,差点想把车拆了换个芯片重新装了,结果发现是芯片按的位置原因,应该把芯片按在正中间,试过了,最左最右都不行。
3.实现不了pwm调速,总是以最大引脚速度走,是那个跳线帽的原因,把跳线帽拔掉连上pwm的线就好了。
4.注意l298n的连线,12V GND(板子的GND和电池负极) 5V 。还有最好先检查一下锂电池有没有问题。。。还有,用下载器连上电脑之后,别开单片机的开关,然后电脑就会直接黑屏(可能是之前接线有问题)。。
二 软件
管脚定义:
电机:前左右停 左大转 右大转
速度自己调
//前进 停止
#define l_forward {IN1=1,IN2=0;}//左1
#define l_stop {IN1=0,IN2=0;}
#define l_back {IN1=0,IN2=1;}#define ll_forward {IN3=1,IN4=0;}//左2
#define ll_stop {IN3=0,IN4=0;}
#define ll_back {IN3=0,IN4=1;}#define r_forward {IN11=1,IN22=0;}//右1
#define r_stop {IN11=0,IN22=0;}
#define r_back {IN11=0,IN22=1;}#define rr_forward {IN33=1,IN44=0;}//右2
#define rr_stop {IN33=0,IN44=0;}
#define rr_back {IN33=0,IN44=1;}
void forward()
{left=12;lleft=12;right=12;rright=12;l_forward;ll_forward;r_forward;rr_forward;
}void turn_right()//右
{left=18;lleft=18;right=40;rright=40;l_forward;ll_forward;r_back;rr_back;
}void turn_left()
{left=40;lleft=40; right=18;rright=18;l_back;ll_back;r_forward;rr_forward;
}void stop()
{l_stop;ll_stopr_stop;rr_stop;
}void turn_big_right()//右
{left=18;lleft=18;right=50;rright=50;l_forward;ll_forward;r_back;rr_back;
}void turn_big_left()
{left=50;lleft=50; right=18;rright=18;l_back;ll_back;r_forward;rr_forward;
}
unsigned char count=0,count1=0,count2=0,count3=0;//计数值
unsigned char left=0,lleft=0; //左边的比较值
unsigned char right=0,rright=0;//右边的比较值
中断里面:计数值++
四个电机调速(小于比较值为0 大于比较值为1 大于100为0) 都一样。
寻迹模块:可能还需要加,这个效果还行。
void xunji()
{if(D1==0&&D2==0&&D3==0&&D4==0) {forward();}if(D1==1&&D2==1&&D3==1&&D4==1) {stop();}if(D2==0&&D3==1) {turn_right();}if(D2==1&&D3==0) {turn_left();}if(D2==1&&D3==1) {forward();}if(D1==1&&D2==0&&D3==0&&D4==0) {turn_big_left();}if(D1==0&&D2==0&&D3==0&&D4==1) {turn_big_right();}
}
电机和寻迹模块差不多就这些了,有别的再补充,==。
51“motorrr”寻迹小车学习1电机和寻迹模块相关推荐
- 简单循迹小车实验心得_智能循迹小车总结 智能循迹小车报告.doc
智能循迹小车总结 智能循迹小车报告 西京学院 自动化1002班 概要 本寻迹小车是以万能板为车架,STC12C5A60S2单片机为控制核心,将各传 感器的信号传至单片机分析处理,从而控制 L293D电 ...
- 基于51单片机的寻迹小车
智能车刚入门,前段时间制作了一个51寻迹小车,就是网上那种寻迹是用四个红外传感器,驱动是L298N,主板是自己焊接的51最小系统加了一个7805将电池的7.2v稳压成5v(虽然我直接用的电池电压),原 ...
- 嵌入式系统自动寻迹小车报告
<嵌入式系统实践>报告 项目名称:自动循迹小车 专 业:自动化 班 级:183班 学 号:2420182344 姓 名:朱明 电气工程与自动化学院 - <嵌入式系统实践(2)> ...
- c语言小车寻迹实训报告,循迹小车项目实训报告.doc
循迹小车项目实训报告 寻迹小车的设计与制作实训报告 课程名称: C51程序设计 EDA技术 专业班级: 应电0935班 指导老师: 方跃春 谭刚林 小组成员: 黄春桥 汤政 孙巍明 阳毅 实训项目要求 ...
- STM32f4日记8之四轮三路寻迹小车实验(小车实验二:红外模块检测寻迹(左拐,右拐,前进,停止))
STM32f4日记8之四轮三路寻迹小车实验(小车实验二:红外模块检测寻迹(左拐,右拐,前进,停止)) 板子:stm32f407zgt6正点原子迷你版 作者:shawn 2021.2.14(大年初三) ...
- 循迹小车智能搬运:调车篇
循迹小车智能搬运:调车篇 文章目录 循迹小车智能搬运:调车篇 前言 一.调车的原则 二.调车步骤 1.走直线 1.传感器的位置 2.电机的转速 3.修正函数的好坏 2.左右转90° 3.在十字路口停下 ...
- 超声波模块详细介绍(stm32循迹小车中超声波的介绍)
超声波模块详细介绍(stm32循迹小车中超声波的介绍) 超声波模块是非常重要的一个模块,今天给大家全面介绍一下超声波模块的原理以及用法,代码的编写. 1 超声波模块的认识 首先,市面上的常见超声波模块 ...
- c32循迹小车c语言程序,stm32篇--小车循迹
小车的循迹算法 循迹小车使用红外对射寻黑线,根据轨道的不同,我使用了两种不同算法: (1)第一种是在轨道外有影响的,比如轨道外有黑色,车出去一点就会碰到黑色,那就是检测到歪了之后除非检测它 回来了,否 ...
- 基于51单片机的智能小车(寻迹功能)
题目:基于C52的智能小车设计与制作 1设计目的 通过构建智能小车,培养设计并实现自动控制系统的能力,在实践过程中,熟悉以单片机为核心控制芯片,设计小车的检测,驱动和显示等外围电路,采用智能控制算法实 ...
最新文章
- 2019年上半年收集到的人工智能开源框架介绍文章
- 清华大学:人工智能之知识图谱(附PPT)
- phoenix 开发API系列(二)phoenix 各类 api 实现方式
- 分享一点python 编码设置的知识
- 关于SQL Server 数据库归档的一些思考和改进
- layui数据表格自定义复选框表头_layui中table表头样式修改方法
- 表格过滤器_记录和管理零散信息,什么软件比 Excel 表格更方便
- Scrapy 框架【学习笔记01】
- DB2时间函数 实现 时间加减
- Python中的一些特殊函数
- 在你的 Linux 桌面嵌入终端窗口
- postgresql-9.6.6主从
- 百度前端学院--小薇学院--任务05
- C语言二叉排序树的中序遍历,C语言实现二叉树的中序线索化及遍历中序线索二叉树...
- 电脑快捷键大全 Alt
- 矩阵的分解——LU分解
- 不要去打扰别人的幸福
- 编写一个学生和教师数据的输入和显示程序,学生数据有编号、姓名、班号和成绩,教师数据有编号、姓名、职称和部门
- Gitlab与Jaeger集成,实现Tracing链路追踪
- Git提交记住用户名和密码
热门文章
- 王半仙儿的日记-0002
- PTA_2019春_电话聊天狂人
- 联想安装Ubuntu16.04LTS(双系统)知识点汇总(六个小时才下好
- Unity3D游戏开发之快速打造流行的关卡系统
- 忘记开机密码怎么开机
- 读 Lua Documentation
- ubuntu18.04 alt+ctrl+t 无响应解决方法
- 数据通信基础(1)-数据通信概念、通信系统模型及通信方式
- 关于人体的冷知识科普,真有趣,完全颠覆了你的认知。
- 计算机无法连接iphone,iphone6连接电脑没反应怎么回事?iphone6连接电脑没反应的解决方法...