Robofun 機器人論壇

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

超音波與伺服馬達問題

[複製鏈接]
跳轉到指定樓層
1#
發表於 2016-5-30 22:46:38 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
各位大大我有一些程式上的問題希望可以解惑
我現在把超音波模組裝在伺服馬達上讓他左右來回轉當超音波感測距離小於5公分時
我讓伺服馬達停下來
當感測大於五公分時
我要讓伺服馬達繼續轉
程式碼如下
if(q==1){                           
    hc_sr04_1();      
  if(cm1<5)g=0;            
  if(g==1){                     
    angle+=2;
    servo.write(angle);
    delay(40);
    if(angle>180){
    g=-1;
    angle=180;}
    }
  if(g==-1){                        
    angle-=3;
    servo.write(angle);
    delay(40);
    if(angle<0){
    g=1;
    angle=0;}
    }
}

我現在可以讓他停下來
但是我要如何可以讓他繼續轉
2#
發表於 2016-5-31 06:47:58 | 只看該作者
這樣寫最簡單
if(cm1<5)g=0;
else if(g==0) g=1;
3#
 樓主| 發表於 2016-5-31 09:03:41 | 只看該作者
回復 2# 超新手
但是因為超音波會議感測這樣寫不會卡在g=1里面嗎?
我之前試了
if(cm1<5)
g=0;
if(cm1>5)
g=1;
他會一直卡在g=1
就不會左右轉了
4#
發表於 2016-5-31 12:42:36 | 只看該作者
你這樣寫, 確實會卡.
但我這樣寫也會卡嗎?
5#
 樓主| 發表於 2016-5-31 21:18:18 | 只看該作者
回復 4# 超新手
謝謝你的回復已經OK了
謝謝
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-11-21 21:19 , Processed in 0.160274 second(s), 7 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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