個人電子類作品集2017~2020
挑選本科時期的十件電子作品,以時間先后排序整理,展示自己從使用開發(fā)板+成品模塊參加校內(nèi)競賽開始,逐漸掌握開發(fā)技能的過程。帶有【實用】標簽的作品都是根據(jù)真實需求設(shè)計的,能夠解決一些現(xiàn)實問題。每件作品都從背景、任務(wù)、行動、結(jié)果四個維度作簡要說明。
目錄
【競賽】視頻播放器?單片機播放《Bad Apple》,為參加校內(nèi)電子競賽制作,入坑作品。
SD卡讀寫/LCD12864液晶屏
【實用】寢室暖氣改造計劃 將寢室內(nèi)的水暖片改為主動散熱,提高冬天室溫
DS18b20室溫+水溫檢測/LCD12864屏幕/EEPROM用戶設(shè)置存儲/PWM+MOSFET風扇轉(zhuǎn)速控制/DC-DC降壓
【實用】RFID門禁系統(tǒng) 手機(手環(huán))NFC或飯卡代替寢室鑰匙,刷卡進門
RC522 RFID讀卡器/OLED屏幕/EEPROM卡片授權(quán)管理/H型電橋電機驅(qū)動/直線電機
【實用】搖表器 用智能手表刷步數(shù),解決了微信步數(shù)太少,又不想出門跑步的問題
減速電機/H型電橋
【實用】實驗室Wi-Fi門禁系統(tǒng)?手機不支持NFC沒關(guān)系,能連Wi-Fi就能開門
ESP8266 Wi-Fi模塊/推拉式電磁鐵/直線電機/H型電橋
【探索】RC充放電ADC 嘗試搭建積分型ADC電路,讓不支持ADC的單片機能夠測量電源電壓
【課設(shè)】太陽能計算器?使用超級電容+太陽能電池板作為電源的簡易計算器
矩陣鍵盤/LCD1602液晶屏
【實用】數(shù)控電壓源 工位沒有直流穩(wěn)壓電源,自己做一個
LM2576T DC-DC降壓電路/DAC/X9C103數(shù)字電位器
【課設(shè)】藍牙體溫計 將MAX30205的stm32驅(qū)動移植到51平臺并開源
MAX30205高精度體溫傳感器/PW02藍牙串口透傳模塊
【課設(shè)】貯水式熱水器 實現(xiàn)進水控制、加熱、水溫水位檢測、市電電壓檢測功能
低壓直流水泵/非接觸式液位傳感器/DS18b20溫度傳感器/電熱棒/ZMPT107電壓互感器
正文
1.【競賽】視頻播放器 2017年5月 入坑作品
背景:參加校內(nèi)電子產(chǎn)品設(shè)計競賽,第一次接觸單片機,做出像樣的東西就算成功。
任務(wù):制作一個簡易“視頻播放器”,播放《Bad Apple》。
行動:用51單片機開發(fā)板、SD讀卡器模塊、12864液晶屏和幾個按鍵做了一個簡易“視頻播放器”,模塊之間使用杜邦線連接。SD卡為FAT格式,將預先轉(zhuǎn)換為8位數(shù)組的《Bad Apple》視頻拷貝至SD卡內(nèi)再插入讀卡器模塊,單片機通過SPI協(xié)議與讀卡器通信,讀出SD卡內(nèi)的數(shù)組并將內(nèi)容顯示在屏幕上。4個按鍵對應(yīng)“播放/暫?!?、“重播”、“快進”、“快退”功能。
踩坑:開發(fā)過程中遇到屏幕只能顯示1/4畫面的問題,如圖所示:

分析原因為STC89C52單片機內(nèi)存不足,12864屏幕共有8192個像素,至少需要1KB內(nèi)存才能一次顯示整個畫面,解決辦法是更換大內(nèi)存的單片機STC89C58RD+,最終成品效果如圖所示:

結(jié)果:初賽大一分組第一名(獲決賽資格),決賽三等獎。成品模塊+杜邦線+開發(fā)板的組合實在簡陋,實用性也不高,決賽比不過高年級學生的作品算是情理之中。
2.【實用】寢室暖氣改造計劃 2017年10月 第一個實用作品
背景:學校宿舍冬天平均每天供暖時長不足10小時,實在太冷,需要想辦法提高水暖片的利用率,從而提升室內(nèi)溫度。
任務(wù):改造宿舍的被動式取暖器,在供暖時段用風扇吹暖氣片,無供暖時段以及夜間關(guān)閉風扇,避免噪音擾民。
行動:將5個支持PWM調(diào)速的風扇用膠槍固定在木條上,風扇陣列長度與暖氣片相當,如圖所示:

