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.

Download Report

Transcript 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.

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>
Servo servoBarrera;
//librerias
//Declaracion del objeto servomotor
int pinLedRojo = 5;
int pinLedAmarillo = 4;
int pinLedVerde = 3;
int pulsador = 2;
int sensorIR = A5;
//Declaraciones de pines
int pulsaValor;
int sensorValor;
//Declaracion variables
Control barrera con pulsador
Código de programa
• Configuracion
void setup()
{
pinMode(pinLedRojo, OUTPUT);
pinMode(pinLedAmarillo, OUTPUT);
pinMode(pinLedVerde, OUTPUT);
servoBarrera.attach(6);
servoBarrera.write(5);
digitalWrite(pinLedRojo, 0);
digitalWrite(pinLedAmarillo, 0);
digitalWrite(pinLedVerde, 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
{
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);
while (sensorValor > 350)
{
sensorValor = analogRead(sensorIR);
delay(10);
}
delay(2000);
servoBarrera.write(5);
delay(1000);
}
digitalWrite(pinLedRojo, 0);
digitalWrite(pinLedAmarillo, 0);
digitalWrite(pinLedVerde, 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>
Servo servoBarrera;
int pinLedRojo = 5;
int pinLedAmarillo = 4;
int pinLedVerde = 3;
int pulsador = 2;
int sensorIR = A5;
//librerias
//Declaracion del objeto servomotor
//Declaraciones de pines
int sensorValor; //Declaracion variables
int boton;
//int pulsaValor;
Control barrera con Bluetooth
Código de programa
• Configuracion
void setup()
{
pinMode(pinLedRojo, OUTPUT);
pinMode(pinLedAmarillo, OUTPUT);
pinMode(pinLedVerde, OUTPUT);
servoBarrera.attach(6);
servoBarrera.write(5);
digitalWrite(pinLedRojo, 0);
digitalWrite(pinLedAmarillo, 0);
digitalWrite(pinLedVerde, 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
{
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);
while (sensorValor > 350)
{
sensorValor = analogRead(sensorIR);
delay(10);
}
delay(2000);
servoBarrera.write(5);
delay(1000);
boton = ‘ ‘;
}
digitalWrite(pinLedRojo, 0);
digitalWrite(pinLedAmarillo, 0);
digitalWrite(pinLedVerde, 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