目录

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(蓝牙,红外)智能遥控小车相关推荐

  1. ATmega16智能遥控小车

    AVR-ATmega16智能遥控小车 AVR单片机相信不少的伙伴在大学的电设课中接触过,不像51单片机和32单片机的资料这么多,但是学校又要求去学,还要设计结题项目,这是最头疼的.该项目可以作为AVR ...

  2. 基于手机蓝牙的arduino遥控小车

    遥控小车是每个人童年的最爱,不仅好奇它的奇妙,更是喜欢它带来的刺激.小编为大家带来几篇博客,来给大家讲讲制作遥控小车的程序. 看大标题可知我们一共有五个方法去制作一款带有遥控功能的小车,小编分开来给大 ...

  3. 1.树莓派、Python、STM32、上位机、局域网、PC智能遥控小车(含源码)

    整体功能:电脑上观看小车前方画面,通过电脑方向键控制小车前后运动.左右转弯,如前进后退键,按下前进或后退,松开停车,左右同理 关键技术部分:PC端:使用pygame编写上位机,作为服务器 树莓派端:图 ...

  4. STM32智能遥控小车,超详细-附下载直接可以用,双电源跑贼快!

    简介 小车的动力部分由4个带减速箱的电机,和两个L298N电机驱动模块组成. 通过STM32核心板控制电机驱动模块,JDY-31蓝牙模块与手机通讯. 总共三块电池,一块专门给单片机供电,另外两块串联在 ...

  5. 单片机智能遥控小车实战

    能遥控小车实战 单片机视频教程 单机片实战 包含必学的视频教程+说明书 手册 原理图+参考实验 完美的单机片视频教程! 视频教程目录: 视频教程目录: 下载地址:关注wx公众号feixueteam

  6. Micropython教程之TPYBoard制作蓝牙+红外循迹小车

    1.实验目的 学习在PC机系统中扩展简单I/O接口的方法. 进一步学习编制数据输出程序的设计方法. 学习蓝牙模块的接线方法及其工作原理. 学习L298N电机驱动板模块的接线方法. 学习蓝牙控制小车的工 ...

  7. 基于STM32+PS2的智能遥控小车

    1.效果展示 2.物资清单 飞卡C车模(含直流减速电机和舵机).锂电池.PS2手柄+接收器.电源模块.STM32F407核心板.电机驱动模块.(由于之前参加过十六届的飞卡,像车模.锂电池.电源模块.驱 ...

  8. 51单片机智能小车(舵机云台超声波避障+循迹+蓝牙+红外跟随)

    **51单片机智能小车(舵机云台超声波避障+循迹+蓝牙+红外跟随+遥控+TFT液晶显示屏) 本人由于使用的液晶显示屏,程序大于8K,所以更换为STC12C5A60S2芯片,与51芯片兼容. 功能比较多 ...

  9. STM32遥控小车下位机及硬件连接部分(Keil MDK5平台的C++编程)

    STM32蓝牙控制小车 简介 一.硬件总体介绍 1. L298N电机驱动模块 2. JDY-31蓝牙模块 3. 电源组成 4. 单片机 二.单片机程序介绍 1. main.c文件 2. bluetoo ...

最新文章

  1. 轻松搞定Retrofit不同网络请求方式的请求参数配置,及常用注解使用
  2. 2.2.5 调度算法:时间片轮转 优先级调度 多级反馈队列
  3. c# 按位与,按位或
  4. 少儿编程100讲轻松学python(十一)-python如何保留小数点位数
  5. google i/o_Google I / O 2017最有希望的突破
  6. leetcode5086:smallest-subsequence-of-distinct-characters
  7. vue 打包后本地先自己启动服务 anywhere 非常好用
  8. oracle创建dblink问题
  9. 小菜找实习——阿里3月20日笔试第二题
  10. 中国通信业:那些年,我们给用户挖的坑
  11. 使用maven打jar包
  12. Linux C/C++实现时间戳转换工具
  13. ASO优化方法_获取ASO关键词指数接口
  14. shopnc定时任务
  15. “学习金字塔”的真与假
  16. 《UEFI内核导读》ACPI编程入门
  17. redis的持久化方式RDB和AOF的区别
  18. 回顾 丨破解初创科技企业的融资问题思享会
  19. Cause: java.sql.SQLException: SQL String cannot be empty 解决方案
  20. 关于压缩工具7-zip的7z脚本用法

热门文章

  1. 大家尽管鄙视这种人吧!
  2. 考研的同学值得看看【转载】
  3. 【7-2 杨辉三角】求杨辉三角的前n行数据。 输入格式: 输入n(n<10)值。 输出格式: 输出杨辉三角的前n行数据,每个数据占4列。
  4. 【sketchup 2021】草图大师的高级工具使用1【不透明度高级使用、填充材质高级使用】
  5. Mac系统下Jmeter的下载、安装、及环境变量配置
  6. 烟大计算机考研二战,考研那点事儿:为参加过“二战”的韩文鼎师兄点赞!有志者事竟成,破釜沉舟,百二秦关终属楚;苦心人天不负,卧薪尝胆,三千越甲可吞吴。...
  7. Wonderware-InTouch 历史报警过滤器无弹窗关键字筛查
  8. 一文览尽2017年下半年机器人行业融资大事件
  9. 【python接口自动化】csdn涨薪技术- DDT数据驱动测试
  10. 【数据库05】SQL高级处理