Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz

藍芽接收資料控制自走車的問題

查看數: 14453 | 評論數: 16 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發佈時間: 2017-12-9 22:47

正文摘要:

本帖最後由 a26265788 於 2017-12-9 23:20 編輯 小弟想透過手機藍芽傳送電池的電壓給UNO 再由電壓值高低去驅動自走車前進5秒 目前的狀況是可以正常連接藍芽並傳送資料 但是序列埠那邊似乎會延遲收到資料 變成動作 ...

回復

超新手 發表於 2017-12-10 06:52:28
本帖最後由 超新手 於 2017-12-10 06:59 編輯

錯很多。最基本的問題是.....
以你的做法
app 送過來的是字串,而 arduino 卻是以字元處理
兩邊根本不同步
舉例來說,
如果 app 送出 1234,事實上
Arduino會收到 4個值,
分別是49,50,51,52(ascii code)
你必須把這4個字元組合回去 1234
才能進行判斷
如果直接判斷,這些字元最大才 255
根本不可能大於 3750
更別說3750那個判斷式完全是錯的

a26265788 發表於 2017-12-10 07:07:21
超新手 發表於 2017-12-10 06:52
錯很多。最基本的問題是.....
以你的做法
app 送過來的是字串,而 arduino 卻是以字元處理

原來如此
謝謝大大的回覆
小弟對arduino這領域還是超新手
因為最近做專題才接觸到
超新手 發表於 2018-3-25 06:20:23
AI2
你不能寫在 afterpick 那邊
那邊是用來選擇連線藍牙裝置用的
第一次連線時,都還沒連線成功
怎麼去判斷收到的值?
就算第二次以後,放在這也不對
沒事還要去按一下,才能更改 label 顏色

比較好的方式,就是放一個計時器timer
定時去判斷,如果藍牙連線成功,而且收到
1或 2,就去改變顏色
類似的程式寫法應該在隔壁樓就可以找到
超新手 發表於 2018-3-25 13:46:05
你要先把”接收長度1位元之無號數”先存在一個變數中
然後再用這個變數去判斷它是1,2或3
而不是呼叫”接收長度1位元之無號數”三次
超新手 發表於 2018-3-25 14:04:13
另外, 應該再增加判斷“取得接收數元組數” >0
才能再去判斷值
因為必須等到藍牙接收到序列監視所送的值
才能去藍牙讀資料,也才能進一步判斷值
超新手 發表於 2018-3-25 14:31:33
1)應該把橘色的設置和紫色的
”接收長度1位元之無號數”接在一起
然後用這個 global number 判斷 48,49,50
只能呼叫一次”接收長度1位元之無號數”
而且所有的判斷式都包在”藍牙的可用狀態
2)因為 bt.availabl() 是表示手機傳送過去的資料數
你從來沒送資料過去 arduino
所以永遠等於零
cc1357 發表於 2022-3-13 00:10:54

谢谢大大分享
a26265788 發表於 2018-3-26 02:50:28
超新手 發表於 2018-3-25 21:18
當然可以。只不過你找(買)的到類似的模組嗎?還要懂得應用它

好的
這是初步的構想
因為怕買了只能使用在單一功能..
有GOOGLE了一下
http://www.buyic.com.tw/product_info.php?products_id=6002
http://goods.ruten.com.tw/item/show?21310067716453
不曉得這種指紋辨識模組是不是能使用我說的功能
還是要找特定規格的呢
不好意思因為這對學生來說單價有點高想說再多確認一下
怕買錯就糟糕了
超新手 發表於 2018-3-25 21:18:29
當然可以。只不過你找(買)的到類似的模組嗎?還要懂得應用它
a26265788 發表於 2018-3-25 20:57:52
本帖最後由 a26265788 於 2018-3-25 21:07 編輯
超新手 發表於 2018-3-25 18:00
判斷順序不對
照常理來想這個問題即可,判斷順序應該是
1) 藍牙是否是可用狀態?


了解了
下午把積木的寫法想像帶入arduino的語法中
才發現有很多順序的問題
後來依您的指點更改一下順序突然恍然大悟
感謝您~~

還有另一個構想中的專題想請教一下大大
指紋辨識有辦法經過第一次建檔每個人的編號後
之後每次經過指紋辨識讀出那個人的編號
並且讓他做獨立的功能嗎?
例如 A的編號是1  當指紋辨識成功讀出編號1  讓LED亮
       B的編號是2  當指紋辨識成功讀出編號2  讓蜂鳴器響

還是建檔的指紋庫只能應用在同一個功能
例如 A.B.C 有在指紋庫內  辨識成功後可以讓LED亮
超新手 發表於 2018-3-25 18:00:20
判斷順序不對
照常理來想這個問題即可,判斷順序應該是
1) 藍牙是否是可用狀態?
2) 藍牙是否收到資料?如果有,才去讀資料
3) 依讀到的資料來判斷是否要改顏色
a26265788 發表於 2018-3-25 14:49:12
超新手 發表於 2018-3-25 14:31
1)應該把橘色的設置和紫色的
”接收長度1位元之無號數”接在一起
然後用這個 global number 判斷 48,49, ...

原來如此  已解答
非常感謝大大的幫忙
真的受益良多!!!  謝謝您

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-5-2 09:50 , Processed in 0.296785 second(s), 11 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表