Robofun 機器人論壇

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

Arduino傳感器互相干擾的問題 急!!專題要用

[複製鏈接]
跳轉到指定樓層
1#
發表於 2013-9-8 20:21:04 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我把XYZ搖頭鈕來操控伺服馬達轉動+超音波測距模組
程式編譯OK,但是執行的時候兩種訊號會互相干擾,比如說執行時,伺服馬達會亂跳、超音波測距的距離只剩四公分(正常可到400cm)
下面是我的程式,請高手幫我解決此問題!!感謝

#include <Servo.h>
Servo myservo;
int value = 0;

int JoyStick_X = 0; //x
int JoyStick_Y = 1; //y
int JoyStick_Z = 3; //key

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Ultrasonic.h>
#define TRIGGER_PIN  12
#define ECHO_PIN     13
LiquidCrystal_I2C lcd(0x27,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display
Ultrasonic ultrasonic(TRIGGER_PIN, ECHO_PIN);

void setup()
{
  myservo.attach(9);
  pinMode(JoyStick_Z, INPUT);
  lcd.init();                      // initialize the lcd
  lcd.backlight();
  lcd.print("Ping)))");
  Serial.begin(9600); // 9600 bps

}
void loop()
{
      int x,y,z;
      x=analogRead(JoyStick_X);
      y=analogRead(JoyStick_Y);
      z=digitalRead(JoyStick_Z);
      if(y>600)
      value = 80;
      if(x<10)
      value = 20;
     if(y<300)
     value = 0;
       myservo.write(value);
      Serial.print(x ,DEC);
      Serial.print(",");
      Serial.print(y ,DEC);
      Serial.print(",");
      Serial.println(z ,DEC);
delay(500);
      float cmMsec, inMsec;
      long microsec = ultrasonic.timing();
      cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM); // 計算距離,單位: 公分
     lcd.setCursor(0, 1);
     lcd.print("Dist: ");
     if(cmMsec>200)
     lcd.print(", safe: ");
     if(cmMsec<200)
     lcd.print(cmMsec);
      delay(200);
}
2#
發表於 2013-9-9 20:53:53 | 只看該作者
回復 1# hagger


   伺服馬達轉動和超音波測距模組之間沒有理由會干擾,

伺服馬達會亂跳、超音波測距的距離只剩四公分 可能是電池電力不足,雖然你已經充飽了,


另外程式這裡有問題:
if(y>600)
      value = 80;
      if(x<10)
      value = 20;
     if(y<300)
     value = 0;
因為有可能 同時 y>600  x<10 伺服馬達轉動就有問題,
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-9-30 12:57 , Processed in 0.144388 second(s), 8 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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