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

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

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

基于STM32的智能飲水機(jī)系統(tǒng)設(shè)計(jì)

DS小龍哥-嵌入式技術(shù) ? 來(lái)源:DS小龍哥-嵌入式技術(shù) ? 作者:DS小龍哥-嵌入式技 ? 2023-05-23 09:13 ? 次閱讀

一、項(xiàng)目背景

隨著智能化的迅速發(fā)展,人們對(duì)于生活中的各類(lèi)設(shè)備也越來(lái)越有智能化的需求,其中智能飲水機(jī)是一種比較常見(jiàn)的設(shè)備。智能飲水機(jī)不僅可以提供飲用水,還可以通過(guò)智能化的技術(shù)滿(mǎn)足人們對(duì)于水質(zhì)、水溫、出水量等方面的需求。因此,當(dāng)前設(shè)計(jì)了一種基于STM32的智能飲水機(jī)系統(tǒng),以滿(mǎn)足人們對(duì)智能化飲水機(jī)的需求。

智能飲水機(jī)系統(tǒng)其主要功能包括:

【1】控制加熱芯片:通過(guò)繼電器模塊控制加熱芯片,在水燒開(kāi)后自動(dòng)斷電。

【2】液位感應(yīng):使用液位傳感器感應(yīng)水箱水位,當(dāng)水位過(guò)低時(shí)通過(guò)語(yǔ)音模塊進(jìn)行播報(bào)提示。

【3】移動(dòng)端控制:Android手機(jī)端可以顯示當(dāng)前雙水箱內(nèi)的水溫,設(shè)置出水溫度及出水量,并且還可以控制出水操作。

【4】主控芯片:采用STM32F103RCT6主控芯片,這款芯片有著強(qiáng)勁的處理能力和豐富的外設(shè)資源,可以滿(mǎn)足飲水機(jī)系統(tǒng)的控制需求。

【5】WIFI通信:選擇ESP8266與手機(jī)端通信,可以實(shí)現(xiàn)遠(yuǎn)程控制。

【6】水溫測(cè)量:采用DS18B20實(shí)現(xiàn)水溫測(cè)量,能夠準(zhǔn)確地測(cè)量水溫。

【7】出水開(kāi)關(guān)控制:采用SG90電機(jī)實(shí)現(xiàn)出水開(kāi)關(guān)控制,可以精準(zhǔn)地控制出水量。

【8】本地有2個(gè)指示燈,綠色和紅色燈。可以表示加熱狀態(tài)。

poYBAGRre0SAQmnSAASYabaNG5s119.png

二、系統(tǒng)硬件設(shè)計(jì)

【1】系統(tǒng)核心芯片選擇

STM32F103RCT6作為本系統(tǒng)的主控芯片,其具有較高的計(jì)算速度和穩(wěn)定性,在眾多STM32系列中也是使用比較廣泛的型號(hào)之一。

【2】溫度測(cè)量模塊

溫度測(cè)量采用DS18B20數(shù)字溫度傳感器,通過(guò)單總線(xiàn)協(xié)議與主控芯片進(jìn)行通信,實(shí)現(xiàn)對(duì)水溫的精準(zhǔn)測(cè)量。

【3】液位檢測(cè)模塊

液位檢測(cè)采用液位傳感器,通過(guò)測(cè)量水箱內(nèi)水位來(lái)判斷是否需要進(jìn)行添加水操作。

【4】控制加熱芯片模塊

繼電器模塊負(fù)責(zé)控制加熱芯片,當(dāng)水燒開(kāi)后自動(dòng)斷電,以確保水的安全。

【5】出水操作模塊

出水操作通過(guò)SG90電機(jī)實(shí)現(xiàn),其可以控制水龍頭的開(kāi)關(guān),實(shí)現(xiàn)出水的自動(dòng)控制。

【6】WIFI通信模塊ESP8266作為WIFI模塊,與手機(jī)端進(jìn)行通信,實(shí)現(xiàn)了智能飲水機(jī)系統(tǒng)的遠(yuǎn)程操控和監(jiān)測(cè)。