使用兩個DS18b20數(shù)字溫度傳感器分別檢測環(huán)境溫度和暖氣管道水溫。編寫單片機程序,當水溫超過30℃且室溫未達目標溫度時啟動風扇,目標溫度可以使用按鍵或手機紅外遙控器修改。風扇使用場效應(yīng)管模塊驅(qū)動,支持單片機輸出PWM波進行風扇調(diào)速。液晶屏用于顯示當前室溫、目標溫度、暖氣水溫、風扇轉(zhuǎn)速。
踩坑:
①??? 12864屏幕功耗較高,初版方案采用7805線性穩(wěn)壓管將12V電源降至5V為屏幕供電,發(fā)熱量很大。后期改用DC-DC降壓模塊供電。
②??? 剛開始買的風扇不支持PWM調(diào)速,占空比小于90%就不轉(zhuǎn)了,后來換了臺式機用的機箱風扇解決問題。
結(jié)果:冬天門窗關(guān)閉的情況下,室內(nèi)平均溫度相比隔壁寢室提高6~10℃,成品工作展示:

3.【實用】RFID門禁系統(tǒng) 首次使用I2C OLED屏幕、RC522 RFID模塊、EEPROM、IAP下載。第一次制作PCB
背景:有時候出門忘帶鑰匙,碰上宿管阿姨不在崗,會被攔在宿舍門外,需要開發(fā)一種不用鑰匙也能進門的電子產(chǎn)品。
任務(wù):開發(fā)一款能夠免鑰匙開門的產(chǎn)品,要求能夠使用飯卡或手機/手環(huán)NFC隔著門玻璃解鎖。為了盡可能保證安全,不得使用指紋、密碼鍵盤等需要將電路暴露在門外的解鎖方式。
行動:使用直線電機、H橋電機驅(qū)動、RFID讀卡器、干簧管等零部件制作了一套門禁系統(tǒng),該系統(tǒng)從墻上的USB口取電。開門邏輯:當RFID讀卡器檢測到已授權(quán)的IC卡或NFC標簽,主控板驅(qū)動直線電機正轉(zhuǎn),用棉線拉開門閂;當干簧管門磁電路檢測有人推開門,主控驅(qū)動電機反轉(zhuǎn),門閂在鎖芯內(nèi)部彈簧的推動下復位。授權(quán)邏輯:在門的內(nèi)側(cè)通過按鍵進入授權(quán)系統(tǒng),該系統(tǒng)能夠使用STC12C5A60S2內(nèi)置EEPROM存儲20張卡片信息,根據(jù)OLED屏幕提示選中一個空槽位后將卡片靠近讀卡器,聽到蜂鳴器發(fā)聲、屏幕顯示卡號即完成授權(quán)。
為了方便調(diào)試,程序中加入了IAP下載功能,當單片機串口接收到下載命令時會自動復位到ISP區(qū)進入燒錄模式,無需手動上電復位。
踩坑:
①??? ?初版方案使用減速電機,行程不可控,速度慢且容易拉斷線,后來改成固定行程的直線電機。
②??? 直線電機功率較高,墻插上的USB口直驅(qū)會觸發(fā)斷電保護,解決方案是為加入一塊高倍率鋰電池單獨為電機服務(wù)。
結(jié)果:經(jīng)過一次改版修復問題后,這套系統(tǒng)工作了兩年,受到了室友的一致好評,一直運行到學校搬遷前拆除,功成身退。系統(tǒng)工作狀態(tài)如圖所示:


