【單片機畢業設計選題24046】-基于單片機的智能魚缸設計

系統功能:

檢測水溫,水溫過低開啟PTC加熱。檢測水位,水位過低開啟水泵抽水。檢測濕度,濕度過高則開啟風扇通風。

檢測PH值和渾濁度,TTS語音播報功能,OLED顯示系統信息,藍牙模塊連接手機APP。

系統上電后顯示“歡迎使用智能魚缸系統請稍后”兩秒后進入正常顯示頁面。

第一頁面第一行顯示“系統狀態信息”,第二行顯示溫濕度和水位信息,第三行顯示

渾濁度信息,第四行顯示PH值信息。

第一頁面下的按鍵操作:

短按B4按鍵可切換到第二頁面。

短按B7按鍵語音播報溫濕度水位渾濁度PH值。

第二頁面第一行顯示“溫度閾值設定”,第二行顯示獲取到的溫度值,第三行

顯示設置的溫度值,第四行顯示PTC開關狀態。

第二頁面下的按鍵操作:

短按B4按鍵可切換到第三頁面。

短按B5按鍵增加溫度設定閾值。

短按B6按鍵減小溫度設定閾值。

短按B7按鍵播報加熱器狀態。

第三頁面第一行顯示“濕度閾值設定”,第二行顯示獲取到的濕度值,第三行

顯示設置的濕度值,第四行顯示風扇開關狀態。

第三頁面下的按鍵操作:

短按B4按鍵可切換到第四頁面。

短按B5按鍵增加濕度設定閾值。

短按B6按鍵減小濕度設定閾值。

短按B7按鍵播報風扇狀態。

第四頁面第一行顯示“水位閾值設定”,第二行顯示獲取到的水位值,第三行

顯示設置的水位值,第四行顯示水泵開關狀態。

第四頁面下的按鍵操作:

短按B4按鍵可切換到第一頁面。

短按B5按鍵增加水位設定閾值。

短按B6按鍵減小水位設定閾值。

短按B7按鍵播報水泵狀態。

手機APP連接到藍牙模塊可以收到系統上報的傳感器數據。

主要功能模塊原理圖:

電源時鐘燒錄接口:

單片機和按鍵輸入電路:

傳感器采集電路:

繼電器輸出電路:

資料獲取地址

系統主要功能模塊代碼

初始化代碼:

  /* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init */InitVar();/* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_USART1_UART_Init();MX_ADC1_Init();MX_USART2_UART_Init();/* USER CODE BEGIN 2 *///在HAL庫初始化串口1后調用HAL_Delay(100);SetUart1RxToInput();HAL_Delay(50);//uart1打開接收中斷HAL_UART_Receive_IT(&huart1, (uint8_t*)&uart1RecBuff, 1);InitOled();InitOledDisp();ResetDHT11();/*if(InitDS18B20()==0){//        printf("%s", "DS18B20初始化成功");//DS18B20在上電第一次讀取時顯示溫度為85℃,這是正常的。//85℃是DS18B20在上電復位后在溫度寄存器內的對應數字量,//這里DS18B20初始化成功后讀一次值,避免出現85℃DS18B20GetTemp_SkipRom();}*/

系統控制代碼;
?

//系統信息更新void SystemControl(void){static uint8_t updateCnt = 0;updateCnt++;   if(updateCnt>=SYSTEM_UPDATE_INTER){updateCnt = 0;//        ds18b20Temp = DS18B20GetTemp_SkipRom();if(DHT11ReadData()==0)  //DHT11溫濕度讀取OK{;}UpdateBleData();}ReadSensorVal();}

藍牙模塊上報系統數據:

//更新BLE數據void UpdateBleData(void){printf("Temp:%02d Humi:%02d\r\n", getTempVal, getHumiVal);     printf("Water:%04d\r\n", getWaterVal);printf("PH:%3.1f\r\n", getPhVal);printf("Thick:%04d\r\n", getThickVal);      }

