Está en la página 1de 3

Creado: Luis del Valle (ldelvalleh@programarfacil.

com)
https://programarfacil.com
*/

// Inclumos la librera para poder controlar el servo


#include <Servo.h>

// Declaramos la variable para controlar el servo


Servo servoMotor;

void setup() {
// Iniciamos el monitor serie para mostrar el resultado
Serial.begin(9600);

// Iniciamos el servo para que empiece a trabajar con el pin 9


servoMotor.attach(9);
}

void loop() {

// Desplazamos a la posicin 0
servoMotor.write(0);
// Esperamos 1 segundo
delay(1000);

// Desplazamos a la posicin 90
servoMotor.write(90);
// Esperamos 1 segundo
delay(1000);

// Desplazamos a la posicin 180


servoMotor.write(180);
// Esperamos 1 segundo
delay(1000);
}

*/

Creado: Luis del Valle (ldelvalleh@programarfacil.com)


https://programarfacil.com
*/

// Inclumos la librera para poder controlar el servo


#include <Servo.h>

// Declaramos la variable para controlar el servo


Servo servoMotor;

void setup() {
// Iniciamos el monitor serie para mostrar el resultado
Serial.begin(9600);

// Iniciamos el servo para que empiece a trabajar con el pin 9


servoMotor.attach(9);

// Inicializamos al ngulo 0 el servomotor


servoMotor.write(0);
}

void loop() {

// Vamos a tener dos bucles uno para mover en sentido positivo y otro en sentido negativo
// Para el sentido positivo
for (int i = 0; i <= 180; i++)
{
// Desplazamos al ngulo correspondiente
servoMotor.write(i);
// Hacemos una pausa de 25ms
delay(25);
}

// Para el sentido negativo


for (int i = 179; i > 0; i--)
{
// Desplazamos al ngulo correspondiente
servoMotor.write(i);
// Hacemos una pausa de 25ms
delay(25);
}
}

#include <Servo.h>

Servo myservo; // cration d'un objet myservo issu de la librairie Servo

int position; // dclaration de la variable qui gre la position du servomoteur


const int ledPin = 13; // dclaration de la variable qui sert allumer la del
boolean etape1 = false; // dclaration d'un boolen qui va enregistrer l'tat de l'tape 1
boolean etape2 = false; // dclaration d'un boolen qui va enregistrer l'tat de l'tape 2
boolean etape3 = false; // dclaration d'un boolen qui va enregistrer l'tat de l'tape 3

void setup()
{
Serial.begin(9600); // initialisation du port srie
}

void loop()
{
position = analogRead(A0); // lit la valeur du potentiomtre qui commande le servo
(valeur comprise entre 0 et 1023)
position = map(position, 0, 1023, 0, 179); // change l'chelle pour que nous tre en degrs
(valeur comprise en 0 et 179)
Serial.println(position);
delay(15); // petite attente pour que tout se passe bien

// si des ordres sont envoys sur le port srie, on prend possession du servo
if (Serial.available() > 0) {

myservo.attach(9); // le servo est branch sur la broche 9

// lit le texte qui arrive sur le port srie et le convertit en nombre entier
position = Serial.parseInt();

if (position > 120 ) {


// instructions excutes si les deux conditions ci-dessus sont vraies
etape1==true;
Serial.println("Etape 1 : OK");
delay(5000);
}
if (position <60 && etape1==true ) {
// instructions excutes si les deux conditions ci-dessus sont vraies
etape2==true;
Serial.println("Etape 2 : OK");
}

// ce nombre entier est envoy au servo


myservo.write(position);
// dtacher le servo pour viter de figer sa position
myservo.detach();
}
}

También podría gustarte