C51(蓝牙,红外)智能遥控小车
目录
1模块准备
2实现功能
1模块准备
三轮小车底盘
l298n电机驱动模块
51最小系统开发板
ds1302时钟模块
蓝牙串口模块hc-06
18650电池盒和电池组三节,12v左右
ds18b20温度传感器
红外接收头与遥控
lcd1602显示屏
ttl电机2只
2实现功能
小车由蓝牙模块和红外遥控控制运行轨迹,通过pwm功能调整小车的速度,同时lcd1602实时显示当前日期和时间和当前环境温度。
3模块功能详解
蓝牙模块:使用串口中断,中断号4,单片机接收到相应的指令后使小车执行相应功能。
红外遥控:使用外部中断,下降沿触发,首先得看懂红外接NEC收协议如下。
红外遥控器采用了NEC编码规则:
NEC 载波频率为 38Khz
引导码:9ms 高电平 + 4.5ms 低电平
0码 :0.56 ms 高电平 + 0.56 ms 低电平
1 码 : 0.56ms 高电平 + 1.68 ms 低电平
结束码 :0.56ms 高电平
数据帧格式:引导码 +识别码 + 识别码反码 + 键值 + 键值反码 + 结束码
重复帧格式:9ms 高电平 + 2.25ms低电平 + 结束位 + 结束码,总共110ms左右
整个完整数据格式:引导码 + 识别码 + 识别码反码 + 键值 + 键值反码 + 结束码+一段空闲时间+9ms 高电平 + 2.25ms低电平 + 结束位 + 结束码+重复码循环~~~
高位在前,即首先收到的是高位的数据
将接收到的数据码传给单片机执行相应的功能。
ds18b20温度传感器:首先先搞定传感器初始化后再进行写命令和读数据这些。
初始化步骤:先拉低io口480~960us,再把io拉高,判断io口在15~60us间是否变为低电平,如是则初始化成功,注意当超过一定时间后记得退出判断,否则会进入死循环。最后可以通过返回的i值知道是否初始化成功。(其他地方说读取到低电平后还要做延时处理,自己实测可以不加延时)
pwm控制车速(l298n):利用51的定时器在l298n输出pwm信号来控制小车的速度,pwm控制车速的原理是通过改变输出电机端口的电压,从而改变车轮的转速,那怎么改变电压值呢?毋庸置疑只能通过定时器,设置定时器在一个周期(100ms)中30ms让电机的端口输出高电平,剩下的70ms输出低电平,这样一来pwm的占空比就是0.3,假设你的电池组是6v的,这时电机的有效电压就是1.8v,这样就可以通过改变占空比来控制车速啦。
这个是对定时器的初始化,一开始我设的是650us后发生中断,pwm和pwm1分别是两个电机的pwm口。
当650us到达后就会进入中断,在中断里面判断当前pwm端口为1还是0,一开始设为0后进中断后就会执行else里的程序,重新给定时器设置计数时间350us,并把pwm端口置1,当350us到达后又会进入中断执行if里的语句,就这样一直重复。这样pwm的周期就为1000us,其中有效时间为350us,即占空比为350/1000=0.35。
C51(蓝牙,红外)智能遥控小车相关推荐
- ATmega16智能遥控小车
AVR-ATmega16智能遥控小车 AVR单片机相信不少的伙伴在大学的电设课中接触过,不像51单片机和32单片机的资料这么多,但是学校又要求去学,还要设计结题项目,这是最头疼的.该项目可以作为AVR ...
- 基于手机蓝牙的arduino遥控小车
遥控小车是每个人童年的最爱,不仅好奇它的奇妙,更是喜欢它带来的刺激.小编为大家带来几篇博客,来给大家讲讲制作遥控小车的程序. 看大标题可知我们一共有五个方法去制作一款带有遥控功能的小车,小编分开来给大 ...
- 1.树莓派、Python、STM32、上位机、局域网、PC智能遥控小车(含源码)
整体功能:电脑上观看小车前方画面,通过电脑方向键控制小车前后运动.左右转弯,如前进后退键,按下前进或后退,松开停车,左右同理 关键技术部分:PC端:使用pygame编写上位机,作为服务器 树莓派端:图 ...
- STM32智能遥控小车,超详细-附下载直接可以用,双电源跑贼快!
简介 小车的动力部分由4个带减速箱的电机,和两个L298N电机驱动模块组成. 通过STM32核心板控制电机驱动模块,JDY-31蓝牙模块与手机通讯. 总共三块电池,一块专门给单片机供电,另外两块串联在 ...
- 单片机智能遥控小车实战
能遥控小车实战 单片机视频教程 单机片实战 包含必学的视频教程+说明书 手册 原理图+参考实验 完美的单机片视频教程! 视频教程目录: 视频教程目录: 下载地址:关注wx公众号feixueteam
- Micropython教程之TPYBoard制作蓝牙+红外循迹小车
1.实验目的 学习在PC机系统中扩展简单I/O接口的方法. 进一步学习编制数据输出程序的设计方法. 学习蓝牙模块的接线方法及其工作原理. 学习L298N电机驱动板模块的接线方法. 学习蓝牙控制小车的工 ...
- 基于STM32+PS2的智能遥控小车
1.效果展示 2.物资清单 飞卡C车模(含直流减速电机和舵机).锂电池.PS2手柄+接收器.电源模块.STM32F407核心板.电机驱动模块.(由于之前参加过十六届的飞卡,像车模.锂电池.电源模块.驱 ...
- 51单片机智能小车(舵机云台超声波避障+循迹+蓝牙+红外跟随)
**51单片机智能小车(舵机云台超声波避障+循迹+蓝牙+红外跟随+遥控+TFT液晶显示屏) 本人由于使用的液晶显示屏,程序大于8K,所以更换为STC12C5A60S2芯片,与51芯片兼容. 功能比较多 ...
- STM32遥控小车下位机及硬件连接部分(Keil MDK5平台的C++编程)
STM32蓝牙控制小车 简介 一.硬件总体介绍 1. L298N电机驱动模块 2. JDY-31蓝牙模块 3. 电源组成 4. 单片机 二.单片机程序介绍 1. main.c文件 2. bluetoo ...
最新文章
- 轻松搞定Retrofit不同网络请求方式的请求参数配置,及常用注解使用
- 2.2.5 调度算法:时间片轮转 优先级调度 多级反馈队列
- c# 按位与,按位或
- 少儿编程100讲轻松学python(十一)-python如何保留小数点位数
- google i/o_Google I / O 2017最有希望的突破
- leetcode5086:smallest-subsequence-of-distinct-characters
- vue 打包后本地先自己启动服务 anywhere 非常好用
- oracle创建dblink问题
- 小菜找实习——阿里3月20日笔试第二题
- 中国通信业:那些年,我们给用户挖的坑
- 使用maven打jar包
- Linux C/C++实现时间戳转换工具
- ASO优化方法_获取ASO关键词指数接口
- shopnc定时任务
- “学习金字塔”的真与假
- 《UEFI内核导读》ACPI编程入门
- redis的持久化方式RDB和AOF的区别
- 回顾 丨破解初创科技企业的融资问题思享会
- Cause: java.sql.SQLException: SQL String cannot be empty 解决方案
- 关于压缩工具7-zip的7z脚本用法
热门文章
- 大家尽管鄙视这种人吧!
- 考研的同学值得看看【转载】
- 【7-2 杨辉三角】求杨辉三角的前n行数据。 输入格式: 输入n(n<10)值。 输出格式: 输出杨辉三角的前n行数据,每个数据占4列。
- 【sketchup 2021】草图大师的高级工具使用1【不透明度高级使用、填充材质高级使用】
- Mac系统下Jmeter的下载、安装、及环境变量配置
- 烟大计算机考研二战,考研那点事儿:为参加过“二战”的韩文鼎师兄点赞!有志者事竟成,破釜沉舟,百二秦关终属楚;苦心人天不负,卧薪尝胆,三千越甲可吞吴。...
- Wonderware-InTouch 历史报警过滤器无弹窗关键字筛查
- 一文览尽2017年下半年机器人行业融资大事件
- 【python接口自动化】csdn涨薪技术- DDT数据驱动测试
- 【数据库05】SQL高级处理