在51hei論壇里看見有好幾個用E4A做藍牙模塊與手機通訊的,下載看看,連藍牙都搜索不到,為此某為此特意獻上一款可用的E4A源碼以及51單片機源碼,特以此供諸位檢查及參考,制作多有隨意,還請諸位君不要見怪為是!
小車做得有點隨意,諸位君可不要介意
0.png (397.94 KB, 下載次數: 163)
下載附件
2019-7-30 23:36 上傳
QQ截圖20190730225100.png (197.44 KB, 下載次數: 166)
下載附件
2019-7-30 22:53 上傳
前言:此款藍牙APP為自己在別人的基礎上改進而來,主要特點是數據雙向傳輸,單片機端可實現手機控制PWM占空比大小,從而實現無極調速,前后左右等等操作,可以回傳單片機端的信號到手機上,只不過偶爾會丟字節,會易安卓的可以多多琢磨。至于說單片機的硬件怎么連接這個就不再多說,可以參考代碼來實現硬件的連接!
藍牙設備顯示,搜索到自己的藍牙后,點擊即可連接。
有兩種模式切換,超聲波模式或藍牙模式,當然無非就是單片機端怎么編程了!其實每一個按鈕都發送一串唯一的數據,在此不累贅!
藍牙模塊可以回傳數據到App上,
只不過偶爾會丟字節,這個不知為何,
若有大神,還請賜教!
//==========E4AAPK藍牙代===============================================================//
變量 分割數據 為 文本型
變量 啟動時間 為 長整數型
變量 模式 為 整數型
變量 前燈 為 整數型
事件 按鈕6.被單擊()
判斷 按鈕6.標題
分支 "搜索設備"
列表框1.清空項目()
藍牙1.搜索設備() '搜索設備
彈出提示("正在搜索")
分支 "斷開連接"
藍牙1.斷開連接() '退出處理,釋放資源,結束內部處理線程
豐富文本框1.內容=""
編輯框1.內容=""
編輯框2.內容=""
速度調節.位置=50
按鈕6.標題="搜索設備"
結束 判斷
結束 事件
事件 主窗口.按下某鍵(鍵代碼 為 整數型,傳址 屏蔽 為 邏輯型)
如果 鍵代碼 = 返回鍵 則
如果 取啟動時間() - 啟動時間 >2000 則
彈出提示("再按一次退出程序")
啟動時間 = 取啟動時間()
否則
結束程序()
結束 如果
結束 如果
結束 事件
事件 主窗口.創建完畢()
列表框1.字體大小 = 6
標簽1.背景顏色=無色
列表框1.背景顏色=綠色
模式=0
前燈=0
藍牙1.是否存在()
判斷 藍牙1.是否存在()
分支 假
彈出提示("沒有檢測到藍牙設備,程序將關閉")
結束程序()
分支 真
判斷 藍牙1.是否已開啟()
分支 假
藍牙1.開啟藍牙()
結束 判斷
結束 判斷
保存窗口("主窗口",本對象) '本對象是當前窗口
保存窗口("窗口1",創建 窗口1)
結束 事件
事件 藍牙1.發現設備(設備名稱 為 文本型,設備地址 為 文本型,是否已配對 為 邏輯型)
列表框1.添加項目(設備名稱 & "/" & 設備地址 & "/" & 是否已配對)
結束 事件
事件 列表框1.表項被單擊(項目索引 為 整數型)
變量 設備信息 為 文本型
變量 文本數組 為 文本型()
變量 設備地址 為 文本型
設備信息 = 列表框1.取項目內容(項目索引)
文本數組 = 分割文本(設備信息,"/")
設備地址 = 文本數組(1)
彈出提示(設備地址)
藍牙1.連接設備(設備地址) '連接設備 我看了有些例程是沒有的
彈出提示("正在連接")
藍牙1.停止搜索()
結束 事件
事件 藍牙1.連接完畢(連接結果 為 邏輯型,設備名稱 為 文本型,設備地址 為 文本型,連接模式 為 整數型)
變量 設備信息 為 文本型
變量 文本數組 為 文本型()
如果 連接結果 = 真 則
標簽1.標題 = "已連接:" & 設備名稱 & "-" & 設備地址
按鈕6.標題="斷開連接"
彈出提示("連接成功")
否則
彈出提示("連接失敗")
標簽1.標題 = "已斷開"
按鈕6.標題="搜索設備"
結束 如果
結束 事件
事件 藍牙1.藍牙設置完畢(設置結果 為 整數型)
判斷 設置結果
分支 1 '開啟藍牙
彈出提示("藍牙已開啟")
藍牙1.置可被發現() '置可被發現
分支 2 '不開啟藍牙
信息框("信息","藍牙未被開啟,程序將退出!","確定")
結束程序()
分支 3 '置可被發現
彈出提示("藍牙已設置為可被發現")
藍牙1.置工作模式(2) '藍牙聊天模式
分支 4 '不置可被發現
信息框("信息","藍牙未被設置為可被發現,程序將退出!","確定")
結束程序()
結束 判斷
結束 事件
事件 按鈕1.被按下(橫坐標 為 整數型,縱坐標 為 整數型)
藍牙1.發送數據(文本到字節("@lefth","GBK"))
結束 事件
事件 按鈕1.被彈起(橫坐標 為 整數型,縱坐標 為 整數型)
藍牙1.發送數據(文本到字節("@stoph","GBK"))
結束 事件
事件 按鈕2.被按下(橫坐標 為 整數型,縱坐標 為 整數型)
藍牙1.發送數據(文本到字節("@ahead","GBK"))
結束 事件
事件 按鈕2.被彈起(橫坐標 為 整數型,縱坐標 為 整數型)
藍牙1.發送數據(文本到字節("@stoph","GBK"))
結束 事件
事件 按鈕3.被按下(橫坐標 為 整數型,縱坐標 為 整數型)
藍牙1.發送數據(文本到字節("@right","GBK"))
結束 事件
事件 按鈕3.被彈起(橫坐標 為 整數型,縱坐標 為 整數型)
藍牙1.發送數據(文本到字節("@stoph","GBK"))
結束 事件
事件 按鈕4.被按下(橫坐標 為 整數型,縱坐標 為 整數型)
藍牙1.發送數據(文本到字節("@backh","GBK"))
結束 事件
事件 按鈕4.被彈起(橫坐標 為 整數型,縱坐標 為 整數型)
藍牙1.發送數據(文本到字節("@stoph","GBK"))
結束 事件
事件 按鈕5.被單擊()
藍牙1.發送數據(文本到字節("@stoph","GBK"))
結束 事件
事件 按鈕7.被單擊()
藍牙1.發送數據(文本到字節("@sgetd","GBK"))
結束 事件
事件 按鈕9.被單擊()
判斷 前燈
分支 0
前燈=1
藍牙1.發送數據(文本到字節("@ligh1","GBK"))
按鈕9.標題="前燈開"
分支 1
前燈=0
藍牙1.發送數據(文本到字節("@ligh0","GBK"))
按鈕9.標題="前燈關"
結束 判斷
結束 事件
事件 按鈕10.被按下(橫坐標 為 整數型,縱坐標 為 整數型)
藍牙1.發送數據(文本到字節("@load0","GBK"))
結束 事件
事件 按鈕10.被彈起(橫坐標 為 整數型,縱坐標 為 整數型)
藍牙1.發送數據(文本到字節("@load1","GBK"))
結束 事件
事件 按鈕8.被單擊()
判斷 模式
分支 0
按鈕8.標題="藍牙模式"
藍牙1.發送數據(文本到字節("@mosh1","GBK"))
模式=1
分支 1
按鈕8.標題="超聲波模式"
藍牙1.發送數據(文本到字節("@mosh0","GBK"))
模式=0
結束 判斷
結束 事件
事件 速度調節.位置被改變(位置 為 整數型)
如果 位置>9 且 位置<100 則
藍牙1.發送數據(文本到字節("@spe"&整數到文本(位置),"GBK"))
結束 如果
結束 事件
事件 藍牙1.收到數據(數據 為 字節型(),設備名稱 為 文本型,設備地址 為 文本型)
變量 收到數據 為 文本型
分割數據=字節到文本(數據,"GBK")
豐富文本框1.內容 =豐富文本框1.內容 & "\r\n " & 字節到文本(數據,"GBK")
豐富文本框1.置光標位置(取文本長度(豐富文本框1.內容))
如果 尋找文本(分割數據,"rp",0) >0 則
' 標簽2.標題=取文本中間(分割數據,2 ,4) &"m/s"
' 結束 如果
' 如果 尋找文本(分割數據,"dt",0) >= 0 則
' 標簽3.標題=取文本中間(分割數據,2 ,4) &"cm"
如果 尋找文本(分割數據,"dt",0) >0 則
編輯框1.內容=取指定文本2(分割數據,"dt","cm")
結束 如果
如果 尋找文本(分割數據,"sp",0) >0 則
編輯框2.內容=取指定文本2(分割數據,"sp","ms")
結束 如果
'標簽2.標題="速度:"&分割數據 &"m/s"
' 否則如果 尋找文本(分割數據,"dt",0) >= 0 則
' 分割數據= 取文本右邊(分割數據,3)
' 標簽3.標題="距離:"&分割數據 &"cm"
結束 如果
'=====================以下是接收單片機發送過來的16進制HEX數據的方法=======================
' 變量 計次 為 整數型
' 判斷循環首 計次 < 取數組成員數(數據)
' 編輯框1.內容 = 編輯框1.內容 & " " & 到十六進制(數據(計次))
' 計次 = 計次 + 1
' 判斷循環尾
結束 事件
'事件 編輯框1.內容被改變(新內容 為 文本型)
'
'結束 事件
事件 豐富文本框1.內容被改變(新內容 為 文本型)
結束 事件
事件 標簽1.被單擊()
結束 事件
事件 標簽2.被單擊()
結束 事件
事件 按鈕11.被單擊()
如果 讀取窗口("窗口1")=空 則
保存窗口("窗口1",創建 窗口1)
結束 如果
切換窗口(讀取窗口("窗口1"))
結束 事件
0.png (13.67 KB, 下載次數: 147)
下載附件
2019-7-30 23:34 上傳
0.png (8 KB, 下載次數: 170)
下載附件
2019-7-30 23:34 上傳
全部資料51hei下載地址:
藍牙小車apk、51單片機源代碼.rar
(1.24 MB, 下載次數: 568)
2019-7-30 22:41 上傳
點擊文件名下載附件
E4A藍牙單片機小車源碼 下載積分: 黑幣 -5
|