Étape 3: Code
Vous codez modifier ce code pour commander des moteurs ou de faire que les servos sont plus précises sur où ils se déplacent, mais c’est juste pour obtenir un exemple, afin de vous les gars pouvez commencer, si vous modifiez ou que vous utilisez ce code s’il vous plaît mention moi en qui j’ai écrit la plupart du code sauf que Nick Poole a écrit en partie sur le pouls.
RC PulseIn série lu par : Nick Poole
prolongée par Jason Mclaughlin
2015
#include < Servo.h > / / pour servo en exemple
Servo myservo ; entité de servo
int pos = 0 ; position pour servo
ch1 int ; Voici où nous tiendrons nos valeurs de canal
int ch2 ;
int ch3 ;
void setup() {myservo.attach(9) ;
pinMode (5, entrée) ; La valeur de nos broches d’entrée comme tel
pinMode (6, entrée) ; pinMode (7, entrée) ;
Serial.Begin(9600) ; Verser un bol de série
}
void loop() {}
CH1 = pulseIn (5, HIGH, 25000) ; Lire la largeur d’impulsion de
CH2 = pulseIn (6, HIGH, 25000) ; chaque canal
CH3 = pulseIn (7, HIGH, 25000) ;
Serial.Print ("canal 1:") ; Imprimer la valeur de
Serial.println(CH1) ; chaque canal
Serial.Print ("canal 2:") ;
Serial.println(CH2) ;
Serial.Print ("canal 3:") ;
Serial.println(CH3) ;
Si ((ch3 > = 1500) & & (ch3 < = 1600)) {/ / la postion de centre pour contrôleur
Serial.println("between") ;
POS = 90 ; //set servo pour centrer
myservo.Write(POS) ; la valeur op qui est 90
}
else {}
Serial.println ("pas entre") ;
pour (pos = 0; pos < 180; pos += 1) / / va de 0 degrés à 180 degrés
{/ / par incréments de 1 degré
myservo.Write(POS) ; dire de servo pour aller à positionner dans la variable « pos »
Delay(1) ; attend 1 ms pour le servo atteindre la position
}
pour (pos = 180; pos > = 1; pos-= 1) / / va de 180 degrés à 0 degrés
{
myservo.Write(POS) ; dire de servo pour aller à positionner dans la variable « pos »
Delay(1) ; attend 1 ms pour le servo atteindre la position
}
}
Delay(100) ; J’ai mis cela ici, juste pour faire du terminal
fenêtre de plus heureux
}