Controllo Servo MG 996R tramite joystick

Nel contributo di blog di oggi guidiamo quel che AZ-consegna Servo MG996Rsu uno Modulo di leva di comando.

 

Inoltre abbiamo bisogno:

1xAZ-consegna Servo MG996R

1xModulo di leva di comando

1x AZ-consegna Mikrokontroller, compatibilmente con ArduinoONU R3

1x3a serie 40 Stk. Filo di pullover m2m / f2m / f2f

Il Servo tira nella società fino a 2.5A - troppo per il nostro Mikrokontroller, compatibilmente con ONU di Arduino R3. Dunque, dobbiamo fornirlo su una parte netta esterna.

 

Aumentiamo il giro seguente. Inoltre, deve esser seguito che colleghiamo GND di Arduino con lo GND della parte netta esterna.

In Servo ci sono 3 linee. Il più scuro (nel nostro caso marrone) è GND. È rosso come quasi sempre VCC (4.8 - 7.2 V di ammissione di corrente: a 2.5A), e l'ONU arancione R3 ha sterzato e con Spillo 9 è collegato da Mikrokontroller, compatibilmente con Arduino.

La leva di comando ha 5 Anschlusspins che come segue con Mikrokontroller, compatibilmente con ONU di Arduino R3 formeranno un'alleanza:

 

Leva di comando

Mikrokontroller, compatibilmente con ONU di Arduino R3

GND

GND

5 V

5 V

VRx

A0

Vry

A1

A ONDE CORTE

7

 

 

 

Giro

 

Per la programmazione prendiamo la biblioteca con il nome facile «Servo».

Per di più, usiamo solo lo X asse intorno a Servo nella direzione desiderabile per girare.

 

#include <Servo.H>;

Servo servo1; //Dia a Servo un nome
#define joyX A0 //Spillo A0 - leva di comando X
#define joyY A1 //Spillo A1 - leva di comando Y
#define joyBTN D7  //Spillo D7 - distintivo di leva di comando

intervallo fondi = 0, a Lei = 0, xValue, yValue; //Variabili per posizione (fondo), in direzione di (Lei), così come X e valore Y della leva di comando 

vuoto situazione() {   Seriale.cominciare(9600);   servo1.essere connesso (9); //La direzione di controllo di Servo è collegata a Spillo 9
}

vuoto cappio() {   xValue = analogRead(joyX); //Domanda su X posizione della leva di comando   yValue = analogRead(joyY); //Domanda su posizione Y della leva di comando   //Su monitor seriale sono economici - solo alla ricerca di sbaglio   Seriale.stampa(fondi);    Seriale.stampa(«\t\n»);   Seriale.stampa(xValue);   Seriale.stampa(«\t\n»);   se (xValue < 490){ //Se Gioia dopo collegamenti < -      fondi = --fondi; //i fondi diventano veringert   }       se (xValue > 500){ //Se Gioia a destra     fondi = ++fondi;  //fondi di aumenti noi   }   se (fondi < 0){ //Con esso i fondi non diventa negativo     fondi = 0;   }   se (fondi > 180){ //Non fa con esso per fondi più di 180     fondi = 180;   }   ritardo(20);   servo1.scrivere(fondi); //Servo su mossa «di fondi» di posizione
}    

Adesso dopo il deposito ad alto livello del codice possiamo girare Servo per mezzo della leva di comando nella direzione desiderabile.

 

 

Speriamo che Lei il nostro contributo di blog di oggi La ha ispirato, e stiamo contenti sui Suoi commenti. Fino al prossimo contributo di AZ-consegna, il Suo esperto per microelettronica!

Für arduinoProjekte für anfänger

Einen Kommentar hinterlassen

Alle Kommentare werden vor der Veröffentlichung moderiert