博客專欄

EEPW首頁(yè) > 博客 > 寶,這是什么鏡?美顏濾鏡!

寶,這是什么鏡?美顏濾鏡!

發(fā)布人:智能物聯(lián)研習(xí)社 時(shí)間:2021-07-02 來(lái)源:工程師 發(fā)布文章

最近,杭州天天下雨。


清早,睜開(kāi)雙眼,依舊是陰霾霾的天氣,窗外下著淅瀝瀝的小雨。像往常一樣,準(zhǔn)備洗漱。只感覺(jué),身后一陣風(fēng)吹過(guò),女友拿著鏡子直往窗戶那邊沖!


此刻,涂鴉“攻城獅”小張腦海中蹦跶出一百個(gè)問(wèn)號(hào)???這是什么日常迷惑行為???


圖片


原來(lái),今天下雨,由于家中光線太暗,女友為避免眉毛不變成蠟筆小新,腮紅不變?yōu)槿毡舅嚰?,粉底避免刷墻般瘆人,只能去借助大自然的光芒完善自己的妝容。




小張哭笑不得,不得不感嘆一句:做女人真難!轉(zhuǎn)念一想,既然需要自然光,那親自 DIY 一款智能化妝鏡肯定能解決女友的“化妝難”煩惱。不得不說(shuō):真是個(gè)體貼入微的小哥哥呢~


小編似乎聞到一絲絲戀愛(ài)的酸臭味~

圖片

你以為就這樣嗎?放心,后面還有一棵檸檬樹(shù)等著你!


先來(lái)瞅瞅這款寶藏“魔鏡”~


圖片
女神都毫無(wú)抵抗力的多功能智能“魔鏡”!


01

功能設(shè)計(jì)



功能
說(shuō)明
開(kāi)關(guān)
觸控按鍵& App 雙控制
燈光模式冷光、暖光、自然光
調(diào)光無(wú)極調(diào)光
顯示時(shí)間、天氣、溫度、低電量圖標(biāo)
人體感應(yīng)檢測(cè)到人體燈亮,未檢測(cè)到人體 60 s后燈熄滅
供電方式支持有線&無(wú)線充電
斷電記憶斷電重啟后恢復(fù)上一次設(shè)置(模式&亮度)

點(diǎn)擊:即可查看完整開(kāi)發(fā)資料。

https://developer.tuya.com/cn/demo/smart-mirror?_source=49f22ca17e17c1e74df4fd2cdc460587



02

整體方案


 為實(shí)現(xiàn)上面的功能,小張說(shuō):智能鏡的整體搭建方案是選用涂鴉智能的 Wi-Fi&

Bluetooth LE 云模組作為主控方便接入涂鴉云實(shí)現(xiàn) App 端智能控制,搭配燈圈、屏幕、PIR 感應(yīng)器來(lái)實(shí)現(xiàn)我們的多種燈光模式、時(shí)間顯示以及人體感應(yīng)的功能,另外可以增加一個(gè)四路觸摸按鍵實(shí)現(xiàn)實(shí)體觸控控制。

 

圖片


03

硬件方案


主控選擇涂鴉 Wi-Fi & Bluetooth LE 雙模模組,該模組支持多種通信協(xié)議、多種尺寸規(guī)格、多種工作溫度、多種焊接方式的一系列超高性價(jià)比自研模組,廣泛應(yīng)用于各種產(chǎn)品類型和開(kāi)發(fā)方式。


屏幕選擇型號(hào)為 MF219 2.19 寸集成串口屏,屏幕內(nèi)置了國(guó)標(biāo)一級(jí)、二級(jí)簡(jiǎn)體中文字庫(kù)和英文 ASCII 字符集,同時(shí)開(kāi)放內(nèi)部點(diǎn)陣 DDRAM,能夠在屏幕上的任意位置顯示圖片及圖形。同時(shí)支持 UART 接口方式,接線比較簡(jiǎn)單;且用戶只要幾條簡(jiǎn)單指令就能設(shè)計(jì)出美觀絢麗的用戶界面。


