Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 2205|回復: 4
打印 上一主題 下一主題

自走車 程式延遲

[複製鏈接]
1#
發表於 2017-12-20 19:04:12 | 顯示全部樓層
本帖最後由 超新手 於 2017-12-21 08:15 編輯

因為你在兩個不同地方收藍牙命令
一個是command = BT.read(); 但是它只處理伺服機命令
另一個是input=(char)BT.read();只處理馬達命令
如果在command 那邊收到 馬達命令, 就會被忽略
或是在input那邊收到伺服機命令, 就會被忽略
所以兩個要整合在一起,才不會漏命令
也就是, 在loop() {...} 中,把
Int inSize;
char input;
以下的程式都拿掉(整合到上面的 switch中)
然後在 loop 中的 switch(command)   {...} 中增加
case 'E' : ~ case 'I':


另外, UDServo 和 LRServo 竟然共用一個變數 ang
有點奇怪
2#
發表於 2017-12-23 02:34:57 | 顯示全部樓層
1. 砍掉input=(char)BT.read()  然後把馬達的程式直接複製貼上。簡單來說,就是把兩個 switch 整合成一個

2. 假設剛開始, UD 和 LR 都是 90
你先下一堆命令,讓 UD 減到 0
此時 ang 等於 0
這時如果你改下一個命令,去減少 LR 的角度
這時候 LR 就會從 90 直接跳到 0
而不是 87 度
感覺怪怪的
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-15 04:21 , Processed in 0.179593 second(s), 6 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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