一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32項(xiàng)目分享:智能魚缸/水族箱/水產(chǎn)養(yǎng)殖系統(tǒng)

機(jī)智云 ? 2025-07-03 18:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

項(xiàng)目成品圖片:


de16abfa-57f7-11f0-9cf1-92fbcf53809c.jpg


01

項(xiàng)目簡介


1.功能詳解


STM32智能魚缸/水族箱/水產(chǎn)養(yǎng)殖系統(tǒng)

功能如下:


可檢測溫度,水位,以及TDS水質(zhì),同時(shí)將數(shù)據(jù)顯示到OLED屏幕上

當(dāng)溫度過高時(shí),繼電器1吸合散熱,溫度過低時(shí)繼電器2吸合加熱。異常下蜂鳴器觸發(fā)報(bào)警

當(dāng)水位過低時(shí),繼電器3工作,模擬進(jìn)水操作。當(dāng)水位過高時(shí)繼電器4工作放水。

當(dāng)TDS水質(zhì)過高時(shí),繼電器3和4相繼工作模擬換水。

可計(jì)時(shí)喂食時(shí)間,倒計(jì)時(shí)結(jié)束后,舵機(jī)轉(zhuǎn)動(dòng)模擬喂食操作。

閾值可通過按鍵調(diào)節(jié)

連接手機(jī)APP,遠(yuǎn)程查看數(shù)據(jù)信息,控制LED開關(guān),閾值調(diào)節(jié)等



2.材料清單

STM32F103C8T6單片機(jī)

OLED 屏幕

DS18B20溫度傳感器

ESP8266-01S WiFi模塊

TDS電導(dǎo)率傳感器

超聲波傳感器

繼電器

舵機(jī)

大功率LED燈模塊

有源蜂鳴器



02


原理圖設(shè)計(jì)


de3314f2-57f7-11f0-9cf1-92fbcf53809c.png


03


PCB硬件設(shè)計(jì)


PCB圖

de575b50-57f7-11f0-9cf1-92fbcf53809c.pngde683ec0-57f7-11f0-9cf1-92fbcf53809c.png


04

程序設(shè)計(jì)


#include"stm32f10x.h"
#include"sys.h"#include"led.h"#include"bmp.h"#include"oled.h"#include"adc.h"#include"ds18b20.h"#include"timer.h"#include"delay.h"#include"usart.h"#include"usart2.h"#include"cJSON.h"#include"sr04.h"
intLED_STATUS =0;intFAN_STATUS =0;
charWIFIName[] ="ESP8266-WIFI";charWIFIpwd[] ="12345678";
inttemp_up =35,temp_down =15; // 溫度上下限inttds_up =90,tds_down =0; // 水質(zhì)上下限intlevel_up =5,level_down =60; // 水位上下限
intmaxHighLevel =5; // 換水最高水位
intfeedTime =30; // 喂食時(shí)間intcacheFeedTime =30; // 緩存喂食時(shí)間 intsendDataTime =3; // 數(shù)據(jù)發(fā)送時(shí)間intcacheSendTime =3; // 緩存數(shù)據(jù)發(fā)送時(shí)間

#defineLED PAout(2) // LED#defineBUZZ PAout(4) // 蜂鳴器
#defineJD1PAout(8) // 繼電器1-抽水#defineJD2 PAout(5)// 繼電器2-放水#defineJD3 PAout(6)// 繼電器3-加熱#defineJD4 PAout(7) // 繼電器4-降溫
#defineKEY_EDIT PBin(13) // 設(shè)置按鈕#defineKEY_NEXT PBin(14) // 切換按鈕#defineKEY_SWIT PBin(15) // 下一頁按鈕#defineKEY_ADD PAin(11) // 加一按鈕#defineKEY_DEC PBin(12) // 減一按鈕
#defineTEST PCout(13)
#defineSG90_CLOSE 175 // 舵機(jī)關(guān)閉#defineSG90_OPEN 185 // 舵機(jī)打開
// 上位機(jī)數(shù)據(jù)處理intconnectFlag =0; // 連接成功標(biāo)志位inthandleFlag =0; // 判斷上位機(jī)發(fā)送的數(shù)據(jù)需要處理哪一個(gè)intsendFlag =0; // 定時(shí)器時(shí)間到了該位置一表示發(fā)送數(shù)據(jù)intinitFlag =0; // ESP8266初始化成功標(biāo)志位intparamFlag =1; // 是否開啟參數(shù)檢查intchangeWaterFlag =0; // 換水標(biāo)志位
intfeedFlag =0; // 是否喂食intfeedEndFlag =0; // 喂食結(jié)束

