PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS CONTROL DE BARRERA DE PARKING PREMIOS CIENTÍFICOS-TECNOLÓGIOCOS “DON BOSCO” PRIMERA EDICIÓN, CURSO 2011-2012 IES “PINTOR RAFAEL REQUENA” Caudete-Albacete Taller de Robótica Tutor: Manuel HIDALGO DÍAZ
Taller de Robótica Actividad extraescolar. Plan de dinamización de los recreos Uno o dos recreos a la semana Alumnos de 1º ESO Joel Serrano López Ricardo Soler Bañón Alejandro Vicente Cózar Juan Conejero Sivó Alejandro Cantó Rubio
Taller de Robótica Actividades en grupo Conocer objetos tecnológicos Controlar los objetos por programación Realizar pequeños proyectos
Taller de Robótica Placa Arduino
Taller de Arduino IDE Arduino (Entorno de desarrollo)
Taller de Arduino Estructura de un programa
Taller de Robótica Placa de actividades
Taller de Robótica
Maqueta del proyecto Diagrama de bloques
Maqueta del proyecto
Elementos tecnológicos Diodo LED Están conectados a los pines 3-4-5 Entrada digital Semáforo
Elementos tecnológicos Actividad de prueba de LED Parpadeo de los LEDs
Elementos tecnológicos Pulsador Controla encendido/apagado de los procesos Entrada digital Tensión 5V 1 digital Tensión 0V 0 digital
Elementos tecnológicos Actividad de prueba de Pulsador Cambia temporalmente el LED
Elementos tecnológicos Servomotor Actuador que sube y baja la barrera Partes Motor eléctrico de continua Circuito electrónico de control Reductora
Elementos tecnológicos Servomotor Se controla con una señal PWM (modulación por anchura de pulso) Arduino utiliza la librería “Servo.h”
Elementos tecnológicos Actividad de prueba de Servomotor Cambia de posición la barrera durante un tiempo
Elementos tecnológicos Sensor de infrarrojos (IR) Detecta la presencia de un obstáculo a una distancia Da una tensión según la distancia Entrada analógica La tensión 0V a 5V pasa 0 a1023 En el sensor IR varía: 0,4V a 3,2V 100 a 640 Valor de seguridad 350
Elementos tecnológicos Actividad Sensor de infrarrojos (IR)
Elementos tecnológicos Actividad Sensor de infrarrojos (IR)
Elementos tecnológicos Los programas de las actividades están en la memoria. El resultado de la combinación de estos elementos es la maqueta. El siguiente video es el Control de la barrera con pulsador.
Control barrera con pulsador
Control barrera con pulsador Código de programa Variables #include <Servo.h> //librerias Servo servoBarrera; //Declaracion del objeto servomotor int pinLedRojo = 5; //Declaraciones de pines int pinLedAmarillo = 4; int pinLedVerde = 3; int pulsador = 2; int sensorIR = A5; int pulsaValor; //Declaracion variables int sensorValor;
Control barrera con pulsador Código de programa Configuracion void setup() { pinMode(pinLedRojo, OUTPUT); //configuracion de pines pinMode(pinLedAmarillo, OUTPUT); pinMode(pinLedVerde, OUTPUT); servoBarrera.attach(6); servoBarrera.write(5); //posicion inical de la barrera digitalWrite(pinLedRojo, 0); // Semaforo Verde digitalWrite(pinLedAmarillo, 0); digitalWrite(pinLedVerde, 1); }
Control barrera con pulsador Código de programa Programa principal void loop() //programa principal { pulsaValor = digitalRead(pulsador); //leemos el valor del pulsador if (pulsaValor == 1) //preguntamos el valor del pulsador y actuamos digitalWrite(pinLedVerde, 0); digitalWrite(pinLedAmarillo, 1); delay(3000); digitalWrite(pinLedAmarillo, 0); digitalWrite(pinLedRojo, 1); delay(500); servoBarrera.write(90); //barrera abierta delay(10000); //semaforo en rojo 10seg
Control barrera con pulsador Código de programa sensorValor = analogRead(sensorIR); //lee valor sensor while (sensorValor > 350) //repite la lectura { //porque hay un obstaculo sensorValor = analogRead(sensorIR); delay(10); } delay(2000); servoBarrera.write(5); //barrera cerrada delay(1000); digitalWrite(pinLedRojo, 0); //semaforo en verde digitalWrite(pinLedAmarillo, 0); digitalWrite(pinLedVerde, 1);
Elementos tecnológicos Módulo Bluetooth Permite una comunicación con otro dispositivo que tenga bluetooth, como un móvil con SO Android. Se conecta los pines Tx y Rx del módulo A los pines Rx y Tx de Arduino
Elementos tecnológicos Módulo Bluetooth La aplicación en el móvil Android utilizada es un mando con botones. Funcionamiento Conectado el módulo de Arduino al móvil Al pulsar el botón central verde envía la letra ‘C’ El programa de Arduino tiene una intsrucción que escucha el puerto serie. Si recibe la letra ‘C’ hace la misma función que el pulsador
Maqueta del proyecto con Bluetooth Diagrama de bloques
Control barrera por bluetooth
Control barrera con Bluetooth Código de programa Variables #include <Servo.h> //librerias Servo servoBarrera; //Declaracion del objeto servomotor int pinLedRojo = 5; //Declaraciones de pines int pinLedAmarillo = 4; int pinLedVerde = 3; int pulsador = 2; int sensorIR = A5; int sensorValor; //Declaracion variables int boton; //int pulsaValor;
Control barrera con Bluetooth Código de programa Configuracion void setup() { pinMode(pinLedRojo, OUTPUT); //configuracion de pines pinMode(pinLedAmarillo, OUTPUT); pinMode(pinLedVerde, OUTPUT); servoBarrera.attach(6); servoBarrera.write(5); //posicion inical de la barrera digitalWrite(pinLedRojo, 0); // Semaforo Verde digitalWrite(pinLedAmarillo, 0); digitalWrite(pinLedVerde, 1); Serial.begin(9600); }
Control barrera con Bluetooth Código de programa Programa principal void loop() //programa principal { if (Serial.available()) //Escuchamos el puerto de comunicaciones boton = Serial.read() if (boton == ‘C’) //preguntamos el valor de boton y actuamos digitalWrite(pinLedVerde, 0); digitalWrite(pinLedAmarillo, 1); delay(3000); digitalWrite(pinLedAmarillo, 0); digitalWrite(pinLedRojo, 1); delay(500); servoBarrera.write(90); //barrera abierta delay(10000); //semaforo en rojo 10seg
Control barrera con Bluetooth Código de programa sensorValor = analogRead(sensorIR); //lee valor sensor while (sensorValor > 350) //repite la lectura { //porque hay un obstaculo sensorValor = analogRead(sensorIR); delay(10); } delay(2000); servoBarrera.write(5); //barrera cerrada delay(1000); boton = ‘ ‘; digitalWrite(pinLedRojo, 0); //semaforo en verde digitalWrite(pinLedAmarillo, 0); digitalWrite(pinLedVerde, 1);
Gracias por su atención IES “PINTOR RAFAEL REQUENA” Caudete-Albacete Taller de Robótica Tutor: Manuel HIDALGO DÍAZ