色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于STM32設計的酒精檢測儀

DS小龍哥-嵌入式技術 ? 來源:DS小龍哥-嵌入式技術 ? 作者:DS小龍哥-嵌入式技 ? 2023-06-18 14:17 ? 次閱讀

一、需求分析

隨著社會的發展和生活水平的提高,人們對于行車安全、家庭安全的要求越來越高,而酒駕等問題也日漸突出,為此,開發一款基于STM32的酒精檢測儀,通過檢測酒精濃度,實時顯示結果并進行報警,可以有效避免因酒后駕車帶來的安全隱患。

二、設計思路

2.1 硬件設計

1、主控芯片采用STM32F103RCT6,該芯片具有較高的性能和穩定性,能夠滿足本設計的各項需求。

2、酒精傳感器采用MQ-3模塊,該模塊具有高精度、響應速度快等特點,能夠準確檢測酒精濃度。

3、OLED顯示屏,用于實時顯示酒精濃度等信息

4、蜂鳴器,用于進行聲音報警。

5、按鍵,用于設定報警閾值。

2.2 軟件設計

1、IO口配置:將相應的IO口配置為輸入輸出,并使能對應的時鐘

2、ADC配置:將ADC采樣通道、采樣時間、采樣頻率等參數進行配置。

3、OLED配置:初始化OLED。

4、中斷初始化:對按鍵進行中斷初始化,并在中斷服務函數中實現相應的操作。

5、主程序:定時讀取酒精傳感器的濃度值并將其轉換為電壓值,然后通過ADC進行采樣,最后通過OLED顯示屏進行實時顯示。同時也需要根據設定的閾值進行判斷,并觸發相應的報警。

2.3 程序設計思路

main()
 {
     初始化IO口
     初始化ADC
     初始化OLED
     配置中斷
     while(1)
     {
         讀取濃度值并轉換為電壓
         進行ADC采樣
         計算實際濃度值
         顯示實時濃度值
         判斷是否超過設定閾值
         觸發相應的報警
     }
 }
 ?
 void EXTIx_IRQHandler()
 {
     檢測按鍵狀態
     根據按鍵狀態進行相應的操作
 }

三、代碼設計

//頭文件引用
 #include "stm32f10x.h"
 #include "OLED.h"
 #include "ADC.h"
 #include "MQ3.h"
 ?
 //定義相關參數
 #define THRESHOLD1 100
 #define THRESHOLD2 200
 #define THRESHOLD3 300
 ?
 //定義中斷服務函數
 void EXTI0_IRQHandler(){
   if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) == 0){
     threshold++;
     if(threshold == 4) threshold = 1;
     OLED_Clear();
     OLED_ShowString(0,0,"Threshold:");
     switch(threshold){
       case 1:{
         OLED_ShowString(70,0,"100");
         break;
       }
       case 2:{
         OLED_ShowString(70,0,"200");
         break;
       }
       case 3:{
         OLED_ShowString(70,0,"300");
         break;
       }
       default:{
         break;
       }
     }
   }
   EXTI_ClearITPendingBit(EXTI_Line0);
 }
 ?
 int main(void)
 {
     //初始化IO口
     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOA, ENABLE);   //使能端口時鐘
     GPIO_InitTypeDef GPIO_InitStructure;                                           //定義GPIO結構體
     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                               //輸出模式
     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                              //速度50MHz
     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;                                     //LED所在引腳
     GPIO_Init(GPIOC, &GPIO_InitStructure);                                         //初始化GPIOC13
     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;                          //浮空輸入模式
     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;                                      //按鍵所在引腳
     GPIO_Init(GPIOA, &GPIO_InitStructure);                                         //初始化GPIOA0
 ?
     //初始化ADC
     ADC_Configuration();
 ?
     //初始化OLED
     OLED_Init();
     OLED_Clear();
 ?
     //配置中斷
     EXTI_InitTypeDef EXTI_InitStructure;
     NVIC_InitTypeDef NVIC_InitStructure;
     GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0);
     EXTI_InitStructure.EXTI_Line = EXTI_Line0;
     EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
     EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
     EXTI_InitStructure.EXTI_LineCmd = ENABLE;
     EXTI_Init(&EXTI_InitStructure);
     NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;
     NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
     NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
     NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
     NVIC_Init(&NVIC_InitStructure);
 ?
     //定義相關變量
     uint16_t adc_value = 0;
     float voltage = 0.0;
     float concentration = 0.0;
     uint8_t threshold = 1;
 ?
     while(1)
     {
         //讀取酒精傳感器的濃度值并轉換為電壓值
         adc_value = Get_ADC1_ConvertedValue(ADC_Channel_6);
         voltage = (adc_value * 3.3) / 4096;
 ?
         //計算實際濃度值
         concentration = Get_MQ3_Concentration(voltage);
 ?
         //顯示實時濃度值
         OLED_ShowString(0, 0, "Concentration:");
         OLED_ShowNum(100, 0, concentration, 1, 2);
 ?
         //判斷是否超過設定閾值
         if(concentration > THRESHOLD3){
             GPIO_SetBits(GPIOC, GPIO_Pin_13);      //LED燈亮
             BEEP_ON;                                //蜂鳴器報警
         }
         else if(concentration > THRESHOLD2){
             GPIO_ResetBits(GPIOC, GPIO_Pin_13);    //LED燈滅
             BEEP_OFF;                               //蜂鳴器關閉
         }
         else if(concentration > THRESHOLD1){
             GPIO_SetBits(GPIOC, GPIO_Pin_13);      //LED燈亮
             BEEP_ON;                                //蜂鳴器報警
         }
         else{
             GPIO_ResetBits(GPIOC, GPIO_Pin_13);    //LED燈滅
             BEEP_OFF;                               //蜂鳴器關閉
         }
     }
 }
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2271

    文章

    10923

    瀏覽量

    357099
  • 蜂鳴器
    +關注

    關注

    12

    文章

    893

    瀏覽量

    46055
  • OLED顯示屏
    +關注

    關注

    6

    文章

    218

    瀏覽量

    30754
  • 酒精檢測儀
    +關注

    關注

    0

    文章

    22

    瀏覽量

    8924
