PROGRAMACIN DE OBJETOS TECNOLGICOS CONTROL DE BARRERA DE
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 5 V 1 digital • Tensión 0 V 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 0 V a 5 V pasa 0 a 1023 • En el sensor IR varía: • 0, 4 V a 3, 2 V • 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> Servo servo. Barrera; int pin. Led. Rojo = 5; int pin. Led. Amarillo = 4; int pin. Led. Verde = 3; int pulsador = 2; int sensor. IR = A 5; int pulsa. Valor; int sensor. Valor; //librerias //Declaracion del objeto servomotor //Declaraciones de pines //Declaracion variables
Control barrera con pulsador Código de programa • Configuracion void setup() { pin. Mode(pin. Led. Rojo, OUTPUT); pin. Mode(pin. Led. Amarillo, OUTPUT); pin. Mode(pin. Led. Verde, OUTPUT); servo. Barrera. attach(6); servo. Barrera. write(5); digital. Write(pin. Led. Rojo, 0); digital. Write(pin. Led. Amarillo, 0); digital. Write(pin. Led. Verde, 1); } //configuracion de pines //posicion inical de la barrera // Semaforo Verde
Control barrera con pulsador Código de programa • Programa principal void loop() //programa principal { pulsa. Valor = digital. Read(pulsador); //leemos el valor del pulsador if (pulsa. Valor == 1) //preguntamos el valor del pulsador y actuamos { digital. Write(pin. Led. Verde, 0); digital. Write(pin. Led. Amarillo, 1); delay(3000); digital. Write(pin. Led. Amarillo, 0); digital. Write(pin. Led. Rojo, 1); delay(500); servo. Barrera. write(90); //barrera abierta delay(10000); //semaforo en rojo 10 seg
Control barrera con pulsador Código de programa sensor. Valor = analog. Read(sensor. IR); while (sensor. Valor > 350) { sensor. Valor = analog. Read(sensor. IR); delay(10); } delay(2000); servo. Barrera. write(5); delay(1000); } digital. Write(pin. Led. Rojo, 0); digital. Write(pin. Led. Amarillo, 0); digital. Write(pin. Led. Verde, 1); delay(10); } //lee valor sensor //repite la lectura //porque hay un obstaculo //barrera cerrada //semaforo en verde
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 servo. Barrera; //Declaracion del objeto servomotor int pin. Led. Rojo = 5; //Declaraciones de pines int pin. Led. Amarillo = 4; int pin. Led. Verde = 3; int pulsador = 2; int sensor. IR = A 5; int sensor. Valor; //Declaracion variables int boton; //int pulsa. Valor;
Control barrera con Bluetooth Código de programa • Configuracion void setup() { pin. Mode(pin. Led. Rojo, OUTPUT); pin. Mode(pin. Led. Amarillo, OUTPUT); pin. Mode(pin. Led. Verde, OUTPUT); servo. Barrera. attach(6); servo. Barrera. write(5); digital. Write(pin. Led. Rojo, 0); digital. Write(pin. Led. Amarillo, 0); digital. Write(pin. Led. Verde, 1); Serial. begin(9600); } //configuracion de pines //posicion inical de la barrera // Semaforo Verde
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 { digital. Write(pin. Led. Verde, 0); digital. Write(pin. Led. Amarillo, 1); delay(3000); digital. Write(pin. Led. Amarillo, 0); digital. Write(pin. Led. Rojo, 1); delay(500); servo. Barrera. write(90); //barrera abierta delay(10000); //semaforo en rojo 10 seg
Control barrera con Bluetooth Código de programa sensor. Valor = analog. Read(sensor. IR); while (sensor. Valor > 350) { sensor. Valor = analog. Read(sensor. IR); delay(10); } delay(2000); servo. Barrera. write(5); delay(1000); boton = ‘ ‘; } digital. Write(pin. Led. Rojo, 0); digital. Write(pin. Led. Amarillo, 0); digital. Write(pin. Led. Verde, 1); delay(10); } //lee valor sensor //repite la lectura //porque hay un obstaculo //barrera cerrada //semaforo en verde
Gracias por su atención IES “PINTOR RAFAEL REQUENA” Caudete-Albacete Taller de Robótica Tutor: Manuel HIDALGO DÍAZ
- Slides: 35