本文來源電子發燒友社區,作者:張一工, 帖子地址:https://bbs.elecfans.com/jishu_2293580_1_1.html
原定的這次開發版評估的最終目標是實現數據采集并通過BLE上傳到手機,通過手機可以看到采集到的數據,應用場景是電力電子技術實驗室的實驗數據記錄。
目前的情況是因為疫情根本就無法進入學校,當然更無法進入實驗室;而且想到即使可以進入實驗室現場,被采集信號的前端處理要花費很多精力,而目前重要的事情應該是把基本的環節跑通,所以,決定采用簡化的方法來完成這次評測。
1 恢復開發環境
前一段時間因電腦死掉重新恢復系統,原來配置好的Arduino平臺下ESP32開發環境需要重新安裝,又是痛苦地重復剛拿到開發板時的安裝過程,不過畢竟是安裝過一次(其實不止一次),有了些經驗,痛苦度低了一些。安裝完成后“D9”接地,編譯下載了“Blink”小程序,沒問題。然后準備開始著手真正的項目,不料下載總是出錯。
上網查詢,發現遇到這個問題的人不少,但我并沒有找到有效的解決方案。反復試驗各種辦法,甚至重新安裝了Arduino,仍然不行。只好在半夜發求救帖子到我們的開發板測試群,馬上就得到了大神“@HonestQiao|喬楚”的回音,非常明確肯定地說:D9先接地再連接電腦。一試果然靈光。現在只要是下載程序就要來這么一下,而以前是不用的呀!無論如何,總算是可以繼續前進了。
2 搭建實驗電路
采集3路模擬信號,是數值不同的直流可調電壓,通過一個可調直流電源通過電阻分壓得到。本來還想再多采集幾路,編程后發現,只有0、1、2三個引腳可以直接用來做模擬信號采樣,其他引腳大概在初始化程序中設置成了其他功能(引腳功能復用),實在沒時間仔細研究了,只好先用這三個。
3 編程與實驗
程序主要是由兩個示例程序拼接、修改而來:“BLE_notify”和“AnalogRead”,“BLE_notify”通過藍牙發送數據,而“AnalogRead”是模擬量讀取程序。主要的修改包括:“AnologRead”中,原來僅僅是一路模擬量采集,現在擴充成三路,相應地,通過串行口(USB模擬)的輸出數據也擴充成三路數據;“BLE_notify”中,原來是對一個32位變量不斷增1,然后通過BLE的notify方法向外發送。所做的修改就是把模擬量采集得到的數據,通過BLE的notify功能發送出去。在修改過程中遇到的主要麻煩是:示例程序提供的notify發送函數所要求的參數類型是“uint8_t”,和模擬量采集、再經過ADC(模/數轉換)后的數據類型不符,為了數據類型的轉換費了點兒周折。
在手機端,用“nRF Connect”APP可以ESP32-C3開發板建立連接,收到開發版發來的數據。當改變模擬量輸入電壓時,可以看到數據的變化。
?
在PC端,通過Arduino IDE自帶的串口監視器,可以看到采集的數據,與手機端收到的數據是一致的。
實驗過程的視頻:
ESP32-C3_評測報告_3(開發板體驗視頻,詳見作者原文鏈接地址)
-
ESP32
+關注
關注
18文章
971瀏覽量
17334 -
DFRobot
+關注
關注
4文章
1158瀏覽量
9550
發布評論請先 登錄
相關推薦
評論