当前位置: 首页 > wzjs >正文

建立网站建设百度搜索推广平台

建立网站建设,百度搜索推广平台,网站服务器可以自己做吗,白云区做网站目录 前言: 一、项目介绍和演示视频 二、硬件需求准备 三、硬件框图 1. 原理图 2. PCB 四、CubeMX配置 五、代码框架 前言: 源代码下载链接: https://download.csdn.net/download/m0_74712453/90474701 需要实物的可以私信博主或者…

目录

前言:

一、项目介绍和演示视频

二、硬件需求准备

三、硬件框图

1. 原理图

2. PCB

四、CubeMX配置

五、代码框架


前言:

源代码下载链接:

  • https://download.csdn.net/download/m0_74712453/90474701

需要实物的可以私信博主或者在文章最下方添加好友。

一、项目介绍和演示视频

项目实物图:

项目演示视频:

基于STM32的火灾报警系统(阿里云平台)

二、硬件需求准备

  • STM32F103C8T6最小系统板
  • 0.96寸OLED屏幕
  • ESP88266-01s
  • DHT11温湿度模块
  • 火焰模块
  • 蜂鸣器
  • MQ2烟雾传感器
  • LED灯

三、硬件框图

1. 原理图

2. PCB

四、CubeMX配置

1、RCC配置外部高速晶振——HSE

2、SYS配置:Debug设置成Serial Wire

3、I2C配置:

4、串口配置:

5、TIM配置(开启中断):

 6、ADC配置:

7、GPIO口配置(蜂鸣器、LED、火焰传感器) :

8、时钟树配置:

最后我们生成工程即可。

五、代码框架

主体代码循环界面:

变量作用说明:看懂变量的作用是看懂代码的第一步:(代码中可能还有其他变量,那是后面便于增加项目功能的代码,有了它们就可以更便捷添加)

uint8_t datas[5];//空气温湿度数据 数组23为温度整数小数  数组01为湿度整数小数
extern unsigned int Beep_Slow;//蜂鸣器减速,定时器使用,得以控制蜂鸣器响的频率
extern int Beep_flag;//蜂鸣器开关标志位——着火了1,没着火0
extern unsigned char Beep_data;//蜂鸣器GPIO 1-开  0-关unsigned char Flame_flag = 0;//1-显示字体   0-不显示字体   实现字体闪烁现象
unsigned int Flame_Slow = 0;//定时器使用,字体闪烁频率实现

初始先连接热点,然后连接阿里云平台:

u8g2_t u8g2;//定义一个U8g2结构类型变量u8g2Init(&u8g2);//初始化屏幕//清屏u8g2_ClearBuffer(&u8g2);u8g2_SendBuffer(&u8g2);HAL_TIM_Base_Start_IT(&htim3);//开启定时器3中断HAL_UART_Receive_IT(&huart1, &buf, 1);//开启串口中断HAL_UART_Transmit(&huart1, "Hello\r\n", strlen("Hello]\r\n"),0xffff);Home_Draw(&u8g2);//显示开机页面Wifi_Connect();//WIFI连接u8g2DrawTest(&u8g2);//开机动画u8g2_ClearBuffer(&u8g2);u8g2_SendBuffer(&u8g2);/* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */Home_Menu(u8g2);//循环界面(循环判断,刷新页面)}

全部初始化好外设后,封装函数显示到屏幕上

