簡體   English   中英

Arduino電路打開LED,但不打開伺服

[英]Arduino circuit turns on LED but not servo

我有一個項目,在面包板上有一個按鈕,該按鈕可通過已編程的Arduino激活伺服。 目前,這是我的代碼:

#include <Servo.h>

Servo sA;

int d=2;   // to store on or off value

void setup(){
  sA.attach(A0);
  pinMode(2,INPUT);
  pinMode(A0,OUTPUT);
  pinMode(13,OUTPUT);
  sA.write(90);
}

void loop(){
  d=digitalRead(2);
  if(d==0){
    sA.write(90);
    digitalWrite(13,HIGH);
  }elseThe
  sA.write(0);}
  digitalWrite(13,LOW);
} 

LED在這里作為按鈕測試(我曾遇到過問題)。 按下按鈕后,LED會按照if語句的預期點亮。 伺服器(TowerPro MG995)直接連接到VEX 7.2伏電池供電,我知道該電池可以供電。 但是,該按鈕根本沒有激活伺服器或沒有注冊響應。 代碼有問題嗎? 如代碼中所示,伺服器的數據線直接連接到引腳A0。

我重寫了您的代碼,檢查您的連接並嘗試以下代碼:

#include <Servo.h>

Servo sA;

int d=2;   // to store on or off value
void setup(){
  pinMode(d, INPUT);
  sA.attach(9); //pin 9
  //sA.write(90); //will move to 90degrees
}

void loop(){
  if(digitalRead(d)==HIGH){
  sA.write(90);
  digitalWrite(13,HIGH);
  }
  else{
  sA.write(0);
  digitalWrite(13,LOW);
  } 
}

請記住,只有按下按鈕,伺服器才會移動,如果松開,它將返回。

電氣問題

只是提醒。 您的伺服器最高電壓為6.6V。 充滿電的7.2V VEX電池將處於8.4V,因為7.2V只是電池的平均電壓(yep)。


代碼問題

  • 無需放置pinMode(A0, OUTPUT);

其他一切似乎還可以。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM