2017-04-08 3 views
0

Ich habe ein Projekt, wo ich einen Knopf auf einem Steckbrett habe, das ein Servo über einen programmierten Arduino aktiviert. Derzeit ist dies mein Code:Arduino Schaltung schaltet LED aber nicht Servo

#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); 
} 

Die LED ist in hier als Test der Taste (die ich mit hatte Probleme hatte). Wenn die Taste gedrückt wird, leuchtet die LED wie in der if-Anweisung vorgesehen. Das Servo (TowerPro MG995) ist direkt mit einer VEX 7,2-Volt-Batterie für die Stromversorgung verbunden, von der ich weiß, dass sie für Strom arbeitet. Der Knopf aktiviert jedoch nicht das Servo oder registriert überhaupt keine Antwort. Gibt es ein Problem mit dem Code? Das Datenkabel des Servos ist wie im Code direkt an Pin A0 angeschlossen.

+0

Legen Sie eine Verzögerung vor dem Schreiben auf den Pin, Sie versuchen, es sofort zu drehen. Sie sollten die Elektronik im Allgemeinen betrachten und ist das "elseThe" korrekt? nicht sicher, aber, wie Sie schreiben, wenn sonst Anweisung in Arduino jetzt? – Roljhon

Antwort

0

schrieb ich Code, Ihre conections überprüfen und versuchen, diesen Code:

#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); 
    } 
} 

Denken Sie daran, die Servo nur bewegen, wenn die Taste gedrückt wird, wenn sie losgelassen wird zurück.

0

Elektrische Probleme

Nur zur Erinnerung. Ihr Servo hat eine maximale Spannung von 6,6V. Eine vollständig geladene 7,2 V-Batterie liegt bei 8,4 V, da 7,2 V nur die durchschnittliche Spannung der Batterie ist (ja).


-Code Probleme

  • Keine Notwendigkeit pinMode(A0, OUTPUT);

Alles andere OK scheint zu setzen.