4.【實用】搖表器
背景:微信步數(shù)太少,又懶得自己走,想到上一個作品(RFID門禁)初版方案淘汰下來的減速電機沒處用,不如拿來做個能搖晃智能手表/手環(huán)的東西刷步數(shù)。
任務(wù):設(shè)計制作一個搖表器,要求能夠搖晃手表/手環(huán)以達到欺騙計步器的目的。
行動:在減速電機輸出軸上用膠水固定了一截木條,用STC15F104W+H形電橋驅(qū)動減速電機正反轉(zhuǎn),手表/手環(huán)可以掛在木條上隨著電機運行前后搖擺。元器件焊接在洞洞板上,系統(tǒng)使用Micro USB供電。
踩坑:初版電機驅(qū)動電路使用三極管分立元件搭建,電路發(fā)熱量大,沒出實驗室就燒壞了,后來改成集成式電機驅(qū)動模塊。
結(jié)果:成品效果如圖所示:


5.?【實用】實驗室Wi-Fi門禁系統(tǒng) 首次使用ESP8266
背景:有了寢室RFID門禁系統(tǒng)(作品序號3)的經(jīng)驗,嘗試給自己所在的創(chuàng)新實踐中心206實驗室門閂也做個改造,實現(xiàn)免鑰匙開門。
任務(wù):由于實驗室門比較厚,RFID無法穿透,因此要求系統(tǒng)在檢測到用戶連接上門禁系統(tǒng)發(fā)射的Wi-Fi熱點后打開門鎖。
行動:與RFID門禁系統(tǒng)(作品序號3)類似,使用直線電機開鎖方案。ESP8266固件使用LUA編寫,設(shè)計功能為創(chuàng)建一個名為“pit206門”的Wi-Fi熱點,當用戶使用密碼連接到熱點時立即踢出該用戶,同時向單片機發(fā)送開門指令。
踩坑:初版方案使用推拉式電磁鐵(下圖所示)初始行程吸力不足,拉不動門閂,換成與之前作品相同的直線電機后解決。

結(jié)果:不完美,系統(tǒng)偶爾不聽使喚,推測是ESP8266與單片機通信電路設(shè)計問題導致有時單片機接收不到開門指令。時間臨近考研初試,沒有改版修復。
6.【探索】RC充放電ADC 對ADC工作原理的探索
背景:嘗試使用STC15F104W(不帶ADC)實現(xiàn)鋰電池電源電壓測量功能
任務(wù):設(shè)計積分型ADC電路,要求能夠測量3.3V~4.2V電壓值
行動:搭建了一個簡易RC充放電電路,如圖所示:

STC15F104W引腳電平從低到高有一個翻轉(zhuǎn)電壓閾值,在2~3V之間。將P3.2設(shè)置為高阻輸入、P3.3推挽輸出,P3.3輸出高電平經(jīng)過電阻限流后給電容充電,同時開始計時,P3.2口的電壓會隨著電容電壓上升在某一時刻超過翻轉(zhuǎn)電壓觸發(fā)中斷,通過換算充電時間就能得到系統(tǒng)電源電壓,實現(xiàn)ADC功能。
結(jié)果:通過萬用表校準,該電路能夠測量作為電源的鋰電池電壓,并通過LED指示燈告知用戶當前電量。
7.【課設(shè)】簡易計算器 首次使用超級電容和太陽能電池板
背景:課設(shè)。
任務(wù):使用單片機、矩陣鍵盤、LCD1602屏幕、太陽能電池板、超級電容制作一臺簡易計算器。
行動:實現(xiàn)功能的過程很簡單,這種項目網(wǎng)上一搜一大片,直接拿來用即可。電路設(shè)計時使用5V穩(wěn)壓管消耗多余能量防止電容過充。
結(jié)果:實現(xiàn)了太陽能充電,但由于單晶硅太陽能電池板弱光性能差、程序沒有加入省電設(shè)計,室內(nèi)使用效果不佳,太陽底下給電容充滿電拿到室內(nèi)1分多鐘就會用盡。此后所有的移動電子產(chǎn)品都做了低功耗優(yōu)化。
8.【實用】數(shù)控電壓源 首次使用數(shù)字電位器、DAC。首次脫離成品模塊搭建DC-DC電路
背景:創(chuàng)新實踐中心社團的實驗室比較簡陋,工位上沒有直流穩(wěn)壓電源,移動電子產(chǎn)品開發(fā)過程中的電池欠壓保護測試難以進行。
任務(wù):設(shè)計一款簡易數(shù)控電源。
行動:通過查閱網(wǎng)絡(luò)資料,決定設(shè)計兩套方案,一是使用LM2576T DC-DC降壓電路+單片機控制X9C103數(shù)字電位器改變Feedback引腳上的電阻分壓策略,二是使用同款降壓電路+單片機DAC。系統(tǒng)采用路由器12V DC電源供電,輸出5V、3.3V兩組固定電壓以及一組可調(diào)電壓。
結(jié)果:兩套方案均實現(xiàn)了要求,使用數(shù)控電源能夠模擬鋰電池電壓下降的過程。
9.【課設(shè)】課程設(shè)計-藍牙體溫計 首次嘗試驅(qū)動移植
背景:課設(shè)。
任務(wù):使用MAX30205高精度體溫傳感器+STC8G1K17單片機制作藍牙體溫計
行動:當時網(wǎng)上搜MAX30205只能找到arduino和stm32的驅(qū)動,沒有51內(nèi)核的驅(qū)動程序,因此這項課設(shè)的主要任務(wù)是驅(qū)動移植。MAX30205通信方式為I2C,以stm32平臺上的驅(qū)動程序為基礎(chǔ),照著STC官方I2C例程修改每個函數(shù),使其符合STC8G1K17硬件I2C接口的使用要求。經(jīng)過調(diào)試,單片機成功接收傳感器發(fā)送的溫度信息。之后在電路中加入鵬為物聯(lián)PW02藍牙串口透傳模塊,讓體溫計能夠?qū)?shù)據(jù)發(fā)送到手機APP。
結(jié)果:作品滿足課設(shè)要求,但由于沒有內(nèi)置鋰電池充電電路,作為實際產(chǎn)品使用并不方便。在CSDN公開代碼供學習交流,順便薅一些下載資源用的積分,百度搜索關(guān)鍵詞“max30205 51”,第一條結(jié)果就是這項課設(shè)作品的代碼下載頁。成品展示:BV1uZ4y1W7JB


