Download - Arduino Puerta Garaje
-
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