此設計提供的資料包含原理圖PCB(包含PDF,AD,立創EDA三個版本),源代碼,系統框圖,主程序流程圖,物料清單(包含使用到的器件手冊),功能操作說明等。

各功能模塊資料:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/40600.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/40600.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/40600.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

IT專業入門,高考假期預習指南—初識產品經理BRD、MRD 和 PRD

七月來臨,各省高考分數已揭榜完成。而高考的完結并不意味著學習的結束,而是新旅程的開始。對于有志于踏入IT領域的高考少年們,這個假期是開啟探索IT世界的絕佳時機。作為該領域的前行者和經驗前輩,你是否愿意為準新生們提供一份全…

AI 芯片之戰:開啟智能新時代的關鍵角逐

在科技發展的浪潮中,一場圍繞 AI 芯片的激烈競爭正在全球范圍內如火如荼地展開。多家巨頭紛紛投身其中,使得這場混戰已然進入白熱化階段。 AI 芯片,作為推動人工智能發展的核心硬件,其作用舉足輕重。它能夠高效地處理海量的數據&a…

生物分子生物學實驗過程的自動化與智能監控系統設計

開題報告:生物分子生物學實驗過程的自動化與智能監控系統設計 一、引言 隨著生物科學技術的飛速發展,生物分子生物學實驗在科研、醫療、農業等領域的應用日益廣泛。然而,傳統的生物分子生物學實驗過程大多依賴于人工操作,存在操…

java web 部分

jsp作用域由大到小 過濾器有哪些作用? 過濾器的用法?(對客戶端的請求統一編碼和對客戶端進行認證) JSP和Servlet中的請求轉發分別如何實現? JSP 和 Servlet 有哪些相同點和不同點,他們之間的聯系是什么…

PCB設計時,信號走線要先過ESD/TVS管,這是為什么?

目錄 為什么有上面這個問題? 問題的原因——走線電感 走線電感的阻抗 電感的影響 小結 都說接口處的信號要先過ESD/TVS管,然后拉到被保護器件,為什么不這樣做效果就不好?那如果受板子實際情況限制,必須這樣layout…

Python - 單引號與雙引號

Python 版本 3.11.4 字符串 單個文字符稱為字符,多個文字符成為字符串。 字符串需要被(單引號)或者""(雙引號)包括。 language "Python"language Python 以上寫法都是合法的。 單引號與雙…

Zabbix 配置MySQL數據庫監控

Zabbix MySQL數據庫監控簡介 通過 Zabbix 監控 MySQL 數據庫,可以獲取有關數據庫性能、運行狀況和資源使用情況的詳細信息,幫助及時發現和解決問題。 Zabbix官方提供了一個名為MySQL by Zabbix agent的監控模板,該模板專為 Zabbix 通過 Zabb…

探索Vim表達式寄存器:提升文本處理的高級技巧

探索Vim表達式寄存器:提升文本處理的高級技巧 Vim是一款功能強大的文本編輯器,它擁有豐富的寄存器系統,用于存儲文本、命令等。表達式寄存器是Vim中一種特殊的寄存器,允許用戶存儲并操作表達式的結果。本文將詳細介紹如何在Vim中…

使用Spring Boot和mkcert解決本地及局域網HTTPS訪問

在現代Web開發中,HTTPS已經成為保障數據傳輸安全的標準。然而,在開發和測試階段,配置HTTPS可能會帶來一些額外的復雜性。尤其是在本地開發環境和局域網內網環境中,獲得和配置證書通常是一個挑戰。本文將介紹如何使用Spring Boot和…

關于在自己的生活里面,增加喝咖啡的這道手續

前言:我總在告訴我自己,我自己應該如何?我的未來應該如何?到那時實際上,自己沒有辦法能夠理解的確實我的現在,我應該依靠咖啡度過我自己剩下的歲月,接下來,讓自己用自己的方式來不斷…