//主页显示界面
void Home_Menu(u8g2_t u8g2)
{uint32_t Air = 0;while(1)//当前为第0菜单{Air = MQ2_data(u8g2, 0,  32, u8g2_font_ncenB10_tr);//打印MQ2模块的烟雾ADC转换数据Printf_DHT11(u8g2, 0,  0, u8g2_font_ncenB10_tr);//打印DHT11模块的温湿度数据u8g2_SendBuffer(&u8g2);u8g2_ClearBuffer(&u8g2);//刷新屏幕//火灾警报灯Beep();//处理蜂鸣器是否开关标志位if(Beep_flag == 1)//着火{HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9,GPIO_PIN_SET);//开灯}else{HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9,GPIO_PIN_RESET);//关灯}//是否开启蜂鸣器if(Beep_data == 1){if(Alarm_flag == 1)  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9,GPIO_PIN_RESET);}else if(Beep_data == 0){if(Alarm_flag == 1)  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9,GPIO_PIN_SET);}if(Data_Slow > 1500 && Data_Slow < 1800 && Beep_flag == 0)  //数据上传减速后发送数据{aliyun_Data_flag = 1;//允许上传数据aliyun_Data(datas[2], datas[0], Air);}else if(Data_Slow > 1500 && Data_Slow < 1800 && Beep_flag == 1 && aliyun_Data_flag == 1)//着火了发送99℃{aliyun_Data_Beeping(99,  0,  99);//允许发送数据,上传99aliyun_Data_flag = 0;//发送一次后停止发送}}}

MQ2模块封装函数内部: 

int MQ2_data(u8g2_t u8g2,u8g2_uint_t x, u8g2_uint_t y, const uint8_t *font)
{int value;char var_buff[100];char var_buff1[100];HAL_ADC_Start(&hadc1); //启动ADC单次转换HAL_ADC_PollForConversion(&hadc1, 50); //等待ADC转换完成value = HAL_ADC_GetValue(&hadc1); //读取ADC转换数据u8g2_DrawXBMP(&u8g2, x, y, 16, 16, kong);//显示字体u8g2_DrawXBMP(&u8g2, x+16, y, 16, 16, qi);u8g2_DrawXBMP(&u8g2, x+32, y, 16, 16, zhi);u8g2_DrawXBMP(&u8g2, x+48, y, 16, 16, liang);u8g2_DrawXBMP(&u8g2, x, y+16, 16, 16, huo);u8g2_DrawXBMP(&u8g2, x+16, y+16, 16, 16, yan);sprintf(var_buff, ": %dppm",value);  //显示ADC转换数据sprintf(var_buff1, ": ");u8g2_SetFont(&u8g2, font);u8g2_DrawStr(&u8g2, x+64, y+16, var_buff);u8g2_DrawStr(&u8g2, x+32, y+32, var_buff1);if(Beep_flag == 0)//显示火焰正常{u8g2_DrawXBMP(&u8g2, x+40, y+16, 16, 16, zheng);u8g2_DrawXBMP(&u8g2, x+56, y+16, 16, 16, chang);}else if(Beep_flag == 1)//着火,闪烁火焰不正常{if(Flame_flag == 0)//闪烁字体{}else if(Flame_flag == 1){u8g2_DrawXBMP(&u8g2, x+40, y+16, 16, 16, bu);u8g2_DrawXBMP(&u8g2, x+56, y+16, 16, 16, zheng);u8g2_DrawXBMP(&u8g2, x+72, y+16, 16, 16, chang);}}return value;
}

DHT11封装函数内部:

void Printf_DHT11(u8g2_t u8g2,u8g2_uint_t x, u8g2_uint_t y, const uint8_t *font)
{char var_buf[100];char var_buf1[100];Read_Data_From_DHT();//读取温湿度数据u8g2_DrawXBMP(&u8g2, x, y, 16, 16, kong);u8g2_DrawXBMP(&u8g2, x+16, y, 16, 16, qi);u8g2_DrawXBMP(&u8g2, x+32, y, 16, 16, wen);u8g2_DrawXBMP(&u8g2, x+48, y, 16, 16, du);u8g2_DrawXBMP(&u8g2, x, y+16, 16, 16, kong);u8g2_DrawXBMP(&u8g2, x+16, y+16, 16, 16, qi);u8g2_DrawXBMP(&u8g2, x+32, y+16, 16, 16, shi);u8g2_DrawXBMP(&u8g2, x+48, y+16, 16, 16, du);//	sprintf(var_buf , ": %d.%d C",datas[2],datas[3]);//显示小数sprintf(var_buf , ": %d C",datas[2]);sprintf(var_buf1, ": %d.%d %%",datas[0],datas[1]);//不显示小数u8g2_SetFont(&u8g2, font);//设置字体u8g2_DrawStr(&u8g2, x+64, y+16, var_buf);u8g2_DrawStr(&u8g2, x+64, y+32, var_buf1);
}

定时器减速,闪烁字体,滴答滴答蜂鸣器:

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)   //中断回调函数
{if(htim == (&htim3))//定时器3中断{Data_Slow++;//阿里云数据上传减速if(Data_Slow == 2000)  Data_Slow = 0;Working_Pro();}
}void Working_Pro()
{Key_Slow++;if(Key_Slow == 10)  Key_Slow = 0;//按键消抖if(Beep_flag == 1)//蜂鸣器开  着火了{Beep_Slow ++;Flame_Slow ++;if(Flame_Slow == 500)//火焰状态显示{Flame_Slow = 0;//复位Flame_flag ^= 1;//取反}if(Beep_Slow < 200 && Beep_data == 0){Beep_data = 1;//开}else if(Beep_Slow >= 200 && Beep_Slow < 400 && Beep_data == 1){Beep_data = 0;}else if(Beep_Slow >= 400 && Beep_Slow < 600 && Beep_data == 0){Beep_data = 1;}else if(Beep_Slow >= 600 && Beep_Slow < 1200 && Beep_data == 1){Beep_data = 0;}else if(Beep_Slow == 1200 && Beep_data == 0){Beep_Slow = 0;//复位}}else if(Beep_flag == 0)//蜂鸣器关{Beep_Slow = 0;Beep_data = 0;//关}
}

                                                                     👇🏻 需要实物 添加 博主👇🏻

http://www.dtcms.com/wzjs/71770.html

相关文章:

  • 泰兴市城乡建设管理局网站seo计费系统源码
  • 创新型的顺的网站制作小程序排名优化
  • 广州网站建设年底促销公司广告推广方案
  • 网站托管服务适用于百度seo是什么意思呢
  • 无障碍浏览网站怎么做黑帽seo是作弊手法
  • 长春网站建设费用社区推广
  • 万维建设网站互联网广告推广是做什么的
  • 深圳市门户网站建设哪家好qq引流推广软件免费
  • 多语种网站建设想做电商怎么入手
  • 做黄金的网站搜索百度网页版
  • 外贸做网站用什么日本产品和韩国产品哪个好
  • 官方网站下载12306营销推广怎么做
  • 文案做站内网站日常维护有哪些百度图片识别
  • 重庆可做网站 APP公司网站建设服务
  • 怎么才能创个网站广州seo代理
  • 找券网站怎么做b站2023年免费入口
  • 济南网站优化网站百度推广登陆网址
  • wordpress 分享网站山东省住房和城乡建设厅
  • 威宁住房和城乡建设局网站济南seo公司
  • 校园网站建设目标三门峡网站seo
  • 上海b2b网络推广外包南宁seo排名外包
  • 冠县网站建设价格推广引流最快的方法
  • 福田做网站报价seo扣费系统源码
  • 呼和浩特市网站公司电话百度网盘电脑版登录入口
  • 昆明专门做网站最近三天的新闻大事小学生
  • 云梦县城乡建设局网站百度竞价排名广告定价
  • 绍兴网站建设哪好seo收费还是免费
  • 网站被墙检测网址推广
  • 怎么做网站外贸海南百度推广代理商
  • 百度云wordpress怎么搭建china东莞seo