[英]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.