unsignedchartemp =0,level =0;// 溫度,濕度
voidparamCheck(void); // 檢查參數(shù)是否超過voidhandleData(void); // 上位機(jī)數(shù)據(jù)處理voidco2Process(void); // CO2數(shù)據(jù)處理voidDisplayUI(void); // 固定頁面UI渲染voidparamEdit(void); // 閾值參數(shù)設(shè)置voideditUiDisplay(intpageIndex );// 設(shè)置頁面UI初始化voidrunAlter(intcursor,intcount);// 執(zhí)行參數(shù)修改
externchar*USARTx_RX_BUF; // 串口數(shù)據(jù)緩存externfloatTDS_value;
intmain(void){inttime;delay_init();LED_Init(); OLED_Init();Adc_Init();DS18B20_Init(); // 溫度初始化HC_SR04Config(); // 超聲波初始化 uart_init(115200); timeInit(4999,7199); // 72M 0.1ms 500ms 串口數(shù)據(jù)初始化、timeSendInit(9999,7199); // 72m 0.1ms 1s 發(fā)送數(shù)據(jù)定時(shí) timePwmInit(199,7199); // PWM-> CH3->PA2 CH4->PA3 (調(diào)脈寬)TIM_SetCompare4(TIM2,100);TIM_SetCompare4(TIM2,SG90_CLOSE);// 關(guān)閉喂食OLED_ShowChLength(38,16,47,3); // 顯示啟動(dòng)中ESP8266Init(WIFIName,WIFIpwd);OLED_Clear();while(1){DisplayUI();if( time++ >5){time =0;temp = getTemperture(); // 獲取溫度delay_ms(1000);delay_ms(1000);temp = getTemperture(); // 獲取溫度TDS_Value_Conversion(); // 獲取TDS水質(zhì)值}level = Getlength(); // 獲取水位OLED_ShowNum(45,0,temp,2,16,1);OLED_ShowNum(45,16,level,3,16,1);OLED_ShowNum(45,32,TDS_value,3,16,1);OLED_ShowNum(76,48,cacheFeedTime,3,16,1);OLED_Refresh();
// 開始喂食 if( feedFlag ){TIM_SetCompare4(TIM2,SG90_OPEN);// 等待喂食結(jié)束if( feedEndFlag ){feedFlag =0;feedEndFlag =0; feedTime = cacheFeedTime;TIM_SetCompare4(TIM2,SG90_CLOSE);}}
// 進(jìn)入設(shè)置頁面if( !KEY_EDIT ){ while( !KEY_EDIT );// 防抖paramEdit(); // 進(jìn)入?yún)?shù)設(shè)置// 刷新參數(shù)提示按鈕(每次進(jìn)入設(shè)置以后出來這個(gè)按鈕沒有,需要更新一下)if( !paramFlag )OLED_ShowChLength(105,2,62,1);elseOLED_ShowString(105,2," ",16,1);}
// 切換參數(shù)提醒設(shè)置if( !KEY_NEXT ){ while( !KEY_NEXT );paramFlag = !paramFlag; if( !paramFlag ){ // 關(guān)閉提示JD2 =0;JD3 =0;JD4 =0;JD1 =0;BUZZ =0;OLED_ShowChLength(105,2,62,1);}else{OLED_ShowString(105,2," ",16,1);} OLED_Refresh();}
// 上位機(jī)更改數(shù)據(jù)if( handleFlag )handleData();
// 3s上傳一次數(shù)據(jù)if( sendFlag &&1){ ESP8266Pub(temp,level,TDS_value);sendFlag =0; // 重置標(biāo)志位sendDataTime = cacheSendTime;// 刷新發(fā)送時(shí)間}// 檢查參數(shù)是否超出范圍(開啟了參數(shù)檢查)if( paramFlag )paramCheck();
delay_ms(100);}}


05

實(shí)驗(yàn)效果


