基于STM32的汽车智能灯光控制系统
文章目录
- 前言
- 一、设计思路
- 二、代码实现
实物图:
前言
要实现的功能如下图:
一、设计思路
功能1:使用光敏电阻进行ADC的采集,判断环境。
功能2:设置两种模式,用标志位便可解决
功能3:采用超声波传感器测距,写一个if即可
功能4:设置两个按键
功能5:蓝牙串口
功能6:超声波与蜂鸣器
二、代码实现
主函数如下,.c.h太多了,想要的私信我吧
#include "stm32f10x.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "math.h"
#include "stdio.h"
#include "LED.h"
//#include "beep.h"
//#include "key.h"
#include "OLED.h"
#include "adc.h"
//#include "dht11.h"
#include "MS1100.h"
//#include "rtc.h"
#include "math.h"
#include "usart.h"
#include "dht11.h"
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "key.h"
#include "usart.h"
#include "exti.h"
#include "led.h"
#include "motor.h"
#include "timer.h"
#include "CSB.h"
#include "stm32f10x.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "math.h"
#include "stdio.h"
#include "LED.h"
#include "key.h"
#include "OLED.h"
#include "ADC.h"
#include "beep.h"
#include "math.h"
#include "usart.h"
#include "hc05.h"
#include "usart3.h" extern float UltrasonicWave_Distance;int main(void){u16 i=0,a=0,adcx7,b=0;float temp7;u16 reclen=0;vu8 key=0; u16 adcx;SystemInit();delay_init(); //ÑÓʱ³õʼ»¯NVIC_Configuration();uart_init(9600); //´®¿Ú³õʼ»¯LED_Init(); //LED¶Ë¿Ú³õʼ»¯KEY_Init(); //°´¼ü¶Ë¿Ú³õʼ»¯Timerx_Init(5000,7199); //10KhzµÄ¼ÆÊýƵÂÊ£¬¼ÆÊýµ½5000Ϊ500ms UltrasonicWave_Configuration(); //¶Ô³¬Éù²¨Ä£¿é³õʼ»¯BEEP_Init(); //³õʼ»¯·äÃùÆ÷¶Ë¿ÚNVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);KEY_Init(); Adc_Init(); HC05_Init();delay_ms(100);USART2_RX_STA=0;TIM3_PWM_Init(899,0);OLED_Init(); //³õʼ»¯LCD12864OLED_Clear();//ÇåÆÁ OLED_ShowCHinese(0,0,5);//ÖÐOLED_ShowCHinese(14,0,6);//ÖÐOLED_ShowString(28,1,":",4);OLED_ShowCHinese(0,2,13);//ÖÐOLED_ShowCHinese(14,2,14);//ÖÐOLED_ShowString(28,3,":",4);OLED_ShowCHinese(0,4,11);//ÖÐOLED_ShowCHinese(14,4,12);//ÖÐOLED_ShowString(30,5,":",4);LED0=0;LED1=0;while(1){adcx7=Get_Adc_Average(ADC_Channel_7,10);temp7=(float)adcx7*(3.3/4096);//ÕûÊý²¿·Öadcx7=temp7 ;temp7-=adcx7;//СÊý²¿·Ötemp7*=1000;UltrasonicWave_StartMeasure(); //¿ªÊ¼²â¾à£¬·¢ËÍÒ»¸ö>10usµÄÂö³å£¬È»ºó²âÁ¿·µ»ØµÄ¸ßµçƽʱ¼if(UltrasonicWave_Distance<5){BEEP=1;OLED_ShowCHinese(35,4,15);//ÖÐ} if(UltrasonicWave_Distance>20){BEEP=0;OLED_ShowCHinese(35,4,16);//ÖÐ }
if(b==0)
{ if(adcx7==1){TIM_SetCompare1(TIM3, 10);OLED_ShowCHinese(35,2,0);//ÖÐOLED_ShowCHinese(49,2,2);//ÖÐ`}if(adcx7==0){TIM_SetCompare1(TIM3, 1500);}
}if(KEY0==0)
{delay_ms(10);if(KEY0==0){a=1;LED0=1;LED1=0;OLED_ShowCHinese(35,0,7);//ÖÐOLED_ShowCHinese(49,0,8);//ÖÐ}}
if(KEY1==0)
{delay_ms(10);if(KEY1==0){a=2;LED1=1;LED0=0;OLED_ShowCHinese(35,0,9);//ÖÐOLED_ShowCHinese(49,0,10);//ÖÐ}
}
if(a==2)
{if(KEY2==0)
{delay_ms(10);if(KEY2==0){b=2;OLED_ShowCHinese(35,2,0);//ÖÐOLED_ShowCHinese(49,2,2);//ÖÐwhile(1){TIM_SetCompare1(TIM3, 10);if(KEY3==0||KEY0==0||KEY1==0 )break;}}if(UltrasonicWave_Distance<5){BEEP=1;OLED_ShowCHinese(35,4,15);//ÖÐ} }
if(KEY3==0)
{delay_ms(10);if(KEY3==0){b=1;while(1){TIM_SetCompare1(TIM3, 700);OLED_ShowCHinese(35,2,1);//ÖÐOLED_ShowCHinese(49,2,2);//ÖÐif(KEY2==0||KEY0==0||KEY1==0)break;}}}
}if(a==1){UltrasonicWave_StartMeasure(); //¿ªÊ¼²â¾à£¬·¢ËÍÒ»¸ö>10usµÄÂö³å£¬È»ºó²âÁ¿·µ»ØµÄ¸ßµçƽʱ¼if(UltrasonicWave_Distance<5){BEEP=1;OLED_ShowCHinese(35,4,15);//ÖÐ} if(UltrasonicWave_Distance>10&&UltrasonicWave_Distance<20){BEEP=0;OLED_ShowCHinese(35,2,3);//ÖÐOLED_ShowCHinese(49,2,4);//ÖÐOLED_ShowCHinese(35,4,16);//ÖÐfor(i=0;i<=1;i++){TIM_SetCompare1(TIM3, 700);delay_ms(5000);TIM_SetCompare1(TIM3, 10);delay_ms(5000);if(i==1)break;} }if(UltrasonicWave_Distance>20)
{BEEP=0;OLED_ShowCHinese(35,4,16);//ÖÐ
}
}if(USART2_RX_STA&0X8000) //½ÓÊÕµ½Ò»´ÎÊý¾ÝÁË{reclen=USART2_RX_STA&0X7FFF; //µÃµ½Êý¾Ý³¤¶Èprintf("%d\r\n",reclen);USART2_RX_BUF[reclen]=0; //¼ÓÈë½áÊø·ûif(reclen==1) //¿ØÖÆDS1¼ì²â{b=1;if(strcmp((const char*)USART2_RX_BUF,"0")==0) {TIM_SetCompare1(TIM3, 700);OLED_ShowCHinese(35,2,1);//ÖÐOLED_ShowCHinese(49,2,2);//ÖÐ}if(strcmp((const char*)USART2_RX_BUF,"1")==0){TIM_SetCompare1(TIM3,10);OLED_ShowCHinese(35,2,0);//ÖÐOLED_ShowCHinese(49,2,2);//ÖÐ}if(strcmp((const char*)USART2_RX_BUF,"2")==0) {BEEP=1;OLED_ShowCHinese(35,4,15);//ÖÐ}if(strcmp((const char*)USART2_RX_BUF,"3")==0){BEEP=0;OLED_ShowCHinese(35,4,16);//ÖÐ}} USART2_RX_STA=0; }
delay_ms(100); }
}
代码很简单,就是几个if。
基于STM32的汽车智能灯光控制系统相关推荐
- 基于 STM32 的语音识别智能家居控制系统的设计(LD3320语音识别芯片+ESP8266 WIFI模块+DHT11温湿度采集+MQ系列 烟雾及可燃气体+蜂鸣器+步进电机模拟窗帘+OLED液晶显示+
## **基于 STM32 的语音识别智能家居控制系统的设计(LD3320语音识别芯片+ESP8266 WIFI模块(阿里云 或ONENET或局域网)+DHT11温湿度采集+MQ系列 烟雾及可燃气体+ ...
- STM32开发实例 基于STM32单片机的教师灯光控制系统
一.系统设计 本次设计的是基于STM32F103C8T6单片机设计的一款教室灯光控制系统,系统内有光敏电阻模块采集教室内的光照强度,光电管检测教室内是否有人,通过按键可以直接控制开灯和关灯,通过ESP ...
- 基于Leap Motion的智能灯光控制系统
事先声明,本文涉及到的所有代码都是我毕业设计的内容,请勿转载. 准备工作 Arduino IDE.Processing.8*8 WS2812B.Leap Motion 其中,Arduino需要安装Ad ...
- 基于stm32的汽车智能充电桩设计/单片机/毕业设计/课程设计
一.概述 1.芯片型号为stm32f103c8t6; 2.软件平台keil5,AD10,陶晶池串口屏开发环境. 3.B站实际效果演示视频:https://www.bilibili.com/video/ ...
- 基于STM32单片机的智能鱼缸控制系统原理图PCB
功能介绍: 0.本系统采用STM32F103C8T6作为单片机 1.采用DS1302时钟芯片可实时显示时间,通过四个功能按键可设置投喂等操作定时时间 2.具有WiFi模块可以与手机进行数据传输通信 3 ...
- STM32单片机WIFI教室灯光控制系统人数自动灯光温度时间
实践制作DIY- GC0135-WIFI教室灯光控制系统 一.功能说明: 基于STM32单片机设计-WIFI教室灯光控制系统 二.功能介绍: 电路:STM32F103C最小系统板+DS18B20温度传 ...
- 基于ARM的智能灯光控制系统(4)数据结构
基于ARM的智能灯光控制系统(4)数据结构 嵌入式开发培训(阶段2)底层系统开发 视频地址 智能灯光控制系统 视频地址 主控后台服务程序 daemon.c 程序功能模块 #include <pt ...
- 基于ARM的智能灯光控制系统-----需求分析
基于ARM的智能灯光控制系统-----需求分析 项目实践流程: 1.设计项目需求文档 说明项目设计目的,项目功能,项目模块,实现技术. 2.项目编码设计 程序要求模块结构化(函数),编码风格良好,多文 ...
- 基于ARM的智能灯光控制系统(1)项目介绍
基于ARM的智能灯光控制系统(1)项目介绍 项目实践说明: 本实践项目是嵌入式开发培训(阶段2)底层系统开发视频课程的综合实践项目. 项目开发使用的技术知识点包括:C语言编程,文件编程,串口编程,网络 ...
- B40 - 基于STM32单片机的电热蚊香蓝牙控制系统
任务 本项目进行智能电热蚊香器系统的设计与开发,将STM32开发板作为一个微控制器,结合蓝牙技术,通过手机APP软件对电热蚊香器进行灵活的控制,使电热蚊香器的功能更加人性化,更加符合当代人们对家用电器 ...
最新文章
- 赫夫曼树建立c语言源程序编译结果详细解释,c语言构建哈夫曼树(附运行结果图)[本站推荐]...
- 通过图片优化,我将网站大小减少了62%
- 3月25日 JavaScript
- keil obj 文件 结构_OBJ文件格式详解
- boost::hana::if_用法的测试程序
- 读tomcat源码,随笔类图
- at命令不生效 linux_【干货】你不知道的 Linux 命令使用技巧
- win10安装misql8_Windows10安装MySQL 8.0.11
- 中国企业2017年数据_根据数据,2017年最好的免费在线课程
- Java BIO多人聊天室
- ***NSFileManager
- 银行家算法及其c++代码实现
- H5网页漫画小说苹果cms模板\支持对接公众号\支持三级分销
- 佛系程序员的月薪五万指南 -- 作者|李运华
- 2019计算机保研经验记录:南开软院、武大、信工所、南大软院、哈工深
- 计算机上如何使用文件管理器,苹果iphone iFiles文件管理器使用图文教程
- CMD 常用命令总结
- ALSA-ASOC音频驱动框架简述
- VectorMapNet | 端到端的矢量化高精地图学习
- Win7安装完成后对系统的优化设置
热门文章
- 二阶切比雪夫多项式实现(scala版、python版)
- SVN下载新的项目文件
- 屏幕录像软件哪个好用?怎么快速录制清晰无水印的视频?
- 有没有什么免费的网页视频录制软件?PC端视频录制软件集合
- 截图工具FastStone Capture
- 通过PPC来播放PC声音
- Qt_屏幕保护程序、进程监听、数据库读取、屏幕保护
- 中标麒麟安装php环境,中标麒麟V6下wine完美运行通达信
- “去面试,你敢不填登记表吗?”“不敢”
- 魔兽世界服务器维护后稀有宠物刷新,魔兽世界猎人稀有宠物图签与刷新方式时间介绍...