華為5288 V5服務器安裝BCLinux8U4手記

本文記錄了華為5288 V5服務器安裝BCLinux8U4操作系統的過程。 一、系統環境 1、服務器 華為FusionServer Pro 5288 V5服務器 2、操作系統 BCLinux-R8-U4-Server-x86_64-220725.iso 官網下載地址 sha256sum:1d31d3b8e02279e89965bd3bea61f14c65b9d32ad2ab6d4eb…

DTP 抽取出錯:data target is locked by process***

怎么會顯示被幾年前的一個process lock住了呢? 搞不明白。 不管怎樣,去RSPM_MONITOR改,data target填上ADSO名,選時間,Process status選Y。 找到這條,雙擊,發現是active的狀態。可能是因為前后…

springboot城市菜園共享系統-計算機畢業設計源碼00524

目 錄 摘要 1 緒論 1.1 研究背景與意義 1.2 國內外研究現狀和發展趨勢 1.3論文結構與章節安排 2 城市菜園共享系統系統分析 2.1 可行性分析 2.2 系統流程分析 2.2.1 數據增加流程 2.2.2 數據修改流程 2.2.3 數據刪除流程 2.3 系統功能分析 2.3.1 功能性分析 2.3.…

Apache Kylin與Impala:深入比較與應用場景分析

Apache Kylin與Impala:深入比較與應用場景分析 在大數據處理領域,Apache Kylin和Impala都是Apache軟件基金會下的項目,它們各自提供了獨特的解決方案來處理大規模數據集。了解它們的不同之處對于選擇合適的數據處理工具至關重要。本文將深入…

[Linux安全運維] rsyslog

rsyslog 1. 什么是 rsyslog rsyslog 是一個高性能的日志處理程序,能夠接收、處理并轉發日志消息。它被廣泛應用于 UNIX 和 Linux 系統中,用于系統日志記錄和管理。 2. rsyslog 的主要功能 高性能:能夠處理大量日志消息,適用于…

C++那些事之小項目實戰-進程間通信

小項目實戰之進程間通信 進程間通信是一個非常重要的話題,特別是像一些大型項目都有它的影子,例如:PostgreSQL使用了管道完成copy的進程間通信,那么本節也將基于這個主題,使用C去搭建一個進程間通過管道通信的demo出來…

聚變反應堆設計的一些關鍵方面和最新進展

聚變反應堆設計是一個復雜且高度專業化的領域,旨在實現核聚變反應以產生清潔能源。以下是對聚變反應堆設計的一些關鍵方面和最新進展的概述: ### 一、聚變反應堆的基本原理 核聚變是兩個較輕的原子核結合成一個較重的原子核,并在此過程中釋…

消除筆怎么用?教你消除筆的正確用法

消除筆,也稱為橡皮擦工具或克隆筆工具,是圖像處理軟件中的一種常用工具。它的主要作用是通過取樣圖像中的某一部分,然后覆蓋掉不想要的圖像內容,從而實現修復、去除瑕疵等效果。那么有哪些軟件具有消除筆功能,又是怎么…

網絡安全入門教程(非常詳細)從零基礎入門到精通,看完這一篇就夠了。

學前感言: 1.這是一條堅持的道路,三分鐘的熱情可以放棄往下看了.2.多練多想,不要離開了教程什么都不會了.最好看完教程自己獨立完成技術方面的開發.3.有時多google,baidu,我們往往都遇不到好心的大神,誰會無聊天天給你做解答.4.遇到實在搞不懂的,可以先放放,以后再來解決. 基…

歐洲杯:高精度定位技術,重塑體育賽事新體驗

隨著科技的飛速發展,體育賽事的觀賞體驗與競技水平正被不斷推向新的高度。在即將到來的2024年歐洲杯賽場上,一項革命性的技術——高精度定位,正悄然改變著比賽的每一個細節,為球迷們帶來前所未有的觀賽享受,同時也為運…