domingo, 15 de abril de 2012

Laboratorio 10: Control de un Servo motor, en 7 posiciones (cada 30°, de 0° a 180°) con un indicador LED, y controlador por 2 pulsadores.

Control de un Servo motor, en 7 posiciones (cada 30°, de 0° a 180°) con un indicador LED, y controlador por 2 pulsadores:

El laboratorio número 10 consiste en controlar los ángulos que girara el servo motor con cada pulso proporcionado por los pulsadores ya sea el de que lo gira hacia adelante o hacia atrás.
Arduino

















3 comentarios:

  1. excelente proyecto amigo !! tengo una duda me podrías pasar el código pero sin los led ? es que quiero hacer un animatronic y mover la cabeza hacia los lados con un joystick como los de arcade , se agradecería mucho estoy suscrito a tu cuenta de youtube mi correos es vic_13-bkn@hotmail.com saludos !!

    ResponderEliminar
  2. Por si no te han dado respuesta .P

    https://www.youtube.com/watch?v=KBqeeCGaWeE

    #include

    Servo myservo; // crea un objeto tipo servo para controlar el servo
    int pos = 0; // variable para almacenar la posición del servo
    //------------------------------------------------------------------------------------------
    // set pin numbers:
    const int buttonPinFront = 10; // the number of the pushbutton pin
    const int buttonPinBack = 11; // the number of the pushbutton pin
    // the number of the LED pin

    // variables will change:
    int buttonStateFront = 0; // variable for reading the pushbutton status
    int buttonStateBack = 0; // variable for reading the pushbutton status
    //------------------------------------------------------------------------------------------


    void setup()
    {
    myservo.attach(3); // liga el servo conectado en el pin 9 al objeto servo
    pinMode(buttonPinFront, INPUT);
    pinMode(buttonPinBack, INPUT);
    Serial.begin(9600);
    moved(0,0);


    }



    void loop()
    {

    buttonStateFront = digitalRead(buttonPinFront);
    buttonStateBack = digitalRead(buttonPinBack);

    switch (buttonStateFront)
    {
    case HIGH:
    Serial.print(" > ");
    moved(1, 0);
    break;
    }

    switch (buttonStateBack)
    {
    case HIGH:
    Serial.print(" < ");
    moved(0, 1);
    break;
    }
    }

    void moved(int subir, int bajar)
    {
    if(subir)
    {
    if(pos < 6) pos++;
    }
    else if(bajar)
    {
    if(pos > 0) pos--;
    }

    myservo.write(pos * 30);
    Serial.print(pos, DEC);
    Serial.print(' ');
    Serial.println(pos * 30, DEC);
    delay(250);
    }



    ResponderEliminar
  3. ola , excelente trabalho , utilizei uma dessas bibliotecas para incorporar no meu projeto

    PARABÉNS

    ResponderEliminar