文章目录

  • 前言
  • 一、设计思路
  • 二、代码实现

实物图:

前言

要实现的功能如下图:

一、设计思路

功能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的汽车智能灯光控制系统相关推荐

  1. 基于 STM32 的语音识别智能家居控制系统的设计(LD3320语音识别芯片+ESP8266 WIFI模块+DHT11温湿度采集+MQ系列 烟雾及可燃气体+蜂鸣器+步进电机模拟窗帘+OLED液晶显示+

    ## **基于 STM32 的语音识别智能家居控制系统的设计(LD3320语音识别芯片+ESP8266 WIFI模块(阿里云 或ONENET或局域网)+DHT11温湿度采集+MQ系列 烟雾及可燃气体+ ...

  2. STM32开发实例 基于STM32单片机的教师灯光控制系统

    一.系统设计 本次设计的是基于STM32F103C8T6单片机设计的一款教室灯光控制系统,系统内有光敏电阻模块采集教室内的光照强度,光电管检测教室内是否有人,通过按键可以直接控制开灯和关灯,通过ESP ...

  3. 基于Leap Motion的智能灯光控制系统

    事先声明,本文涉及到的所有代码都是我毕业设计的内容,请勿转载. 准备工作 Arduino IDE.Processing.8*8 WS2812B.Leap Motion 其中,Arduino需要安装Ad ...

  4. 基于stm32的汽车智能充电桩设计/单片机/毕业设计/课程设计

    一.概述 1.芯片型号为stm32f103c8t6; 2.软件平台keil5,AD10,陶晶池串口屏开发环境. 3.B站实际效果演示视频:https://www.bilibili.com/video/ ...

  5. 基于STM32单片机的智能鱼缸控制系统原理图PCB

    功能介绍: 0.本系统采用STM32F103C8T6作为单片机 1.采用DS1302时钟芯片可实时显示时间,通过四个功能按键可设置投喂等操作定时时间 2.具有WiFi模块可以与手机进行数据传输通信 3 ...

  6. STM32单片机WIFI教室灯光控制系统人数自动灯光温度时间

    实践制作DIY- GC0135-WIFI教室灯光控制系统 一.功能说明: 基于STM32单片机设计-WIFI教室灯光控制系统 二.功能介绍: 电路:STM32F103C最小系统板+DS18B20温度传 ...

  7. 基于ARM的智能灯光控制系统(4)数据结构

    基于ARM的智能灯光控制系统(4)数据结构 嵌入式开发培训(阶段2)底层系统开发 视频地址 智能灯光控制系统 视频地址 主控后台服务程序 daemon.c 程序功能模块 #include <pt ...

  8. 基于ARM的智能灯光控制系统-----需求分析

    基于ARM的智能灯光控制系统-----需求分析 项目实践流程: 1.设计项目需求文档 说明项目设计目的,项目功能,项目模块,实现技术. 2.项目编码设计 程序要求模块结构化(函数),编码风格良好,多文 ...

  9. 基于ARM的智能灯光控制系统(1)项目介绍

    基于ARM的智能灯光控制系统(1)项目介绍 项目实践说明: 本实践项目是嵌入式开发培训(阶段2)底层系统开发视频课程的综合实践项目. 项目开发使用的技术知识点包括:C语言编程,文件编程,串口编程,网络 ...

  10. B40 - 基于STM32单片机的电热蚊香蓝牙控制系统

    任务 本项目进行智能电热蚊香器系统的设计与开发,将STM32开发板作为一个微控制器,结合蓝牙技术,通过手机APP软件对电热蚊香器进行灵活的控制,使电热蚊香器的功能更加人性化,更加符合当代人们对家用电器 ...

最新文章

  1. 赫夫曼树建立c语言源程序编译结果详细解释,c语言构建哈夫曼树(附运行结果图)[本站推荐]...
  2. 通过图片优化,我将网站大小减少了62%
  3. 3月25日 JavaScript
  4. keil obj 文件 结构_OBJ文件格式详解
  5. boost::hana::if_用法的测试程序
  6. 读tomcat源码,随笔类图
  7. at命令不生效 linux_【干货】你不知道的 Linux 命令使用技巧
  8. win10安装misql8_Windows10安装MySQL 8.0.11
  9. 中国企业2017年数据_根据数据,2017年最好的免费在线课程
  10. Java BIO多人聊天室
  11. ***NSFileManager
  12. 银行家算法及其c++代码实现
  13. H5网页漫画小说苹果cms模板\支持对接公众号\支持三级分销
  14. 佛系程序员的月薪五万指南 -- 作者|李运华
  15. 2019计算机保研经验记录:南开软院、武大、信工所、南大软院、哈工深
  16. 计算机上如何使用文件管理器,苹果iphone iFiles文件管理器使用图文教程
  17. CMD 常用命令总结
  18. ALSA-ASOC音频驱动框架简述
  19. VectorMapNet | 端到端的矢量化高精地图学习
  20. Win7安装完成后对系统的优化设置

热门文章

  1. 二阶切比雪夫多项式实现(scala版、python版)
  2. SVN下载新的项目文件
  3. 屏幕录像软件哪个好用?怎么快速录制清晰无水印的视频?
  4. 有没有什么免费的网页视频录制软件?PC端视频录制软件集合
  5. 截图工具FastStone Capture
  6. 通过PPC来播放PC声音
  7. Qt_屏幕保护程序、进程监听、数据库读取、屏幕保护
  8. 中标麒麟安装php环境,中标麒麟V6下wine完美运行通达信
  9. “去面试,你敢不填登记表吗?”“不敢”
  10. 魔兽世界服务器维护后稀有宠物刷新,魔兽世界猎人稀有宠物图签与刷新方式时间介绍...