一、項(xiàng)目背景
隨著人們生活水平和健康意識(shí)的提高,越來越多的人開始注重自己的飲食健康。在此背景下,智能營(yíng)養(yǎng)秤系統(tǒng)應(yīng)運(yùn)而生,成為了一種非常實(shí)用的工具。本項(xiàng)目基于51單片機(jī)設(shè)計(jì)和實(shí)現(xiàn)一種智能營(yíng)養(yǎng)秤系統(tǒng),通過該系統(tǒng)可準(zhǔn)確地測(cè)量食物的重量并計(jì)算其熱量、蛋白質(zhì)、脂肪、碳水化合物等營(yíng)養(yǎng)成分含量。
【資料圖】
當(dāng)前系統(tǒng)采用了STC89C52單片機(jī)作為主控芯片,預(yù)置了多種食材的營(yíng)養(yǎng)成分?jǐn)?shù)據(jù)。用戶只需要使用矩陣鍵盤輸入食材編號(hào),將需要稱重的食材放置在重力傳感器上進(jìn)行依次稱重,系統(tǒng)就可以自動(dòng)計(jì)算出所有食材的各類營(yíng)養(yǎng)含量總值,并通過液晶屏顯示出來。同時(shí),系統(tǒng)根據(jù)預(yù)設(shè)的營(yíng)養(yǎng)指標(biāo),對(duì)不達(dá)標(biāo)或超標(biāo)的食材進(jìn)行對(duì)應(yīng)的聲光提示,提醒用戶注意飲食健康。
當(dāng)前系統(tǒng)還配備了無線WIFI模塊,可以將當(dāng)前營(yíng)養(yǎng)數(shù)據(jù)上傳到手機(jī)端實(shí)時(shí)顯示,并給出營(yíng)養(yǎng)建議。這使得用戶可以隨時(shí)1了解自己的飲食情況,及時(shí)進(jìn)行調(diào)整,從而達(dá)到更好的健康效果。
本項(xiàng)目的設(shè)計(jì)和實(shí)現(xiàn)是為了滿足人們對(duì)于飲食健康的需求,幫助人們更好地控制自己的飲食,達(dá)到健康瘦身的目的。同時(shí),由于采用了51單片機(jī)的設(shè)計(jì)方案,具有成本低、易于制作、易于維護(hù)等優(yōu)點(diǎn),具有廣泛的應(yīng)用前景。
二、系統(tǒng)設(shè)計(jì)過程
2.1 硬件組成
【1】STC89C52單片機(jī)作為主控芯片。
【2】4x4電容矩陣鍵盤用于輸入食材編號(hào)。
【3】HX711重力傳感器用來進(jìn)行多種食材的稱重。
【4】1.44寸LCD顯示屏用來顯示所有食材的各類營(yíng)養(yǎng)含量總值。
【5】ESP8266無線WIFI模塊用于將當(dāng)前營(yíng)養(yǎng)數(shù)據(jù)上傳到手機(jī)端實(shí)時(shí)顯示。
2.2 系統(tǒng)框架組成
【1】輸入:使用4x4電容矩陣鍵盤輸入食材編號(hào),觸發(fā)稱重功能。
【2】稱重:根據(jù)輸入的食材編號(hào),通過HX711重力傳感器對(duì)多種食材依次稱重。
【3】計(jì)算:系統(tǒng)自動(dòng)計(jì)算所有食材的各類營(yíng)養(yǎng)含量總值,并在1.44寸LCD顯示屏上顯示。
【4】判斷:根據(jù)系統(tǒng)預(yù)設(shè)的營(yíng)養(yǎng)指標(biāo),判斷當(dāng)前營(yíng)養(yǎng)數(shù)據(jù)是否達(dá)標(biāo)或超標(biāo)。
【5】提示:若不達(dá)標(biāo)或超標(biāo),系統(tǒng)進(jìn)行相應(yīng)的聲光提示。
【6】數(shù)據(jù)上傳:通過ESP8266無線WIFI模塊將當(dāng)前營(yíng)養(yǎng)數(shù)據(jù)上傳到手機(jī)端實(shí)時(shí)顯示,并給出營(yíng)養(yǎng)建議。
2.3 系統(tǒng)模塊設(shè)計(jì)
【1】系統(tǒng)硬件設(shè)計(jì)
采用了51單片機(jī)作為主控芯片,重力傳感器用于稱重,矩陣鍵盤用于輸入食材編號(hào),液晶屏用于顯示數(shù)據(jù)。同時(shí),為了實(shí)現(xiàn)無線上傳功能,還需要添加WIFI模塊。
【2】系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)的軟件設(shè)計(jì)主要包括兩個(gè)方面,即驅(qū)動(dòng)程序和應(yīng)用程序。其中,驅(qū)動(dòng)程序負(fù)責(zé)與各個(gè)硬件模塊進(jìn)行通信,讀取和處理相關(guān)數(shù)據(jù);應(yīng)用程序則負(fù)責(zé)實(shí)現(xiàn)具體的計(jì)算和控制邏輯。
【3】食材營(yíng)養(yǎng)成分?jǐn)?shù)據(jù)預(yù)置
預(yù)先測(cè)量并記錄多種食材的重量和營(yíng)養(yǎng)成分含量,并將這些數(shù)據(jù)存儲(chǔ)在系統(tǒng)中供后續(xù)使用。
【4】食材識(shí)別和稱重
當(dāng)用戶輸入食材編號(hào)后,系統(tǒng)自動(dòng)從預(yù)置的數(shù)據(jù)中查找對(duì)應(yīng)的營(yíng)養(yǎng)成分信息。然后,用戶將需要稱重的食材放置在重力傳感器上,系統(tǒng)開始進(jìn)行稱重并輸出重量數(shù)據(jù)。
【5】營(yíng)養(yǎng)計(jì)算和指標(biāo)判斷
系統(tǒng)根據(jù)已知的食材重量和營(yíng)養(yǎng)成分?jǐn)?shù)據(jù),計(jì)算出當(dāng)前食物的各類營(yíng)養(yǎng)含量總值。同時(shí),根據(jù)預(yù)設(shè)的營(yíng)養(yǎng)指標(biāo),判斷當(dāng)前食物是否達(dá)標(biāo)或超標(biāo),并進(jìn)行相應(yīng)的聲光提示。
【6】數(shù)據(jù)傳輸和顯示
將當(dāng)前的營(yíng)養(yǎng)數(shù)據(jù)通過WIFI模塊上傳到手機(jī)端實(shí)時(shí)顯示,并根據(jù)用戶的身體數(shù)據(jù)和運(yùn)動(dòng)情況,推薦合適的飲食方案。
【7】整體測(cè)試和優(yōu)化:對(duì)系統(tǒng)進(jìn)行整體測(cè)試和優(yōu)化,確保系統(tǒng)能夠正常工作并滿足設(shè)計(jì)要求。
2.4 程序設(shè)計(jì)思路
【1】定義多種食材的營(yíng)養(yǎng)成分?jǐn)?shù)據(jù),存儲(chǔ)在程序中。
【2】初始化電容矩陣鍵盤和HX711重力傳感器。
【3】等待用戶輸入食材編號(hào)。一旦檢測(cè)到有效輸入,記錄食材編號(hào)并觸發(fā)稱重功能。
【4】根據(jù)輸入的食材編號(hào),依次使用HX711重力傳感器進(jìn)行稱重,并根據(jù)對(duì)應(yīng)的營(yíng)養(yǎng)成分?jǐn)?shù)據(jù)進(jìn)行計(jì)算,得出每種營(yíng)養(yǎng)成分的總值。
【5】將所有食材的營(yíng)養(yǎng)成分總值通過1.44寸LCD顯示屏展示給用戶。
【6】根據(jù)系統(tǒng)預(yù)設(shè)的營(yíng)養(yǎng)指標(biāo),判斷當(dāng)前營(yíng)養(yǎng)數(shù)據(jù)是否達(dá)標(biāo)或超標(biāo)。如果不達(dá)標(biāo)或超標(biāo),則進(jìn)行相應(yīng)的聲光提示。
【7】通過ESP8266無線WIFI模塊將當(dāng)前營(yíng)養(yǎng)數(shù)據(jù)上傳到手機(jī)端實(shí)時(shí)顯示,并給出營(yíng)養(yǎng)建議。
三、程序代碼實(shí)現(xiàn)
3.1 HX711稱重傳感器代碼
下面是STC89C52單片機(jī)讀取HX711稱重傳感器的值,得到最終的重量,打印到串口的完整代碼:
#include #include ?// HX711引腳定義sbit HX711_DOUT = P1^0; // 數(shù)據(jù)輸出引腳sbit HX711_SCK = P1^1; // 時(shí)鐘輸入引腳?typedef unsigned char uchar;typedef unsigned int uint;?uchar WeiLai, OldData; // 定義兩個(gè)變量,用于保存數(shù)據(jù)uchar Data[3]; // 存放讀取的數(shù)據(jù)long result = 0; // 定義長(zhǎng)整型變量,用于存放最終的重量值?void delay_us(uint us) // 延時(shí)函數(shù)(微秒級(jí)){ while(us--) { _nop_(); // 空操作語句,延時(shí)一微秒 _nop_(); _nop_(); _nop_(); }}?void Read_HX711() // 讀HX711函數(shù){ uchar i; HX711_DOUT = 1; // 先將DOUT置為高電平 delay_us(1); // 延時(shí)1微秒 HX711_SCK = 0; // 將SCK置為低電平 delay_us(1); // 延時(shí)1微秒? for(i=0;i<24;i++) // 循環(huán)24次,讀取數(shù)據(jù) { HX711_SCK = 1; // 將SCK置為高電平 delay_us(1); // 延時(shí)1微秒 WeiLai = HX711_DOUT; // 讀取DOUT引腳上的數(shù)據(jù) result <<= 1; // 左移一位 if(WeiLai == 1) // 如果DOUT為1,將result的最低位賦值為1 { result++; } HX711_SCK = 0; // 將SCK置為低電平 delay_us(1); // 延時(shí)1微秒 }? WeiLai = OldData; // 將OldData的值賦給WeiLai Data[2] = result; // 存儲(chǔ)重量值的最高字節(jié) Data[1] = result>>8; // 存儲(chǔ)重量值的中間字節(jié) Data[0] = result>>16; // 存儲(chǔ)重量值的最低字節(jié)}?void main(){ TMOD = 0x20; // 定時(shí)器T1工作模式設(shè)置 TH1 = 0xfd; // 波特率9600 TL1 = 0xfd; // 波特率9600 TR1 = 1; // 啟動(dòng)定時(shí)器T1 SCON = 0x50; // 設(shè)置串口工作方式? while(1) { Read_HX711(); // 調(diào)用讀HX711函數(shù)? // 將讀取到的數(shù)據(jù)打印到串口 SBUF = Data[0]; while(TI== 0); TI = 0;? SBUF = Data[1]; while(TI == 0); TI = 0;? SBUF = Data[2]; while(TI == 0); TI = 0; }}
3.2 ESP82660-WIFI配置代碼
以下是STC89C52單片機(jī)控制ESP8266,配置成AP模式,開啟TCP服務(wù)器,等待客戶端連接上來的完整代碼:
#include #include ?#define RXD P3_0 // 串口接收引腳#define TXD P3_1 // 串口發(fā)送引腳?typedef unsigned char uchar;typedef unsigned int uint;?bit rcvflag; // 接收標(biāo)志位uchar idata RcvBuf; // 存儲(chǔ)接收到的數(shù)據(jù)uchar len; // 存儲(chǔ)接收到的數(shù)據(jù)長(zhǎng)度uchar AT_OK; // 存儲(chǔ)AT指令執(zhí)行結(jié)果?/* 延時(shí)函數(shù) */void Delayms(uint ms){ uchar i, j; for(i=0;i;i++)>
關(guān)鍵詞:
凡注有"實(shí)況網(wǎng)-重新發(fā)現(xiàn)生活"或電頭為"實(shí)況網(wǎng)-重新發(fā)現(xiàn)生活"的稿件,均為實(shí)況網(wǎng)-重新發(fā)現(xiàn)生活獨(dú)家版權(quán)所有,未經(jīng)許可不得轉(zhuǎn)載或鏡像;授權(quán)轉(zhuǎn)載必須注明來源為"實(shí)況網(wǎng)-重新發(fā)現(xiàn)生活",并保留"實(shí)況網(wǎng)-重新發(fā)現(xiàn)生活"的電頭。
熱點(diǎn)
- 基于51單片機(jī)的智能營(yíng)養(yǎng)秤系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 全球信息:東方通:二級(jí)市場(chǎng)股價(jià)是受宏觀經(jīng)濟(jì)、政策導(dǎo)向、資金量、投資者心態(tài)等諸多因素影響,有時(shí)會(huì)出現(xiàn)非理性波動(dòng)
- 多面硬幣使用效果_多面硬幣
- 2023開封購(gòu)買二手房提取住房公積金所需材料是什么?
- 今日熱議:夸女朋友優(yōu)秀的句子(如何夸女朋友好看不敷衍)
- (遇見中國(guó))“方便”“速度”“勤奮”……吉爾吉斯斯坦姑娘金金眼中的中國(guó)關(guān)鍵詞|天天微速訊
- 因扎吉的逆襲,從變通開始 實(shí)時(shí)焦點(diǎn)
- 焦點(diǎn)速看:邊開邊充!瑞典率先打造世界首條永久性充電公路
- 軸承座概念股有哪些?軸承座股票一覽(2023/5/17)
- 易烊千璽法國(guó)聚餐路透照 順毛造型滿滿少年感 全球?qū)崟r(shí)
頭條
- 萬人說新疆丨課堂中的健身操讓孩子們歡樂無限|天天熱消息
- 【天天報(bào)資訊】高質(zhì)量發(fā)展調(diào)研行|科創(chuàng)引擎強(qiáng)勁,南京發(fā)展“成色更足”
- 新疆哪些出口產(chǎn)品更受歡迎?1—4月外貿(mào)進(jìn)出口數(shù)據(jù)來了
- 中國(guó)星辰|北斗升空!他們用自主創(chuàng)新奮進(jìn)世界一流
- 海外網(wǎng)評(píng):中東歐博覽會(huì)再次證明中歐合作“是機(jī)遇不是風(fēng)險(xiǎn)”_世界新資訊
- 環(huán)球視點(diǎn)!首次使用新場(chǎng)館、超5000種展品亮相 中國(guó)-中東歐國(guó)家博覽會(huì)亮點(diǎn)多多
- 日本民眾舉行集會(huì) 反對(duì)福島核污染水排海 天天頭條
- “四季看新疆”之“追著花兒看新疆”主題采訪活動(dòng)5月16日啟動(dòng) 消息
- 共同譜寫中國(guó)-中亞關(guān)系美好明天
- 不到5分鐘北京就誕生一家科技型企業(yè) 重點(diǎn)聚焦