10.【課設(shè)】課程設(shè)計-貯水式熱水器 首次使用電壓互感器測量市電電壓
背景:課設(shè)
任務(wù):設(shè)計一款貯水式熱水器,要求實現(xiàn)進水控制、加熱、水溫水位檢測功能
行動:進水控制功能使用5V低壓直流水泵實現(xiàn)(實際使用時水龍頭有水壓,應(yīng)使用電磁閥控制進水),水泵使用單片機+NMOS管控制。加熱功能由220V交流電熱棒實現(xiàn),使用單片機+繼電器控制。水溫檢測使用防水金屬外殼封裝的DS18b20,直接投入水中獲取水溫。水位檢測由3個非接觸式液位傳感器實現(xiàn),傳感器貼在水箱外部,位置分別對應(yīng)低、中、高三個預設(shè)水位。
用戶可以通過按鍵和屏幕與熱水器交互。該作品擁有簡易的UI界面,實現(xiàn)了多級菜單功能,可以設(shè)置目標水溫、目標水位,并通過EEPROM保存在單片機內(nèi),下次通電時也能根據(jù)用戶先前的設(shè)定開始工作??刂七壿嫗椋寒斍八坏陀谀繕怂?,啟動水泵進水;當水位超過干燒下限且水溫低于目標溫度,啟動電熱棒加熱,電熱棒控制程序有滯回比較功能,防止頻繁通斷浪費繼電器壽命。
除了課設(shè)的基本要求以外,作品還加入了市電電壓檢測功能,使用ZMPT107電壓互感器和外圍電路實現(xiàn),將0~220V(有效值)交流電壓轉(zhuǎn)換成0~3.8V(峰峰值)的交流電壓,接在單片機的ADC管腳。單片機每隔1ms采樣一次,對于50Hz工頻交流電,相當于每個周期采樣20次。采樣獲得的最大值(波峰電壓)經(jīng)過線性換算、消抖等數(shù)據(jù)處理,就能得到電源電壓有效值。
結(jié)果:作品滿足課設(shè)要求,成品展示:BV1Je411W7ok

結(jié)語
本科時期的作品大量運用成品模塊,自己設(shè)計的電路部分比較簡單,部分作品沒有保留成品照片和展示視頻。下一篇專欄將會介紹本科畢業(yè)后設(shè)計制作的十件電子產(chǎn)品,全部為【實用】作品,基于真實需求開發(fā),在產(chǎn)品外觀、電池續(xù)航、硬件成本等方面有明顯提升。