三、系統(tǒng)軟件設(shè)計(jì)

【1】溫度測(cè)量與顯示模塊

STM32芯片通過(guò)單總線(xiàn)協(xié)議與DS18B20傳感器進(jìn)行通信,獲取當(dāng)前水溫?cái)?shù)據(jù),并將其通過(guò)LCD1602液晶顯示屏展示在飲水機(jī)面板上。

【2】液位檢測(cè)模塊

液位傳感器負(fù)責(zé)檢測(cè)水箱內(nèi)水位情況,并將水位數(shù)據(jù)傳遞給主控芯片。當(dāng)水位過(guò)低時(shí),系統(tǒng)會(huì)通過(guò)語(yǔ)音提示模塊向用戶(hù)發(fā)出添加水的提醒。

【3】控制加熱芯片模塊

主控芯片通過(guò)繼電器模塊控制加熱芯片的開(kāi)關(guān),在水燒開(kāi)后自動(dòng)斷電,以保證水的安全性。

【4】出水操作模塊

出水操作通過(guò)SG90電機(jī)控制,實(shí)現(xiàn)了對(duì)飲水機(jī)出水的自動(dòng)控制。同時(shí),在Android手機(jī)端,用戶(hù)可以設(shè)置出水溫度和出水量,使得出水操作更加便捷。

【5】WIFI通信模塊

系統(tǒng)通過(guò)ESP8266與Android手機(jī)端進(jìn)行通信,實(shí)現(xiàn)了智能飲水機(jī)系統(tǒng)的遠(yuǎn)程操控和監(jiān)測(cè)功能。用戶(hù)可以通過(guò)手機(jī)端查看當(dāng)前雙水箱內(nèi)的水溫并進(jìn)行相應(yīng)的操作。

ESP8266配置成AP+TCP服務(wù)器模式,開(kāi)啟WIFI熱點(diǎn)等待手機(jī)連接,手機(jī)連接之后使用TCP客戶(hù)端模式連接飲水機(jī)完成數(shù)據(jù)通信。

四、核心代碼

4.1 SG90控制代碼

SG90電機(jī)是一種小型舵機(jī),用于模型航空、船模、車(chē)模和機(jī)器人等小型機(jī)械裝置中,可以控制舵、飛控等運(yùn)動(dòng)部件的轉(zhuǎn)動(dòng)角度。其最大扭矩為1.6kg/cm(4.8V時(shí)),轉(zhuǎn)速為0.12秒/60度(4.8V時(shí)),工作電壓為4.8V~6V。SG90電機(jī)采用三線(xiàn)接口,其中紅色接VCC(正極)、棕色接GND(負(fù)極)、橙色接PWM信號(hào)線(xiàn),可以通過(guò)控制器的PWM信號(hào)控制電機(jī)的角度。

以下是使用延時(shí)模擬PWM波形控制SG90電機(jī)旋轉(zhuǎn)并封裝成子函數(shù)的示例代碼:

cCopy Code#include "stm32f10x.h"
?
#define SG90_PIN GPIO_Pin_5
#define SG90_PORT GPIOB
?
void SG90_rotate(uint8_t angle);
?
int main(void)
{
   // 初始化GPIOB時(shí)鐘
   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
  
   // 配置PB5為推挽輸出
   GPIO_InitTypeDef GPIO_InitStructure;
   GPIO_InitStructure.GPIO_Pin = SG90_PIN;
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
   GPIO_Init(SG90_PORT, &GPIO_InitStructure);
  
   while (1)
   {
     SG90_rotate(0); // 轉(zhuǎn)到0度
     delay_ms(1000);
    
     SG90_rotate(90); // 轉(zhuǎn)到90度
     delay_ms(1000);
    
     SG90_rotate(180); // 轉(zhuǎn)到180度
     delay_ms(1000);
   }
}
?
void SG90_rotate(uint8_t angle)
{
   // 計(jì)算PWM波形高電平持續(xù)時(shí)間
   uint32_t high_time = 500 + angle * 11.11;
  
   // 發(fā)送PWM波形
   GPIO_SetBits(SG90_PORT, SG90_PIN);
   delay_us(high_time);
   GPIO_ResetBits(SG90_PORT, SG90_PIN);
   delay_us(20000 - high_time);
}