de7ffe5c-57f7-11f0-9cf1-92fbcf53809c.jpgde959ec4-57f7-11f0-9cf1-92fbcf53809c.jpg

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • OLED
    +關(guān)注

    關(guān)注

    120

    文章

    6286

    瀏覽量

    228128
  • STM32
    +關(guān)注

    關(guān)注

    2294

    文章

    11032

    瀏覽量

    365203
  • 養(yǎng)殖業(yè)
    +關(guān)注

    關(guān)注

    0

    文章

    90

    瀏覽量

    1919
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于STM32智能水產(chǎn)養(yǎng)殖系統(tǒng)電路+代碼+論文實(shí)例打包下載

    基于STM32智能水產(chǎn)養(yǎng)殖系統(tǒng)電路+代碼+論文實(shí)例打包,推薦下載!
    發(fā)表于 05-29 21:40

    基于單片機(jī)的智能水族箱控制系統(tǒng)設(shè)計(jì)

    今年的畢業(yè)設(shè)計(jì)題目就是《基于單片機(jī)的智能水族箱控制系統(tǒng)設(shè)計(jì)》,目前只會(huì)單片機(jī)開發(fā)板上自帶的時(shí)鐘顯示和溫度芯片如何與單片機(jī)相連去控制溫度,其他的一點(diǎn)頭緒都沒有,比如繼電器如何如氧氣泵和加熱棒相連,又如何用單片機(jī)去控制,這些都沒整明
    發(fā)表于 05-04 13:27

    【云智易申請】基于stm32智能水族箱

    項(xiàng)目中,謝謝!項(xiàng)目描述:基于stm32智能水族箱設(shè)有兩種模式:1、自動(dòng)模式2、人工模式。兩種模式可以通過按鍵或者手機(jī)終端切換。全自動(dòng)模式
    發(fā)表于 07-22 13:30

    智能魚缸解決方案

    解決方案/智能魚缸設(shè)計(jì)開發(fā)/智能魚缸設(shè)計(jì)方案/智能魚缸定制方案/
    發(fā)表于 06-02 15:12

    UVC-LED在水族箱中的應(yīng)用

    ``UVC-LED廣泛應(yīng)用生活家電領(lǐng)域中,特別是在水處理領(lǐng)域上表現(xiàn)的比較搶眼。我們?yōu)榱蓑?yàn)證抑菌這個(gè)功能,做了一套實(shí)驗(yàn)。準(zhǔn)備物:2個(gè)水族箱,一個(gè)有UVC-LED功能的過流模組,一個(gè)無LED功能的過流
    發(fā)表于 02-11 13:43

    基于ARM的智能水產(chǎn)養(yǎng)殖系統(tǒng)設(shè)計(jì)

    題目: 智能水產(chǎn)養(yǎng)殖系統(tǒng)關(guān)鍵詞:STM32;智能控制;數(shù)據(jù)采集;無線通信摘要在
    發(fā)表于 07-26 06:41

    DIY水族箱控制器

    描述水族箱控制器水族館控制器。4 個(gè)受控照明通道和兩個(gè)繼電器通道。通過互聯(lián)網(wǎng)管理,以及繪畫 - 羅斯維特,日落。
    發(fā)表于 08-03 07:35

    KW41Z如何簡化水族箱系統(tǒng)控制

    KW41Z幫助簡化水族箱系統(tǒng)控制
    發(fā)表于 12-14 06:56

    它憑什么號(hào)稱“世界上最先進(jìn)的智能水族箱照明系統(tǒng)”?

    顏色,似乎看起來缺少了一些智能性。 而這款在Kickstarter上開始眾籌的Flat One智能水族箱照明設(shè)備,就號(hào)稱是世界上最先進(jìn)的智能水族箱
    的頭像 發(fā)表于 04-03 15:55 ?7069次閱讀

    自制簡易的水族箱溫控器

    水族箱溫控器主要用于夏天水族箱散熱風(fēng)扇和電子制冷溫控,控溫的范圍設(shè)計(jì)為23~29℃,實(shí)測溫精度小于正負(fù)0.5℃,很適合DIY水族散熱風(fēng)扇和電子冷水機(jī)的朋友制作參考。由于電路很簡單,相信稍為有電子制作經(jīng)驗(yàn)的朋友都能按圖順利制作。
    的頭像 發(fā)表于 02-14 17:47 ?1.2w次閱讀
    自制簡易的<b class='flag-5'>水族箱</b>溫控器

    水族箱控制器開源項(xiàng)目

    電子發(fā)燒友網(wǎng)站提供《水族箱控制器開源項(xiàng)目.zip》資料免費(fèi)下載
    發(fā)表于 07-20 17:01 ?1次下載
    <b class='flag-5'>水族箱</b>控制器開源<b class='flag-5'>項(xiàng)目</b>

    基于Atlas Scientific的水族箱蒸發(fā)補(bǔ)水系統(tǒng)

    。在這個(gè)項(xiàng)目中,我們將制作這樣一個(gè)系統(tǒng)。優(yōu)點(diǎn)有助于維持穩(wěn)定的水化學(xué)性質(zhì),例如 pH 值和鹽度。設(shè)置完成后,除非需要維護(hù),否則無需人工干預(yù)。節(jié)省時(shí)間。第 1 步:評(píng)估水族箱的蒸發(fā)率水族箱
    發(fā)表于 12-16 15:37 ?0次下載

    智能水產(chǎn)養(yǎng)殖系統(tǒng)價(jià)格

    現(xiàn)代水產(chǎn)養(yǎng)殖業(yè)的發(fā)展向著規(guī)?;?、高度集約化、高效生態(tài)安全的方向發(fā)展,傳統(tǒng)的養(yǎng)殖模式已無法滿足現(xiàn)代水產(chǎn)養(yǎng)殖業(yè)的發(fā)展要求。如今已經(jīng)有不少
    的頭像 發(fā)表于 03-15 15:30 ?1242次閱讀

    水族箱中的TDS測量開源分享

    電子發(fā)燒友網(wǎng)站提供《水族箱中的TDS測量開源分享.zip》資料免費(fèi)下載
    發(fā)表于 06-15 10:53 ?0次下載
    <b class='flag-5'>水族箱</b>中的TDS測量開源分享

    STM32項(xiàng)目分享:智能家居(機(jī)智云)系統(tǒng)

    STM32項(xiàng)目分享:智能家居(機(jī)智云)系統(tǒng)
    的頭像 發(fā)表于 07-28 08:10 ?3387次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>項(xiàng)目</b>分享:<b class='flag-5'>智能</b>家居(機(jī)智云)<b class='flag-5'>系統(tǒng)</b>