TI MSPM0開發板方案分享-自動澆水裝置
對于養花的人來說,如果因為某些事情需要離家幾天(比如出差、回老家過節等),那么離家的這段時間里,及時給花澆水,就是一個很大的問題。我之前也有類似的經歷:孩子上高中,需要臨時搬家到高中附近,雖然還是在一個城市,但距離還是挺遠的,往來路程需要2 個多小時。在這種情況下,有一個能自動完成澆水的裝置,就能解決這個大問題。
本文引用地址:http://www.j9360.com/article/202503/468157.htm也剛好趕上EEPW 舉辦一個活動, 使用TI 的MSPM0 開發板實現一個方案分享的活動,有幸報名參加,獲得機會,使用MSPM0 開發板制作這個裝置。整個裝置的系統構成:
ESP8266 部分:
1 系統部件構成
元件、模塊表:
各器件圖片:
1.抽水馬達
2.繼電器:
3.ESP8266 模塊
4.OLED
5. 鍵盤輸入模塊
6.MSPM0G3507開發板
2 程序部分
1.ESP8266 部分程序流程
ESP8266程序部分可以使用Arduino開發,快速而簡單。
2.主開發板處理流程
3 實際搭建與測試
1.主控制板部分
2.鍵盤以及WIFI處理部分
3.抽水馬達驅動部分
4.實際測試演示
1)調整參數
參閱視頻:設置菜單調節參數.mp4
2)到指定時間時,啟動澆水
4 整個裝置的簡單說明
給花澆水,通常有下兩種方式:1. 定時澆水;2. 根據花盆中土壤的干濕度,確定幾天澆一次水,一次性澆透。第二種方式因為涉及檢測土壤的干濕度,需要增減一個傳感器。常用的土壤干濕度傳感器,在長時間使用后,會發生腐蝕。因此在制作這個裝置的時候,選擇的是第一種方案。這個方案的優點是,每天只需要澆少量的水。在天氣比較炎熱,環境溫度也比較高的時候,可以適當增加澆水量。
而實現定時,可以利用單片機的定時器功能實現,也可以使用時鐘實現。我因為需要獲取每天的氣溫信息,要通過天氣預報網站獲得相關信息。既然使用網絡,索性同時利用網絡獲得當前時間,并以這個時間為基礎,作為定時的標準。這樣更準確。MSPM0G3507本身沒有提供網絡訪問功能接口,我就把以前常用的ESP8266 加進來,同時使用Arduino 編程ESP8266,快速獲取當前時間信息和當日氣溫信息。MSPM0G3507 的外設接口非常豐富,方便連接各種接口設備。這里使用MSPM0G3507 的串口功能,快速實現和ESP8266 的通信。
這次之所以選擇的MSPM0G3507 開發板,一個重要原因就是因為MSPM0G3507 提供了豐富的接口,通過排針輸出,用戶可以自由選擇自己喜歡和習慣的外設;同時,配合設計工具,簡化了開發過程,是的整個工程看起來非常簡潔、不凌亂。不需要單獨的外部下載器,只需要使用板載的下載器,就可以方便地下載、調試程序。下載上也不需要什么特殊設置。因為在建立開發、調試環境上,MSPM0G3507 也具有很大的優勢。MSPM0G3507 的低功耗特性,也非常適合使用電池作為電源的場景。在關斷模式下最低電流消耗僅78 nA,且支持IO 中斷喚醒,非常省電。像我的這套裝置,如果改用電池供電,調整程序只在特殊時間點才進行澆水處理。平時處于關斷狀態,只在需要澆水的時刻由ESP8266 完成喚醒,執行對應的處理(整個系統中只有抽水馬達用電比較大,OLED 顯示部分,在實際應用時是完全可以斷開不顯示的)。因此即使使用電池,也可以讓整個系統工作很長時間。這樣即使出現市電因為某個原因出現暫時斷電,也不會影響整個系統的運行。
5 開發體會
對我這樣的開發者來說,使用一款單片機開發是需要滿足以下幾個條件的:
1.搭建開發環境容易,不復雜。
2.開發工程簡單,在一個IDE 上就可以實現編程、下載、調試。
3.外設資源豐富,可以快速連接輸入、輸出設備。
4.性價比高,穩定性好。
MSPM0G3507 就完全滿足以上要求。作為TI 公司的產品,TI 公司是一家久負盛名的半導體公司,其生產的半導體產品一向以穩定性好、可靠性高而聞名。MSPM0G3507 當然也不例外。在使用MSPM0G3507 開發板開發的過程中,有官方網站提供了資料,有例程可供下載,讓開發者不至于摸黑開發。另外使用TI 的Code Composer Studio 開發工具。這個IDE 提供了圖形化的設置工具,對于設置如何使用GPIO 口以其它外設,非常方便。使用這個工具,可以非常容易配置各個外設,而不用用戶花太多時間去查找庫函數或者寄存器的說明。這種配置模式,可以極大地提高用戶的開發速度,讓用戶在編程時,集中精力,把開發時間花費在業務應用上。對比其他單片機,這一點非常明顯。
MSPM0G3507 內部集成了128 K 的flash,如此大的空間,使開發者根本不用擔心程序空間不夠用的問題。片內提供最高4 個串口設備,我實際使用了兩個,一個作為調試口,在調試程序的時候,方便及時獲取程序運行信息。另外一個串口用來實現和ESP8266 模塊之間的數據通訊。芯片本身還有很多其他功能,尤其是數學加速器部分,可以利用硬件加速數學函數的處理。
把更多的精力用在業務處理的實現,而不是花大量時間熟悉芯片的方方面面上,這是每個開發者的愿望。MSPM0G3507 就完全滿足這一點, 開發IDE 和設置工具,都簡單好用,讓我這樣一個不怎么熟悉TI單片機的,都可以快速入手,完成開發工作,可以說MSPM0G3507 是一個非常不錯的選擇。事實上,MSPM0G3507 還有很多出色的功能,值得我去學習和探索,期待后面有時間,再花時間繼續深入學習。
總體而言,MSPM0G3507 是一款非常出色的單片機。功能豐富,綜合性價比,是一款低成本的ARM32 bit M0 + 單片機,對于普通開發者而言,完全可以用來作為單片機開發核心,去實現大多數的任務。
最后感謝EEPW 和TI 聯合舉辦的這個活動!
(本文來源于《EEPW》202503)
評論