在上面的代碼中,將SG90電機(jī)控制引腳連接到了STM32F103的PB5口,并通過(guò)計(jì)算PWM波形高電平持續(xù)時(shí)間來(lái)控制電機(jī)旋轉(zhuǎn)角度。使用了SG90_rotate子函數(shù)來(lái)實(shí)現(xiàn)控制過(guò)程。當(dāng)調(diào)用SG90_rotate函數(shù)并傳入目標(biāo)旋轉(zhuǎn)角度時(shí),函數(shù)會(huì)自動(dòng)計(jì)算出對(duì)應(yīng)的PWM波形高電平持續(xù)時(shí)間,并發(fā)送PWM波形來(lái)控制電機(jī)旋轉(zhuǎn)到指定角度。使用了delay_msdelay_us這兩個(gè)函數(shù)來(lái)實(shí)現(xiàn)延時(shí)操作。

4.2 DS18B20溫度傳感器

DS18B20是一種數(shù)字溫度傳感器,它可以直接測(cè)量環(huán)境溫度并轉(zhuǎn)換為數(shù)字信號(hào)輸出。DS18B20溫度傳感器采用一線(xiàn)式總線(xiàn)接口(也叫單總線(xiàn)接口),具有精度高、抗干擾能力強(qiáng)、可靠性高和使用方便等優(yōu)點(diǎn)。

DS18B20溫度傳感器的測(cè)量范圍為-55℃~+125℃,精度為±0.5℃。傳感器內(nèi)置了溫度補(bǔ)償電路,可以自動(dòng)補(bǔ)償溫度影響導(dǎo)致的測(cè)量誤差。

DS18B20溫度傳感器有多種封裝形式,包括TO-92封裝、SOIC封裝和TO-263封裝。其中TO-92封裝是最常見(jiàn)的,也最容易使用,它的引腳分別為GND(負(fù)極)、DQ(數(shù)據(jù)線(xiàn))和VDD(正極)。傳感器可以通過(guò)單總線(xiàn)接口連接控制器,控制器通過(guò)發(fā)送指令讀取傳感器的數(shù)據(jù)。

以下是接口函數(shù)的代碼示例:

