arduino puerta garaje

Upload: marco-aliaga-damasen

Post on 25-Feb-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 Arduino Puerta Garaje

    1/10

    Documento creado porFernando Martnez Moya

    http://fermoya.compgina 1 de 10

    CURSO: INTRODUCCIN A LA

    ROBTICA CON ARDUINO

    AUTOMATIZACIN PUERTA DE GARAJE

  • 7/25/2019 Arduino Puerta Garaje

    2/10

    Documento creado porFernando Martnez Moya

    http://fermoya.compgina 2 de 10

    Tabla de contenido

    1. DESCRIPCIN GENERAL DEL TRABAJO ................................................................................................ 3

    2. DIAGRAMA DE BLOQUES ............................................................................................................................. 4

    3. ESQUEMAS ......................................................................................................................................................... 6

    4. CONEXIONADO ................................................................................................................................................. 7

    5. PROGRAMA DE LA PLACA ARDUINO ..................................................................................................... 7

    6. SOFTWARE UTILIZADO ................................................................................................................................ 9

    7. VARIACIONES AL PROYECTO .................................................................................................................. 10

  • 7/25/2019 Arduino Puerta Garaje

    3/10

    Documento creado porFernando Martnez Moya

    http://fermoya.compgina 3 de 10

    1.

    DESCRIPCIN GENERAL DEL TRABAJO

    Como trabajo final del curso me he propuesto automatizar el funcionamiento de alguno de

    los proyectos que mis alumnos y alumnas han elaborado durante las horas de Tecnologa

    destinadas en el Aula-Taller.

    El nivel educativo al que dirijo el presente trabajo es 4 de ESO, ya que en dicho nivel es

    donde aparece el bloque de CONTROL Y ROBTICA, con el que se pretende que el

    alumnado trabaje los siguientes contenidos:

    Comprensin y experimentacin con sistemas automticos, sensores, actuadores y

    aplicacin de la realimentacin en dispositivos de control. Diseo, simulacin y

    construccin de robots.

    Uso del ordenador como elemento de programacin y control. Trabajo con

    simuladores informticos para verificar y comprobar el funcionamiento de los

    sistemas diseados.

    El proyecto elegido es una puerta de garaje, por tener la maqueta ya construida y probada

    con anterioridad, y se pretende que la misma funcione de acuerdo con las siguientes

    condiciones:

    Dispondr de un pulsador de apertura. Al ser accionado la puerta comenzar a abrir.

    Al llegar a un final de carrera (bumper) denominado FCA (puerta totalmente abierta)

    la puerta debe detenerse sola.

    Transcurrido un tiempo (unos 30 segundos) la puerta comenzar a cerrar.

    Al llegar a un final de carrera (bumper) denominado FCC (puerta totalmente cerrada)

    la puerta debe detenerse sola.

    Si durante el proceso de cierre se accionase el pulsador de apertura, debe detenerse

    el proceso para comenzar a abrir la puerta de nuevo.

  • 7/25/2019 Arduino Puerta Garaje

    4/10

    Documento creado porFernando Martnez Moya

    http://fermoya.compgina 4 de 10

    NOTA:Durante la elaboracin del presente trabajo no he tenido en mi poder la placa Arduino, por lo que no

    me ha sido posible conectar elctricamente la maqueta y comprobar fsicamente su funcionamiento.

    2.

    DIAGRAMA DE BLOQUES

    Para realizar las primeras pruebas de programacin, de acuerdo con las condiciones

    anteriormente establecidas, he empleado el software libre MyOpenLab, en su versin

    3.0.3.2, descargada desde la webhttp://es.myopenlab.de/.

    http://es.myopenlab.de/http://es.myopenlab.de/http://es.myopenlab.de/http://es.myopenlab.de/
  • 7/25/2019 Arduino Puerta Garaje

    5/10

    Documento creado porFernando Martnez Moya

    http://fermoya.compgina 5 de 10

    Este software, que suelo trabajar en clase con mis alumnos y alumnas, nos permite disear

    y simular cualquier programa mediante la utilizacin de diagramas de flujo. De esta manera

    se puede comprobar el correcto funcionamiento de un programa para ir adaptndolo a las

    necesidades de funcionamiento establecidas.

    En este caso, tras realizar varias pruebas de funcionamiento, el diagrama de flujo que

    determina el correcto funcionamiento de la puerta del garaje, en base a las condicionesestablecidas, es el siguiente:

    Una vez comprobado el funcionamiento del programa resulta ms fcil traducirlo al

    lenguaje de la placa Arduino.

  • 7/25/2019 Arduino Puerta Garaje

    6/10

    Documento creado porFernando Martnez Moya

    http://fermoya.compgina 6 de 10

    3.

    ESQUEMAS

    El esquema elctrico que determina el conexionado entre los diferentes elementos de la

    puerta (motor, finales de carrera y pulsador) con la placa Arduino es el representado a

    continuacin.

    El listado materiales necesarios para realizar el proyecto es el siguiente:

    1 Placa Arduino Duemilanove

    1 Motor de corriente continua con reductora incorporada

    3 Resistencias de 10 k

    2 Finales de carrera (bumpers)

    1 Pulsador normalmente abierto (NA)

    1 Fuente de alimentacin de 5 Voltios (o pila de petaca de 4,5 voltios)

  • 7/25/2019 Arduino Puerta Garaje

    7/10

    Documento creado porFernando Martnez Moya

    http://fermoya.compgina 7 de 10

    4.

    CONEXIONADO

    En el esquema se puede observar que utilizamos las patillas digitales 3, 4, 5, 6 y 7 de la Placa

    Arduino.

    Los pines 3, 4 y 5, donde conectamos los finales de carrera o bumpers y el pulsador NA deben ser

    configurados como de entrada, mientras que los pines 6 y 7 deben ser configurados como de salida.

    En un principio no se propone la conexin de las entradas a travs de un integrado L293D (bscula

    de Schmitt) que estabilice las posibles perturbaciones en stos elementos.

    En el caso de las entradas 5 voltios supondr que el elemento ha sido activado (1 lgico), mientras

    que 0 voltios supondr que el elemento se encuentra en estado de reposo o desactivado (0

    lgico).

    Para las salidas se pueden dar las siguientes opciones:

    Pin 6 Pin 7 Estado Motor DC

    1 HIGH (5 V) HIGH (5 V) PARADO

    2 LOW (0 V) LOW (0 V) PARADO

    3 HIGH (5 V) LOW (0 V) GIRO A DERECHAS (APERTURA)

    4 LOW (0 V) HIGH (5 V) GIRO A IZQUIERDAS (CIERRE)

    Queda claro que en los casos 1 y 2 no estaremos dando al motor diferencia de potencial alguna al

    bobinado rotrico, por lo que estar parado. Los casos 3 y 4 son complementarios, por lo que uno

    hace girar el motor en un sentido (apertura de la puerta) y el otro en sentido contrario (cierre de lapuerta).

    5. PROGRAMA DE LA PLACA ARDUINO

    El programa de la placa Arduino que cumple los requisitos establecidos para el funcionamiento de

    la puerta automtica es el siguiente:

  • 7/25/2019 Arduino Puerta Garaje

    8/10

    Documento creado porFernando Martnez Moya

    http://fermoya.compgina 8 de 10

    // Proyecto: AUTOMATIZACION PUERTA GARAJE// Nivel: ESO4

    // Autor: Fernando Martinez Moya

    // Fecha: Enero 2011

    /*

    El pulsador abre la puerta. Al llegar al FCA se para, temporiza y cierra a

    continuacion.

    Si durante el proceso de cierre se pulsa PA, para el motor para volver a abrir.

    Cuando esta cerrando se para al llegar a FCC.

    */

    // Declaracion de constantes y variables

    const int FCAPin = 3; // Final de carrera de apertura (entrada digital)

    const int PAPin = 4; // Pulsador de apertura (entrada digital)

    const int FCCPin = 5; // Final de carrera de cierre (entrada digital)

    int MAPin = 6; // Giro motor para apertura (salida digital)int MCPin = 7; // Giro motor para cierre (salida digital)

    int tiempo = 1; // Tiempo que est abierta la puerta

    int pa = LOW; // Variable que almacena el valor del pulsador

    int fca; // Variable que almacena el valor del bumper de apertura

    int fcc; // Variable que almacena el valor del bumper de cierre

    // Declaracion de funciones

    void para(){

    digitalWrite(MAPin, LOW); // Ponemos los pines 6 y 7 en valor bajo

    digitalWrite(MCPin, LOW); // Vale poniendolos en valor alto

    }

    void abre(){

    digitalWrite(MAPin, HIGH); // Motor abre la puertadigitalWrite(MCPin, LOW);

    }

    void cierra(){

    digitalWrite(MAPin, LOW); // Motor cierra la puerta

    digitalWrite(MCPin, HIGH);

    }

    // Configuracion e inicializacion

    void setup() {

    int i;

    for(i=3;i < 6;i++) {

    pinMode(i, INPUT); // Pines 3,4,5 configurados como entradas

    }

    for(i=6;i < 8;i++) {pinMode(i, OUTPUT); // Pines 6,7 configurados como salidas

    }

    }

    // Programa de control de la puerta

    void loop() {

    para(); // Comenzamos parando el motor

    pa = LOW; // Inicializamos la variable pa

    while (pa == LOW){ // Leemos el pulsador mediante un bucle

    pa = digitalRead(PAPin);

    }

    pa = LOW; // Reiniciamos la variable

    fca = digitalRead(FCAPin);// Leemos el bumper de apertura

    while (fca == LOW){ // Abrimos la puerta y leemos el estado de fca

    abre();

  • 7/25/2019 Arduino Puerta Garaje

    9/10

    Documento creado porFernando Martnez Moya

    http://fermoya.compgina 9 de 10

    fca = digitalRead(FCAPin);}

    para();

    delay(tiempo * 1000); // Temporizamos el valor de tiempo en segundos

    fca = LOW; // Reiniciamos la variable

    fcc = digitalRead(FCCPin); // Leemos el estado del bumper de cierre

    while (fcc == LOW){

    cierra();

    fcc = digitalRead(FCCPin);

    pa = digitalRead(PAPin);

    if (pa == HIGH){

    para();

    break;

    }

    }

    }

    Este programa ha sido comprobado con la ayuda de un simulador para Arduino,

    concretamente el software libre Virtual Breadboard.

    El video de la simulacin puede encontrarse en:

    http://www.youtube.com/watch?v=3WF91hwJsDM

    6.

    SOFTWARE UTILIZADO

    El software que se ha utilizado para elaborar el presente proyecto ha sido el relacionado a

    continuacin.

    Software de programacin Arduino Alpha, versin 022 (ingls)

    MyOpenLab, versin 3.0.3.2 (simulador de programacin mediante diagramas de

    flujo)

    http://www.youtube.com/watch?v=3WF91hwJsDMhttp://www.youtube.com/watch?v=3WF91hwJsDMhttp://www.youtube.com/watch?v=3WF91hwJsDM
  • 7/25/2019 Arduino Puerta Garaje

    10/10

    Documento creado porFernando Martnez Moya

    http://fermoya.compgina 10 de 10

    Fritzing, versin 0.4.3 (para el diseo del circuito elctrico con Arduino) Virtual Breadboard, versin 4.2.5.0 (para la simulacin del programa de control)

    Google Sketchup, versin 7 (para el diseo de la puerta y generacin de las imgenes

    que ilustran la forma de la misma)

    7. VARIACIONES AL PROYECTO

    Sobre el presente proyecto pueden realizarse algunas ampliaciones y/o modificaciones,como son:

    Eliminar, del proceso de cierre, la accin del pulsador de apertura, para hacerlo ms

    sencillo.

    Incluir una lmpara verde para indicar que la puerta est abriendo y otra roja para

    indicar cuando est cerrando.

    Incluir detectores de paso de vehculos para que la puerta no cierre hasta que el

    vehculo no haya pasado en su totalidad.

    Incluir un contador de vehculos dentro del garaje (para realizar un parking pblico).

    Fernando Martnez Moya