功能介绍:采用stm32单片机作为主控CPU,采用MQ3传感器采集酒精浓度,采用DS18B20采集温度,采用蓝牙HC-06模块进行数据上传,LCD1602显示相关数据,制作一个基于stm32单片机酒精浓度DS18B20温度检测LCD1602蓝牙上传,其中程序有中文注释,新手比较容易上手,文末有资料分享:

下面是实物演示视频和相关实物图片

60-基于stm32单片机酒精浓度DS18B20温度检测LCD1602蓝牙上传(程序+原理图+元件清单全套资料)

下面是程序部分展示(程序有中文注释,新手容易看懂)

程序部分展示:int main(void){     u16 adcx,temp;
              delay_init();         //延时函数初始化        LED_Init();           //LED端口初始化    uart_init(9600);    LCD1602_Init();Adc_Init();  while(1)  {      adcx=Get_Adc_Average(ADC_Channel_8,10);//读取MQ3浓度    adcx=(float)(adcx-500)/4096*3300;    if(adcx<0) adcx=0;    temp=DS18B20_Get_Temp()*10;//获取温度值      LCD_Write_Command(0x80);//第一行的首地址      LCD_Write_Date(' ');      LCD_Write_Date('M');      LCD_Write_Date('Q');      LCD_Write_Date('3');      LCD_Write_Date('=');      LCD_Write_Date(adcx%10000/1000+0x30);  //显示酒精浓度                LCD_Write_Date(adcx%1000/100+0x30);                  LCD_Write_Date(adcx%100/10+0x30);      LCD_Write_Date(adcx%10+0x30);       LCD_Write_Date('p');       LCD_Write_Date('p');       LCD_Write_Date('m');             LCD_Write_Command(0x80+0x40);      LCD_Write_Date('T');      LCD_Write_Date('E');      LCD_Write_Date('M');      LCD_Write_Date('P');      LCD_Write_Date('=');      LCD_Write_Date(temp%10000/1000+0x30);//显示温度      LCD_Write_Date(temp%1000/100+0x30);      LCD_Write_Date(temp%100/10+0x30);      LCD_Write_Date('.');      LCD_Write_Date(temp%10+0x30);      LCD_Write_Date(' ');      LCD_Write_Date('C');  printf("MQ3:%d ppm\r\n",adcx); //蓝牙模块发送酒精浓度  delay_ms(100);  printf("TEMP:%d",temp/10);   //发送温度整数  printf(".%d C\r\n",temp%10);//发送温度小数  delay_ms(100);}

程序打开办法:特别注意:下载资料包以后一定要先解压!(建议解压到桌面上,文件路径太深会导致程序打开异常),解压后再用keil5打开。

下面是原理图,采用【AD】altium designer打开,文件中有安装包

下面是用到的元器件清单

下面是资料包里面包含的相关文件展示

 百度云盘资料下载链接

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