觸控按鍵采用 BS814A-1 觸摸芯片,BS81x 系列芯片具有 2~16 個(gè)觸摸按鍵,可用來(lái)檢測(cè)外部觸摸按鍵上人手的觸摸動(dòng)作。該系列的芯片具有較高的集成度,僅需極少的外部組件便可實(shí)現(xiàn)觸摸按鍵的檢測(cè)。


燈珠:暖光燈珠采用HL-AM-2835H489W-S1-08HL-HR3;冷光燈珠采用HL-AM-2835H421W-S1-08-HR3;另外為實(shí)現(xiàn)自然光和無(wú)極調(diào)光功能增加兩顆LED驅(qū)動(dòng)OC7141


人體感應(yīng):選用一顆微型人體感應(yīng) PIR


供電系統(tǒng):


整機(jī)供電電源芯片:采用兩個(gè) SY8089A1AAC 實(shí)現(xiàn),前面一顆芯片可以將 2.5-5.5V 的輸入電源穩(wěn)定到 4.35V 為鋰電池充電,后面一顆可以將電池輸出電壓穩(wěn)定到 3.3V 為主控、觸摸、燈圈、屏幕、PIR 供電。


電池:選用 3.8V 6000mAh 的聚合物電池,可以滿足燈圈長(zhǎng)時(shí)間供電


電量檢測(cè):用 CBU 模組的 ADC 引腳實(shí)現(xiàn),通過(guò) ADC 讀取電池的電量。


無(wú)線充電:無(wú)線充電主要由兩部分組成,無(wú)線充電****模塊和無(wú)線充電接收模塊,我們直接從網(wǎng)上采購(gòu)。


  • 主控原理圖:


圖片點(diǎn)擊以下鏈接,即可查看完整詳情開(kāi)發(fā)資料(內(nèi)附原理圖+源代碼)。

https://developer.tuya.com/cn/demo/smart-mirror?_source=49f22ca17e17c1e74df4fd2cdc460587



  • 結(jié)構(gòu)設(shè)計(jì):


結(jié)構(gòu)部分由鏡面、鏡面遮光板、鏡面卡、燈罩、燈罩卡、機(jī)身、機(jī)身底、充電頂、充電底九部分組成。

圖片

圖片


04

創(chuàng)建產(chǎn)品


下面是小張通過(guò)涂鴉 IoT 開(kāi)發(fā)平臺(tái),讓化妝鏡實(shí)現(xiàn)真正的聯(lián)網(wǎng)與智能化。
登錄涂鴉智能 IoT 平臺(tái)創(chuàng)建產(chǎn)品,點(diǎn)擊創(chuàng)建產(chǎn)品,在標(biāo)準(zhǔn)類目欄的最下方找到“找不到品類”,點(diǎn)擊進(jìn)入自定義產(chǎn)品創(chuàng)建頁(yè)面。(詳細(xì)創(chuàng)建步驟可參考平臺(tái)內(nèi)操作指導(dǎo))
圖片

05

環(huán)境搭建


小張說(shuō):智能化妝鏡是基于 BK7231N 平臺(tái)進(jìn)行的 SoC 開(kāi)發(fā),開(kāi)發(fā)所用的涂鴉通用 SDK 編譯需要 linux 環(huán)境,首先要安裝 linux 開(kāi)發(fā)環(huán)境,然后從涂鴉倉(cāng)庫(kù)拉取包含 SDK 環(huán)境的 Demo 例程 。
注:GitHub 具體地址通過(guò)關(guān)注“涂鴉開(kāi)發(fā)者”,回復(fù)“化妝鏡”,即可獲取哦~


06