收藏 人收藏

    評論

    相關推薦

    酒精檢測儀仿真圖

    論壇的兄弟們,我們老師要求我們不用單片機,做出酒精檢測儀的仿真圖,我們設計的仿真是由MQ-3、A/D轉換、譯碼顯示酒精濃度組成。但是最后因為能力有限弄不出來,希望兄弟們能花點時間幫我做一個完整的仿真,明天下午就要交,急求,希望兄
    發表于 06-29 22:18

    請問有酒精檢測儀的程序嗎?

    各位大佬有沒有酒精檢測儀的程序啊?
    發表于 03-27 22:34

    RoHS檢測儀來測酒精含量可以嗎,會不會大材小用了?

    ``用RoHS檢測儀來測試酒精,說實在的是有點大材小用了,大可節省這不必要的支出,交警用的酒精檢測儀是專門測酒精含量的,這個方便實惠,所以用
    發表于 04-24 15:01

    如何去實現一種基于51單片機酒精濃度檢測儀的設計

    基于51單片機的酒精濃度檢測儀是由哪些部分組成?如何去實現一種基于51單片機酒精濃度檢測儀的設計?
    發表于 10-18 09:34

    基于51單片機的酒精濃度檢測儀的設計

    基于51單片機的酒精濃度檢測儀的設計,感興趣的可以看看。
    發表于 01-04 15:23 ?263次下載

    基于單片機的酒精濃度檢測儀的研究與設計

    基于單片機的酒精濃度檢測儀的研究與設計
    發表于 12-11 15:52 ?14次下載

    酒精檢測儀的用及電路設計原理分析

    酒精檢測儀是用來檢測人體是否攝入酒精及攝入酒精多少程度的儀器。它可以作為交通警察執法時檢測飲酒司
    的頭像 發表于 08-05 16:00 ?3.7w次閱讀
    <b class='flag-5'>酒精</b><b class='flag-5'>檢測儀</b>的用及電路設計原理分析

    酒精檢測儀的產品特點是怎樣的

    酒精檢測棒不僅是酒精檢測儀還是一種多用型電子產品,在酒精檢測結束后會有語音播報功能,這種指揮棒式
    發表于 12-21 15:19 ?658次閱讀

    電筒式酒精檢測儀的工作原理是怎樣的?

    為什么需要酒精測試 據統計全球大概有百分之五十的車禍與飲酒有關,而想加大對酒后駕駛的懲罰力度,首先要解決的就是如何高效的測量人身體的酒精含量,酒精測試
    發表于 01-05 17:13 ?904次閱讀

    酒精檢測儀為什么呼一口氣就能檢測人體酒精的含量

    手持酒精檢測儀可以用來確認司機是否有酒駕行為。為什么呼一口氣就能檢測人體酒精含量?小小的酒精檢測儀
    發表于 01-13 16:31 ?1696次閱讀

    酒精檢測儀檢測原理是怎樣的

    所需時間,下面跟隨深圳威爾電器小編一起來具體了解一下酒精檢測儀檢測原理是什么吧? 當具有N型導電性的氧化物暴露在大氣中時,會由于氧氣的吸附而減少其內部的電子數量而使其電阻增大。其后如果大氣中存在某種特定的
    發表于 03-01 14:45 ?6269次閱讀

    常用的酒精檢測儀都是什么原理

    來具體了解一下酒精檢測儀檢測原理是什么吧? 常用的酒精檢測儀都是什么原理呢? 1、濕化學法 其原理是
    發表于 04-21 14:49 ?1.8w次閱讀

    如何構建一個可充電酒精檢測儀

    今天我們將構建一個 DIY 可充電酒精檢測儀。眾所周知,酒精分析使用呼出氣中的酒精含量來計算人血液中的
    的頭像 發表于 06-13 15:44 ?2379次閱讀
    如何構建一個可充電<b class='flag-5'>酒精</b><b class='flag-5'>檢測儀</b>

    基于51單片機的酒精檢測儀設計(實物)

    畢業設計(論文)的內容設計基于單片機的酒精檢測儀 能夠完酒精檢測及聲光報警。課題要求廣泛查閱和收集資料,根據題目要求設計酒精
    發表于 09-07 10:08 ?3次下載

    酒精檢測儀是如何識別酒駕的

    酒駕是一種極具危險性和社會危害性的行為。酒精對人體的影響較為復雜,且在駕駛過程中會嚴重影響駕駛者的反應速度與判斷力。為了有效防止酒駕,酒精檢測儀成為執法部門的重要工具。那么,你是否好奇過酒精
    的頭像 發表于 12-10 09:47 ?307次閱讀
    <b class='flag-5'>酒精</b><b class='flag-5'>檢測儀</b>是如何識別酒駕的
    主站蜘蛛池模板: 免费可以看黄的视频s色 | 超碰在线97久久视频观看 | 精品手机在线1卡二卡3卡四卡 | 呜呜别塞了啊抽插 | 最好看中文字幕国语 | 欲乱艳荡少寡妇全文免费 | 伊人色综合久久天天网 | 亚洲免费无码av线观看 | 99爱在线精品视频免费观看9 | 免费黄色网址在线观看 | 暗卫受被肉到失禁各种PLAY | 亚洲人成www在线播放 | 精品免费视在线视频观看 | 久久精品热老司机 | 亚洲视频免费 | 高清视频在线观看SEYEYE | 久久人妻熟女中文字幕AV蜜芽 | 国产盗摄一区二区 | 亚洲中文有码字幕日本 | 在线国内自拍精品视频 | AV福利无码亚洲网站麻豆 | 大咪咪dvd| 久久久久国产 | 国产品无码一区二区三区在线 | 快播h动漫网站 | 视频在线观看高清免费看 | 日本精品无码久久久久APP | 亚洲欧美日本中文子不卡 | 7m凹凸国产刺激在线视频 | 在线播放日韩欧美亚洲日本 | 夜色55夜色66亚洲精品网站 | 午夜成a人片在线观看 | 伊人久久中文大香线蕉综合 | 国产亚洲人成在线视频 | 97亚洲狠狠色综合久久久久 | 无码日韩人妻精品久久蜜桃入口 | 日本精品久久久久中文字幕2 | 国产成人综合在线视频 | 亚洲人成www在线播放 | 果冻传媒在线观看网站 | 玉娇龙续集春雪瓶txt免费阅读 |