#include "stm32f103xb.h"
#include 
?
#define DS18B20_GPIO_Port GPIOB
#define DS18B20_GPIO_Pin  GPIO_PIN_6
?
void delay_us(uint16_t us)
{
   uint16_t i;
   for(i=0; i

調(diào)用方式:

DS18B20_Init(); // 初始化
float temperature = DS18B20_ReadTemperature(); // 讀取溫度值

五、總結(jié)

本項(xiàng)目是基于STM32的智能飲水機(jī)系統(tǒng)設(shè)計(jì),實(shí)現(xiàn)了自動(dòng)斷電、液位感應(yīng)、語(yǔ)音提示、手機(jī)遠(yuǎn)程控制等功能。其中,STM32主控芯片選擇STM32F103RCT6,WIFI選擇ESP8266與手機(jī)端通信,水溫測(cè)量采用DS18B20,出水開(kāi)關(guān)控制采用SG90電機(jī)實(shí)現(xiàn)。

通過(guò)繼電器模塊控制加熱芯片,在水燒開(kāi)后自動(dòng)斷電,避免了過(guò)度燒水和安全隱患。同時(shí),利用液位傳感器感應(yīng)水箱水位,當(dāng)水位過(guò)低時(shí)通過(guò)語(yǔ)音模塊進(jìn)行播報(bào)提示,提醒用戶(hù)及時(shí)加水。

在Android手機(jī)端,用戶(hù)可以方便地查看當(dāng)前雙水箱內(nèi)的水溫,設(shè)置出水溫度及出水量,并控制出水操作。這極大地提高了用戶(hù)的使用體驗(yàn)和方便性。

本項(xiàng)目具有實(shí)用性和創(chuàng)新性,不僅滿(mǎn)足了用戶(hù)對(duì)智能化、便捷化的需求,也展示了STM32等技術(shù)在智能家居領(lǐng)域的應(yīng)用前景。



審核編輯:湯梓紅

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

    關(guān)注

    12

    文章

    3903

    瀏覽量

    126608
  • STM32
    +關(guān)注

    關(guān)注

    2257

    文章

    10828

    瀏覽量

    352438
  • WIFI
    +關(guān)注

    關(guān)注

    81

    文章

    5256

    瀏覽量

    201696
  • 飲水機(jī)
    +關(guān)注

    關(guān)注

    0

    文章

    41

    瀏覽量

    13825
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    0

    文章

    191

    瀏覽量

    16658
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    飲水機(jī)節(jié)電改造電路

    飲水機(jī)節(jié)電改造電路在不破壞飲水機(jī)外觀(guān)的情況下增加了幾個(gè)元件使飲水機(jī)具有省電功能。
    發(fā)表于 12-31 13:40 ?4266次閱讀
    <b class='flag-5'>飲水機(jī)</b>節(jié)電改造電路

    從傳統(tǒng)飲水機(jī)智能即熱飲水機(jī)

    ,再到如今的智能即熱飲水機(jī)飲水機(jī)的技術(shù)與形態(tài)都在發(fā)生著不小的改變。 ? 飲水機(jī)的發(fā)展歷程 ? 作為一種家用電器,飲水機(jī)的主要功能便是通過(guò)過(guò)
    的頭像 發(fā)表于 08-22 01:12 ?2117次閱讀

    維修飲水機(jī)

    維修飲水機(jī) 家里飲水機(jī)用久了不加熱線(xiàn)路好的 檢查溫控管好的.加熱膽壞了 網(wǎng)上購(gòu)買(mǎi)一個(gè)換上 指示燈恢復(fù)加熱 修復(fù)成功
    發(fā)表于 02-27 15:55

    智能家居——多功能飲水機(jī)的設(shè)計(jì)與實(shí)現(xiàn)

    ,結(jié)合各種傳感器,對(duì)傳統(tǒng)飲水機(jī)的各個(gè)弊病加于改善處理,集短信控制、自動(dòng)提醒送水、自動(dòng)放滿(mǎn)一杯水、節(jié)能和人性化設(shè)計(jì)于一體,可靠性、實(shí)用性、穩(wěn)定性高,可實(shí)現(xiàn)家居智能化。如圖1所示,該控制系統(tǒng)包括控制芯片,以及
    發(fā)表于 05-22 10:42

    請(qǐng)問(wèn)怎樣去設(shè)計(jì)一種基于單片機(jī)智能飲水機(jī)控制系統(tǒng)?

    基于單片機(jī)智能飲水機(jī)控制系統(tǒng)是由哪些部分組成的?怎樣去設(shè)計(jì)一種基于單片機(jī)智能
    發(fā)表于 07-15 10:27

    如何利用單片機(jī)實(shí)現(xiàn)智能飲水機(jī)控制系統(tǒng)設(shè)計(jì)?

    如何利用單片機(jī)實(shí)現(xiàn)智能飲水機(jī)控制系統(tǒng)設(shè)計(jì)?
    發(fā)表于 11-02 06:27

    基于單片機(jī)智能飲水機(jī)功能設(shè)計(jì)

    文章目錄1 簡(jiǎn)介2 緒論2.1 課題背景與目的3 系統(tǒng)設(shè)計(jì)3.1 智能飲水機(jī)功能設(shè)計(jì)3.1.1 智能飲水機(jī)的按鍵功能:3.1.2
    發(fā)表于 11-19 08:33

    飲水機(jī)低液位提醒功能是如何實(shí)現(xiàn)的

    傳感器檢測(cè)到。 當(dāng)光電液位傳感器檢測(cè)到光線(xiàn)的變化時(shí),它會(huì)向飲水機(jī)的控制系統(tǒng)發(fā)送信號(hào)??刂?b class='flag-5'>系統(tǒng)會(huì)根據(jù)接收到的信號(hào)判斷飲水機(jī)的液位是否低于設(shè)定的閾值。如果液位低于閾值,控制
    發(fā)表于 08-15 14:11

    基于單片機(jī)飲水機(jī)溫度控制系統(tǒng)設(shè)計(jì)

    本次設(shè)計(jì)為一個(gè)基于單片機(jī)飲水機(jī)的溫度控制系統(tǒng),該系統(tǒng)可以實(shí)時(shí)檢測(cè)飲水機(jī)水箱的水溫,并且可以通過(guò)數(shù)碼管顯示
    發(fā)表于 09-26 07:25

    飲水機(jī)原理_飲水機(jī)內(nèi)部結(jié)構(gòu)詳解

    飲水機(jī)對(duì)于家庭而言并不陌生了,幾乎每家每戶(hù)都有這樣的家電用器,很多朋友的好奇心也就越來(lái)越大了,都想著了解看飲水機(jī)構(gòu)造是怎么樣的呢?一起來(lái)看看飲水機(jī)構(gòu)造圖詳解吧,讓我們?cè)谏钪懈雍?jiǎn)便的對(duì)飲水機(jī)
    發(fā)表于 12-12 17:09 ?15.9w次閱讀

    智能化飲水機(jī)的優(yōu)點(diǎn)有哪些_智能化飲水機(jī)工作原理

    本文開(kāi)始介紹了什么是智能飲水機(jī)智能飲水機(jī)的特點(diǎn),其次介紹了智能飲水機(jī)的工作原理和
    的頭像 發(fā)表于 03-02 08:44 ?5993次閱讀

    智能飲水機(jī)的使用方法詳細(xì)介紹

    目前智能飲水機(jī)已經(jīng)得到普遍運(yùn)用。本文介紹了智能開(kāi)始飲水機(jī)的特點(diǎn),其次闡述了智能飲水機(jī)的使用方法或
    的頭像 發(fā)表于 03-02 09:02 ?5w次閱讀

    智能飲水機(jī)功能介紹_智能飲水機(jī)的特點(diǎn)及價(jià)格

    本文開(kāi)始闡述了智能飲水機(jī)的特點(diǎn)與工作原理,其次闡述了智能飲水機(jī)的功能,最后介紹了智能飲水機(jī)的價(jià)格
    的頭像 發(fā)表于 03-02 09:16 ?1.5w次閱讀

    智能飲水機(jī)哪個(gè)牌子好_十大智能飲水機(jī)品牌排名

    智能飲水機(jī)目前在我們生活中已經(jīng)得到普遍的運(yùn)用。然后市場(chǎng)中也出現(xiàn)了很多品牌,因此讓人們都在糾結(jié)應(yīng)該選購(gòu)哪個(gè)品牌哪個(gè)品牌好的問(wèn)題。接下來(lái)小編將介紹十大智能飲水機(jī)品牌排名。
    的頭像 發(fā)表于 03-02 09:45 ?3w次閱讀

    飲水機(jī)的制冷和制熱原理分別是什么?

    飲水機(jī)是公司、家庭中常用到的飲水道具。主要是我國(guó)的自來(lái)水沒(méi)有達(dá)到直接飲用的標(biāo)準(zhǔn),因此很多人為了自己的健康著想,會(huì)在家里面?zhèn)湟粋€(gè)飲水機(jī)。一般的飲水機(jī)利用半導(dǎo)體直冷式冷熱
    的頭像 發(fā)表于 08-20 11:09 ?3.4w次閱讀
    <b class='flag-5'>飲水機(jī)</b>的制冷和制熱原理分別是什么?