功能實(shí)現(xiàn)


  • 觸摸按鍵:在tuya_mirror_key.c文件中,封裝了app_key_init()、app_key_scan()兩個(gè)函數(shù)。app_key_init()用于初始化按鍵IO,app_key_scan()用于掃描按鍵按下情況獲取鍵值;


  • 屏幕顯示:Demo選用的是一個(gè)塊 2.19 寸集成模塊串口屏,光靠屏幕內(nèi)置的字庫(kù)和圖案所呈現(xiàn)的效果肯定是毫無(wú)美感的,我們需要自己準(zhǔn)備字符素材,把收集好的圖片素材打包為 bin 文件燒錄至屏幕模組里即可;其次在例程的 tuya_mirror_screen.c 里面封裝了屏幕初始化函數(shù) screen_init() 和各個(gè)元素的顯示函數(shù): screen_display_time()、screen_display_week()、screen_display_year()、screen_display_day 等,在應(yīng)用線程中調(diào)用時(shí)傳入獲取到的本地時(shí)間和日期即可在屏幕上顯示出來(lái)。


  • 時(shí)間和日期獲取:要獲取本地時(shí)間,首先需包含頭文件 uni_time.h。定義一個(gè)本地時(shí)間結(jié)構(gòu)體變量,然后作為傳參調(diào)用 uni_local_time_get() 接口獲取時(shí)間


  • PWM 驅(qū)動(dòng)燈板:Demo 使用了一冷一暖兩種 LED 燈,通過(guò)輸出兩路 PWM 驅(qū)動(dòng),實(shí)現(xiàn)燈光亮度可調(diào)和冷暖色的切換。例程中有關(guān) pwm 的初始化和啟動(dòng)、占空比設(shè)置等相關(guān)代碼都實(shí)現(xiàn)在 tuya_mirror_pwm.c 文件中。


  • 人體感應(yīng):Demo 還有一個(gè)人體感應(yīng)開(kāi)關(guān)燈光和屏幕的功能,是通過(guò)一個(gè) PIR 傳感器來(lái)簡(jiǎn)單實(shí)現(xiàn)的。該傳感器會(huì)在檢測(cè)到人體運(yùn)動(dòng)的時(shí)候輸出高電平,簡(jiǎn)單易用。直接寫一個(gè)讀取連接傳感器 IO 的電平的函數(shù),然后把它放到線程里周期運(yùn)行,并在讀到高電平的時(shí)候保存 PIR 狀態(tài)在設(shè)備數(shù)據(jù)結(jié)構(gòu)體當(dāng)中,然后另一個(gè)線程對(duì)設(shè)備數(shù)據(jù)結(jié)構(gòu)體中 PIR 的狀態(tài)進(jìn)行判定,當(dāng)設(shè)備打開(kāi)人體感應(yīng)功能,且設(shè)備總開(kāi)關(guān)處于打開(kāi)的情況下,PIR 檢測(cè)到有人的時(shí)候?qū)?huì)打開(kāi)燈光開(kāi)關(guān),同時(shí)啟動(dòng)定時(shí)器。當(dāng)定時(shí)器觸發(fā)進(jìn)入中斷時(shí)將會(huì)關(guān)閉燈光開(kāi)關(guān)。


  • 電量檢測(cè)及顯示:這個(gè)功能通過(guò) ADC 采樣得到電池電壓,再根據(jù)電壓值預(yù)估電池剩余電量,同時(shí)把之前屏幕素材收集階段準(zhǔn)備的幾張電池圖案顯示在屏幕上。

 

07

編譯和燒錄


在 linux 終端輸入指令運(yùn)行 SDK 環(huán)境目錄下的 build_app.sh 腳本來(lái)編譯代碼生成固件,指令格式為 sh build_app.sh APP_PATH APP_NAME APP_VERSION
固件生成路徑為:apps->APP_PATH->output 。燒錄完成之后就可以進(jìn)行功能調(diào)試了 至此,一款帶有多種燈光模式,既可以顯示時(shí)間,又可以智能感應(yīng)開(kāi)關(guān)的化妝鏡就完成了。你與女神的距離,可能就差這一款多功能智能“魔鏡”,立即為她升級(jí)美妝“裝備”!
點(diǎn)擊:https://www.wjx.cn/vj/tpAzP8a.aspx





*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。




相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