聲明:該設(shè)計資料轉(zhuǎn)自lb8820265網(wǎng)友分享,僅供學(xué)習(xí)參考,不可用于商業(yè)用途。
繼電路城之前該小車資料,
手機遙控藍(lán)牙平衡小車V1資料全部開源(https://www.cirmall.com/circuit/6201/detail?3),
現(xiàn)介紹該藍(lán)牙平衡小車V1.1(BlueNRG+虛擬搖桿)開源設(shè)計(https://www.cirmall.com/circuit/6202/detail?3)。
前面介紹了基于CC2541的藍(lán)牙模塊平衡小車,之前BlueNRG由于損壞所以才采用CC2541,這次又得到了一塊BlueNRG,現(xiàn)在集齊三塊ST的模組可以召喚神龍了,之前預(yù)留了BlueNRG的6個接口,所以只需要直接將擴展板插在傳感器板上就可以了,然后再增加一點高度。
這里主要是虛擬的搖桿的實現(xiàn),詳細(xì)“相關(guān)文件”下載
視頻演示:
CC2541模塊廠家已經(jīng)寫好相關(guān)代碼使其變成一個透傳模塊,而BlueNRG是需要自己寫好代碼的,不過好在ST已經(jīng)有了例程,而且也是使用STM32F4來驅(qū)動,這就大大的方便了開發(fā),BlueNRG相關(guān)工具和軟件下載地址:https://www.st.com/web/en/catalog/tools/PF261442點擊最下面download。
進(jìn)入X-CUBE-BLE1ProjectsMultiApplicationsSampleApp,這是一個簡單的使用藍(lán)牙對話的例程,可以直接燒到STM32F411板子中查看效果,打開手機藍(lán)牙搜索,可以搜索到BlueNRG_Chat的藍(lán)牙,連接就后可以發(fā)送和接收數(shù)據(jù)了,查看工程中的代碼也是十分簡單的,有詳細(xì)的注釋,初始化之后,就是兩個函數(shù)HCI_Process()與User_Process(),第一個函數(shù)用來處理各種事件,第二個是用戶函數(shù)里面是一個監(jiān)聽按鍵并發(fā)送的函數(shù)。
數(shù)據(jù)的收取主要是在ample_service.c中case EVT_BLUE_GATT_ATTRIBUTE_MODIFIED:和case EVT_BLUE_GATT_NOTIFICATION:兩個事件中,第一個用來接收數(shù)據(jù),第二個用來接收通知信息。
另一個重要的改進(jìn)是添加了虛擬搖桿,可以在虛擬搖桿與SEEKBAR之間切換,同時簡化了界面,如下圖所示:
更新:修復(fù)復(fù)雜環(huán)境下搜索BLE崩潰BUG,
采用JUMA SDKAndroid源代碼:https://github.com/flyloong/NUCLEO_Balance_Car_Android
STM32F411源代碼:https://github.com/flyloong/NUCLEO_Balance_Car_STM32