SlideShare una empresa de Scribd logo
CONTROL DE BARRERA DE PARKING
PREMIOS CIENTÍFICOS-TECNOLÓGIOCOS
“DON BOSCO”
PRIMERA EDICIÓN, CURSO 2011-2012
IES “PINTOR RAFAEL REQUENA”
Caudete-Alabacete
Taller de Robótica
Tutor: Manuel HIDALGO DÍAZ
PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS
IES “PINTOR RAFAEL REQUENA”. Taller de Robótica.
2
Contenido
1.- INTRODUCCIÓN ........................................................................................................ 3
2.- PROYECTO TECNOLÓGICO .................................................................................... 5
3.- PLACA ARDUINO....................................................................................................... 6
3.1.- Conexión Arduino-PC con cable USB ................................................................ 6
3.2.- IDE (Entorno de Desarrollo) de Arduino ............................................................. 7
3.4.- Selección de tipo de placa Arduino...................................................................... 8
3.5.- Selección del puerto serie.................................................................................... 8
3.6.- Sube el sketch (programa) a la placa .................................................................. 8
3.7.- ESTRUCTURA DE UN PROGRAMA .................................................................. 8
4.- DIODO LED............................................................................................................... 11
4.1.- Semáforo ............................................................................................................ 13
5.- PULSADOR............................................................................................................... 14
6.- SERVOMOTOR ........................................................................................................ 15
7.- SENSOR DE DISTANCIA POR INFRARROJOS SHARP GP2Dxx ........................ 16
7.1.- Funcionamiento.................................................................................................. 17
7.2.- Programa del lectura del sensor IR.................................................................... 17
8.- Programa de control barrera de parking................................................................... 19
9.- Comunicaciones por bluetooth ................................................................................. 20
10.- BIBLIOGRAFÍA ....................................................................................................... 22
PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS
IES “PINTOR RAFAEL REQUENA”. Taller de Robótica.
3
1.- INTRODUCCIÓN
Este proyecto se ha desarrollado durante el 2º trimestre del curso 2011-2012,
siendo una continuación de la actividad extraescolar de dinamización de los recreos
del Taller de Robótica del 1º trimestre. Los participantes son sólo alumnos de 1º ESO.
1. Joel Serrano López
2. Ricardo Soler Bañón
3. Alejandro Vicente Cózar
4. Juan Conejero Sivó
5. Alejandro Cantó Rubio
Las tareas a realizar son:
Fomentar el trabajo en equipo y habilidades sociales de grupo.
Despertar el interés por el funcionamiento de los objetos tecnológicos.
Conocer la tarjeta electrónica programable (Arduino).
Programar la tarjeta para realizar tareas de control como son encendido
y apagado de luces de tipo LED, control de funcionamiento de
servomotor, lectura de magnitudes de sensores.
Realizaciar de pequeños proyectos.
El resultado ha sido una placa de dispositivos electrónicos que se conectan
sobre la placa Arduino y se pueden realizar actividades básicas de análisis de
funcionamiento y programación de los dispositivos.
PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS
IES “PINTOR RAFAEL REQUENA”. Taller de Robótica.
4
Esta placa ha sido la base de la maqueta de proyecto tecnológico de
“Control de barrera de parking”.
Para realizar las tareas el alumnado ha tenido la documentación que a
continuación se expone.
PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS
IES “PINTOR RAFAEL REQUENA”. Taller de Robótica.
5
2.- PROYECTO TECNOLÓGICO
El proyecto tecnológico, “Control de Barrera de Parking”, tiene el siguiente
diagrama de bloques:
Este sistema de control consta de los siguientes elementos:
Tarjeta de control: placa Arduino que es un sistema electrónico programable,
va a tener el programa que controla la subida y bajada de la barrera del
parking. También va a recibir información del sensor de infrarrojos que detecta
la presencia de un obstáculo en la barrera haciendo que la tarjeta de control no
baje la barrera hasta que no haya obstáculo.
Servomotor: elemento actuador que va a subir y bajar la barrera del parking.
Sensor: dispositivo electrónico que detecta, mediante luz infrarroja, la presencia
de un obstáculo.
Sistema de alimentación: batería que proporciona la tensión necesaria a los
dispositivos electrónicos de la maqueta.
PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS
IES “PINTOR RAFAEL REQUENA”. Taller de Robótica.
6
3.- PLACA ARDUINO
La placa Arduino, sistema electrónico programable, va a controlar el
funcionamiento del proyecto. Su elemento principal es un microcontrolador con
entrada/salidas digitales, entradas analógicas, salidas PWM y comunicaciones serie-
USB.
Esta tarjeta como recurso didáctico tiene como base el siguiente principio:
La “inteligencia de Arduino” se expresa mediante su lenguaje de programación
3.1.- Conexión Arduino-PC con cable USB
En el taller estamos usando una placa Arduino Duemilanove 328 y necesitamos
un cable estándar USB (conexión A a conexión B) para conectarlo al PC.
PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS
IES “PINTOR RAFAEL REQUENA”. Taller de Robótica.
7
Conectamos la placa Arduino al ordenador usando el cable USB, el LED verde
indicador de la alimentación (nombrado como PWR en la placa) queda encendido a
partir de ese momento. Estableciendo la comunicación con el PC por un puerto
COMnum, el número del puerto COM hay que verlo en propiedades de configuración
del sistema.
Esto quiere decir que los drivers están instalados y podemos pasar a escribir y
cargar programas en la placa Arduino.
3.2.- IDE (Entorno de Desarrollo) de Arduino
Programa que nos permite escribir y cargar los programas en la placa Arduino
a través del puerto USB.
PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS
IES “PINTOR RAFAEL REQUENA”. Taller de Robótica.
8
3.4.- Selección de tipo de placa Arduino
Necesitamos seleccionar el tipo de placa de tu Arduino en el menu Tools >
Board. Para las placas Arduino con el chip ATmega 328 (comprueba el texto escrito
en el chip de la placa), selecciona la opción Arduino Duemilanove or Nano w/
ATmega328 del menú desplegable.
3.5.- Selección del puerto serie
Seleccionamos el dispositivo serie de la placa Arduino en el menú Tools >
Serial Port (Herramientas > Puertos Serie). Lo más probable es que sea COM3 o
mayor (COM1 y COM2 se reservan, por regla general para puertos serie de hardware).
Para asegurarte de cual es, puedes desconectar la placa y volver a mirar el menú; el
puerto de la placa habrá desaparecido de la lista. Reconecta la placa y selecciona el
puerto apropiado.
3.6.- Sube el sketch (programa) a la placa
Ahora se pulsa sobre el botón "Upload" en el Entorno Arduino. Se espera unos
pocos segundos - deberías parpadear los led RX y TX de la placa. Si el volcado del
código es correcto aparece el mensaje "Done uploading" en la barra de estado.
Unos pocos segundos después de finalizar el volcado del programa empieza a
funcionar.
3.7.- ESTRUCTURA DE UN PROGRAMA
La estructura básica del lenguaje de programación de Arduino es bastante
simple y se compone de al menos dos partes. Estas dos partes necesarias encierran
bloques que contienen declaraciones, instrucciones y estructuras de control.
void setup()
{
Instrucciones y estructuras de control;
}
void loop()
{
Instrucciones y estructuras de control;
}
PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS
IES “PINTOR RAFAEL REQUENA”. Taller de Robótica.
9
En donde setup() es la parte encargada de recoger la configuración y loop() es
la que contienen el programa que se ejecutará cíclicamente (de ahí el termino loop –
bucle-). Ambas funciones son necesarias para que el programa trabaje.
La función de configuración debe contener la declaración de las variables. Es la
primera función a ejecutar en el programa, se ejecuta sólo una vez, y se utiliza para
configurar o inicializar pinMode (modo de trabajo de las E/S), configuración de la
comunicación en serie y otras.
La función bucle (loop) siguiente contiene el código que se ejecutara
continuamente (lectura de entradas, activación de salidas, etc) Esta función es el
núcleo de todos los programas de Arduino y la que realiza la mayor parte del trabajo.
Código del programa ejemplo de parpadeo del led
/*
Blink
Turns on an LED on for one second,
then off for one second, repeatedly.
This example code is in the public domain.
*/
void setup() {
// initialize the digital pin as an output.
// Pin 13 has an LED connected on most Arduino boards:
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH); // set the LED on
delay(1000); // wait for a second
digitalWrite(13, LOW); // set the LED off
delay(1000); // wait for a second
}
PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS
IES “PINTOR RAFAEL REQUENA”. Taller de Robótica.
10
En resumen el proceso de programación sigue los siguientes pasos:
PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS
IES “PINTOR RAFAEL REQUENA”. Taller de Robótica.
11
4.- DIODO LED
Un led (de la sigla inglesa LED: Light-Emitting Diode: "diodo emisor de luz",
también "diodo luminoso") es un diodo semiconductor que emite luz. Se usan como
indicadores en muchos dispositivos, y cada vez con mucha más frecuencia, en
iluminación y señalización de semáforos.
El circuito eléctrico de funcionamiento es el siguiente:
El circuito para controlar el diodo led con la placa Arduino es:
En el pin13 está el led que incorporá la placa y en nuestro proyecto se
contectan al pin 3, 4 y 5, como salida digital.
PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS
IES “PINTOR RAFAEL REQUENA”. Taller de Robótica.
12
El programa que hace funcionar y nos da información del estado de los 3
led por el monitor serie es el siguiente:
/*
Encendido-Apagado y estado de los leds
*/
//Declaracion de etiquetas y variables
//nombre para el pin con led, salida digital
int pinLedRojo = 5;
int pinLedAmarrillo = 4;
int pinLedVerde = 3;
//Tiempo para el retardo
int retardo = 1000; //variable entera
void setup() {
// configure los pines digitales como salida.
pinMode(pinLedRojo, OUTPUT);
pinMode(pinLedAmarrillo, OUTPUT);
pinMode(pinLedVerde, OUTPUT);
//inicializacion del puerto serie
Serial.begin(9600);
}
void loop() {
digitalWrite(pinLedRojo, 1); // enciende el led
digitalWrite(pinLedAmarrillo, 1);
digitalWrite(pinLedVerde, 1);
Serial.println("Led ENCENDIDO"); //Escribe el mensaje entrecomillado
//en el monitor serie
delay(retardo); // espera el tiempo asignado en la
// variable retardo
digitalWrite(pinLedRojo, 0); // apaga el led
digitalWrite(pinLedAmarrillo, 0);
digitalWrite(pinLedVerde, 0);
Serial.println("Led APAGADO"); //Escribe el mensaje entrecomillado
// en el monitor serie
delay(retardo); // espera el tiempo asignado en la
//variable retardo
Serial.println("Fin de programa"); //Escribe el mensaje en el
//monitor
Serial.println(); //inserta una linea en blanco
delay(retardo);
}
PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS
IES “PINTOR RAFAEL REQUENA”. Taller de Robótica.
13
4.1.- Semáforo
Repitiendo el circuito del led en los pines 3, 4 y 5 simulamos un semáforo. El
código es el siguiente:
/*
Semaforo
*/
//Declaracion de etiquetas y variables
//nombre para el pin con led, salida digital
int pinLedRojo = 5;
int pinLedAmarrillo = 4;
int pinLedVerde = 3;
//Tiempo para el retardo
int retardo = 5000; //variable entera
void setup() {
// initialize the digital pin as an output.
pinMode(pinLedRojo, OUTPUT);
pinMode(pinLedAmarrillo, OUTPUT);
pinMode(pinLedVerde, OUTPUT);
}
void loop() {
digitalWrite(pinLedRojo, 1); // Semaforo Rojo
digitalWrite(pinLedAmarrillo, 0);
digitalWrite(pinLedVerde, 0);
delay(retardo);
digitalWrite(pinLedRojo, 0); // Semaforo Ambar
digitalWrite(pinLedAmarrillo, 1);
digitalWrite(pinLedVerde, 0);
delay(retardo);
digitalWrite(pinLedRojo, 0); // Semaforo Verde
digitalWrite(pinLedAmarrillo, 0);
digitalWrite(pinLedVerde, 1);
delay(retardo);
}
PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS
IES “PINTOR RAFAEL REQUENA”. Taller de Robótica.
14
5.- PULSADOR
El pulsador es un dispositivo que nos sirve para controlar la puesta en
funcionamiento de acciones que queremos controlar. El circuito eléctrico que se utiliza
en el proyecto es:
Para la placa Arduino es una entrada digital que tiene un valor lógico “0” (0V),
cuando no está pulsado, y un valor lógico “1” (5V), cuando está pulsado.
Programa ejemplo:
/*
Leer un pulsador conectado a pin 2 y
enciende el led Verde
*/
//Declaracion de etiquetas y variables
int pinPulsador = 2;
int pinLedRojo = 5;
int pinLedVerde = 3;
int pulsador;
//Tiempo para el retardo
int retardo = 3000; //variable entera
void setup() {
// inicializacion.
pinMode(pinPulsador, INPUT);
pinMode(pinLedRojo, OUTPUT);
pinMode(pinLedVerde, OUTPUT);
}
void loop() {
pulsador = digitalRead(pinPulsador);
if (pulsador == 1)
{
digitalWrite (pinLedVerde, 1);
digitalWrite (pinLedRojo, 0);
delay(retardo);
}
digitalWrite (pinLedRojo, 1);
digitalWrite (pinLedVerde, 0);
}
PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS
IES “PINTOR RAFAEL REQUENA”. Taller de Robótica.
15
6.- SERVOMOTOR
Los servos poseen un motor de CC, que gira a velocidad alta, una serie de
engranajes para producir la reducción de velocidad de giro y aumentar su fuerza en el
eje (par), un potenciómetro conectado al eje de salida (que es ni más ni menos que el
encoder) y un circuito de control de la realimentación.
Estos servos reciben señal por tres cables: alimentación para el motor y el
circuito electrónico de control (a través de dos cables, positivo y negativo/masa), y una
señal control (PWM) que determina la posición que se requiere. La alimentación de
estos servos es, normalmente, de entre 4,8 y 6 voltios.
La señal de control es de tipo PWM, modulación por anchura de pulso:
PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS
IES “PINTOR RAFAEL REQUENA”. Taller de Robótica.
16
Para la programación de los servomotores con Arduino se emplea la librería Servo.h.
Programa de control del servo
// Control de servos
#include <Servo.h>
Servo servo;
void setup()
{
servo.attach(6);
}
void loop()
{
servo.write(10);
delay(5000);
servo.write(45);
delay(5000);
servo.write(90);
delay(5000);
}
7.- SENSOR DE DISTANCIA POR INFRARROJOS
SHARP GP2Dxx
El sensor GP2DXX de sharp es un dispositivo de reflexión por infrarrojos para
medir. El sensor de nuestro proyecto nos da una tensión proporcional a la distancia de
obstáculo donde se refleja.
PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS
IES “PINTOR RAFAEL REQUENA”. Taller de Robótica.
17
7.1.- Funcionamiento.
El dispositivo emite luz infrarroja por medio de un led emisor de IR, esta luz
pasa a través de una lente que concentra los rayos de luz formando un único rayo lo
más concentrado posible para así mejorar la directividad del sensor, la luz va recta
hacia delante y cuando encuentra un obstáculo reflectante rebota y retorna con cierto
ángulo de inclinación dependiendo de la distancia, la luz que retorna es concentrada
por otra lente y así todos los rayos de luz inciden en un único punto del sensor de luz
infrarroja que contiene en la parte receptora del dispositivo. Este sensor es un CCD
lineal y dependiendo del ángulo de recepción de la luz incidirá en un punto u otro del
sensor pudiendo de esta manera obtener un valor lineal y proporcional al ángulo de
recepción del haz de luz.
La programación de este sensor se programa como entrada analógica.
7.2.- Programa del lectura del sensor IR.
/*
Lectura de la entrada analogica
Taller de Robotica 2011-2012
IES Pintor Rafael Requena
*/
int sensorIRdistancia = A5; // seleccion pin de entrada sensor
int ledAmarillo = 3; // seleccion pin de salida LED
int sensorValor = 0; // variable para almacenar el valor del
sensor
void setup() {
// Configuracion de los pines
pinMode(ledAmarillo, OUTPUT);
//Configuracion de las comunicaciones
Serial.begin(9600);
}
void loop() {
// lee el valor del sensor y lo guarda en la variable
sensorValor = analogRead(sensorIRdistancia);
// Escribe el valor leido en el monitor serie
Serial.print("El valor leido es: ");
Serial.println(sensorValor);
Serial.println(); //linea en blanco
delay(500);
}
PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS
IES “PINTOR RAFAEL REQUENA”. Taller de Robótica.
18
El resultado que vemos a través de monitor serie del IDE de Arduino de la lectura de
sensor IR es:
Como es una entrada analógica la tensión que proporcional el sensor IR desde
un valor de 3,1V para una distancia de 3cm a 0,4V para una distancia de 80cm, se
convierte en números que van de 100 a 600 para nuestro proyecto (el rango sería de 0
a 1023 si la tensión fuera de 0V a 5V). En concreto vemos visto que si el obstáculo
está dentro de la zona de la barrera el valor es mayor de 350. Este valor lo empleamos
en el programa para marcar el límite de seguridad con el sensor IR.
PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS
IES “PINTOR RAFAEL REQUENA”. Taller de Robótica.
19
8.- Programa de control barrera de parking
//Barrera controlada por pulsador
#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;
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);
}
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
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);
delay(10);
}
PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS
IES “PINTOR RAFAEL REQUENA”. Taller de Robótica.
20
9.- Comunicaciones por bluetooth
El control de la barrera también podemos realizarlos de forma remota con un
módulo de comunicaciones por bluetooth.
Se realiza de la siguiente manera:
1º Conectamos el módulo bluetooth a los pines 0(Rx)Tx y 1(Tx)Rx y la
alimentación.
2º Se carga una aplicación al teléfono móvil, Blue Control de Android.
Esta aplicación cuando está conectada al módulo bluetooth de Arduino
establece una comunicación enviando una letra. En concreto el botón central (verde)
manda la letra ‘C’ y ésta la leemos en el programa para controlar la barrera.
Ahora nuestro proyecto tiene el siguiente diagrama de bloques:
Código de programa que controla la barrera por bluetooth
PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS
IES “PINTOR RAFAEL REQUENA”. Taller de Robótica.
21
//Barrera controlada por bluetooth
#include <Servo.h> //librerias
Servo servoBarrera; //Declaracion del objeto servomotor
int pinLedRojo = 5; //Declaraciones de pines
int pinLedAmarillo = 4;
int pinLedVerde = 3;
int sensorIR = A5;
int sensorValor; //Declaracion variables
int boton;
void setup() //funcion configuracion
{
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); //Comunicaciones
}
void loop() //funcion principal
{
if (Serial.available()) //Escuchamos el puerto
{
boton =Serial.read();
}
//preguntamos el valor del pulsador y actuamos
if (boton == 'C')
{
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
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 = ' ';
}
//semaforo en verde
digitalWrite(pinLedRojo, 0);
digitalWrite(pinLedAmarillo, 0);
digitalWrite(pinLedVerde, 1);
delay(10);
}
PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS
IES “PINTOR RAFAEL REQUENA”. Taller de Robótica.
22
10.- BIBLIOGRAFÍA
1. http://arduino.cc/es/Guide/Windows
2. http://www.arduinoacademy.com/2011/11/03/comenzamos-mi-primer-hola-
mundo/
3. http://es.wikipedia.org/wiki/Led
4. http://robots-argentina.com.ar/MotorServo_basico.htm
5. http://www.x-robotics.com/sensores.htm

Más contenido relacionado

La actualidad más candente

Practicas arduino processing
Practicas arduino processingPracticas arduino processing
Practicas arduino processing
Rolando Rivas
 
Introduccion a arduino circuitos basicos de entrada y salida
Introduccion a arduino circuitos basicos de entrada y salidaIntroduccion a arduino circuitos basicos de entrada y salida
Introduccion a arduino circuitos basicos de entrada y salidaMoises Nuñez Silva
 
Interfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduinoInterfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduino
Ángel Acaymo M. G.
 
Ide arduino + arddublock
Ide arduino + arddublockIde arduino + arddublock
Ide arduino + arddublock
Sergio Uscamaita Flores
 
Arduino + ethernet shield (1)
Arduino + ethernet shield (1)Arduino + ethernet shield (1)
Arduino + ethernet shield (1)
INVERSIONES MARK'S
 
Tutorial Básico Arduino
Tutorial Básico ArduinoTutorial Básico Arduino
Tutorial Básico Arduino
Elio Alvarado
 
Alarma arduino wavecom programa y esquema numeros borrados 48 pag
Alarma arduino wavecom programa y esquema numeros borrados 48 pagAlarma arduino wavecom programa y esquema numeros borrados 48 pag
Alarma arduino wavecom programa y esquema numeros borrados 48 pag
joaquinin1
 
Arduino delphi tokio 10.2 y puerto serie
Arduino delphi tokio 10.2 y puerto serieArduino delphi tokio 10.2 y puerto serie
Arduino delphi tokio 10.2 y puerto serie
Ángel Acaymo M. G.
 
Andruino
AndruinoAndruino
Andruino
Marco Avendaño
 
S4 a + arduino
S4 a + arduinoS4 a + arduino
S4 a + arduino
Visemi VI
 
Curso Arduino práctico 2014
Curso Arduino práctico  2014Curso Arduino práctico  2014
Curso Arduino práctico 2014
Jose Antonio Vacas
 
Minibloq+ arduino
Minibloq+ arduinoMinibloq+ arduino
Minibloq+ arduinoilusaud
 
Curso introducción a arduino
Curso introducción a arduinoCurso introducción a arduino
Curso introducción a arduinoFabLabLeon
 
Arduino mfc y puerto serie
Arduino mfc y puerto serieArduino mfc y puerto serie
Arduino mfc y puerto serie
Ángel Acaymo M. G.
 
ARDUINO: Plataforma de hardware libre
ARDUINO: Plataforma de hardware libreARDUINO: Plataforma de hardware libre
ARDUINO: Plataforma de hardware libre
Luis Manuel Diaz
 
Ide arduino + arddublock
Ide arduino + arddublockIde arduino + arddublock
Ide arduino + arddublock
Visemi VI
 

La actualidad más candente (19)

Arduino
ArduinoArduino
Arduino
 
Ejercicios+arduino+processing
Ejercicios+arduino+processingEjercicios+arduino+processing
Ejercicios+arduino+processing
 
Practicas arduino processing
Practicas arduino processingPracticas arduino processing
Practicas arduino processing
 
Introduccion a arduino circuitos basicos de entrada y salida
Introduccion a arduino circuitos basicos de entrada y salidaIntroduccion a arduino circuitos basicos de entrada y salida
Introduccion a arduino circuitos basicos de entrada y salida
 
Interfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduinoInterfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduino
 
Ide arduino + arddublock
Ide arduino + arddublockIde arduino + arddublock
Ide arduino + arddublock
 
Arduino + ethernet shield (1)
Arduino + ethernet shield (1)Arduino + ethernet shield (1)
Arduino + ethernet shield (1)
 
Manual programacion arduino
Manual programacion arduinoManual programacion arduino
Manual programacion arduino
 
Tutorial Básico Arduino
Tutorial Básico ArduinoTutorial Básico Arduino
Tutorial Básico Arduino
 
Alarma arduino wavecom programa y esquema numeros borrados 48 pag
Alarma arduino wavecom programa y esquema numeros borrados 48 pagAlarma arduino wavecom programa y esquema numeros borrados 48 pag
Alarma arduino wavecom programa y esquema numeros borrados 48 pag
 
Arduino delphi tokio 10.2 y puerto serie
Arduino delphi tokio 10.2 y puerto serieArduino delphi tokio 10.2 y puerto serie
Arduino delphi tokio 10.2 y puerto serie
 
Andruino
AndruinoAndruino
Andruino
 
S4 a + arduino
S4 a + arduinoS4 a + arduino
S4 a + arduino
 
Curso Arduino práctico 2014
Curso Arduino práctico  2014Curso Arduino práctico  2014
Curso Arduino práctico 2014
 
Minibloq+ arduino
Minibloq+ arduinoMinibloq+ arduino
Minibloq+ arduino
 
Curso introducción a arduino
Curso introducción a arduinoCurso introducción a arduino
Curso introducción a arduino
 
Arduino mfc y puerto serie
Arduino mfc y puerto serieArduino mfc y puerto serie
Arduino mfc y puerto serie
 
ARDUINO: Plataforma de hardware libre
ARDUINO: Plataforma de hardware libreARDUINO: Plataforma de hardware libre
ARDUINO: Plataforma de hardware libre
 
Ide arduino + arddublock
Ide arduino + arddublockIde arduino + arddublock
Ide arduino + arddublock
 

Similar a Trabajo02

Presentacion ardublock
Presentacion ardublockPresentacion ardublock
Presentacion ardublock
maria_amanta
 
03-arduino.pdf
03-arduino.pdf03-arduino.pdf
03-arduino.pdf
IvanRamos131451
 
Señales con arduino y DAC
Señales con arduino y DACSeñales con arduino y DAC
Señales con arduino y DAC
Fernando Marcos Marcos
 
Manual arduino
Manual arduinoManual arduino
Manual arduino
Salvador Franchy
 
Arduino 1
Arduino 1Arduino 1
Arduino 1
Evelyn Lopez
 
Cuaderno_Arduino.pdf
Cuaderno_Arduino.pdfCuaderno_Arduino.pdf
Cuaderno_Arduino.pdf
Erwin Joel Espinoza Delgado
 
Cuaderno_Arduino.pdf
Cuaderno_Arduino.pdfCuaderno_Arduino.pdf
Cuaderno_Arduino.pdf
Edwin4321
 
[Arqui1]practica2 200815555
[Arqui1]practica2 200815555[Arqui1]practica2 200815555
[Arqui1]practica2 200815555
AnGeo Gomez
 
curso-arduino.pdf
curso-arduino.pdfcurso-arduino.pdf
curso-arduino.pdf
cesarbaquero4
 
Netduino
NetduinoNetduino
Netduino
David Matias
 
Guia de practicas s7 1200 tia portal
Guia de practicas s7 1200 tia portalGuia de practicas s7 1200 tia portal
Guia de practicas s7 1200 tia portal
DavidSnchez297251
 
Trababajo sobre placa arduino
Trababajo sobre placa arduinoTrababajo sobre placa arduino
Trababajo sobre placa arduino
Valeria Gonzalez
 
PLC con Arduino, PIC y Raspberry-Pi
PLC con Arduino, PIC  y Raspberry-PiPLC con Arduino, PIC  y Raspberry-Pi
PLC con Arduino, PIC y Raspberry-Pi
SANTIAGO PABLO ALBERTO
 
Arduino PLC: PC_SIMU Arduino
Arduino PLC: PC_SIMU ArduinoArduino PLC: PC_SIMU Arduino
Arduino PLC: PC_SIMU Arduino
SANTIAGO PABLO ALBERTO
 
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINOCONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
Fernando Marcos Marcos
 
Tarjeta arduino
Tarjeta arduinoTarjeta arduino
Tarjeta arduino
tecnotickar
 
Arduino
ArduinoArduino
Arduino
EvelynPea10
 

Similar a Trabajo02 (20)

Presentacion ardublock
Presentacion ardublockPresentacion ardublock
Presentacion ardublock
 
03-arduino.pdf
03-arduino.pdf03-arduino.pdf
03-arduino.pdf
 
Señales con arduino y DAC
Señales con arduino y DACSeñales con arduino y DAC
Señales con arduino y DAC
 
Manual arduino
Manual arduinoManual arduino
Manual arduino
 
Arduino 1
Arduino 1Arduino 1
Arduino 1
 
Cuaderno_Arduino.pdf
Cuaderno_Arduino.pdfCuaderno_Arduino.pdf
Cuaderno_Arduino.pdf
 
Cuaderno_Arduino.pdf
Cuaderno_Arduino.pdfCuaderno_Arduino.pdf
Cuaderno_Arduino.pdf
 
Cuaderno_Arduino.pdf
Cuaderno_Arduino.pdfCuaderno_Arduino.pdf
Cuaderno_Arduino.pdf
 
Hack x crack_cuaderno_arduino
Hack x crack_cuaderno_arduinoHack x crack_cuaderno_arduino
Hack x crack_cuaderno_arduino
 
[Arqui1]practica2 200815555
[Arqui1]practica2 200815555[Arqui1]practica2 200815555
[Arqui1]practica2 200815555
 
curso-arduino.pdf
curso-arduino.pdfcurso-arduino.pdf
curso-arduino.pdf
 
Netduino
NetduinoNetduino
Netduino
 
Guia de practicas s7 1200 tia portal
Guia de practicas s7 1200 tia portalGuia de practicas s7 1200 tia portal
Guia de practicas s7 1200 tia portal
 
Trababajo sobre placa arduino
Trababajo sobre placa arduinoTrababajo sobre placa arduino
Trababajo sobre placa arduino
 
PLC con Arduino, PIC y Raspberry-Pi
PLC con Arduino, PIC  y Raspberry-PiPLC con Arduino, PIC  y Raspberry-Pi
PLC con Arduino, PIC y Raspberry-Pi
 
Arduino PLC: PC_SIMU Arduino
Arduino PLC: PC_SIMU ArduinoArduino PLC: PC_SIMU Arduino
Arduino PLC: PC_SIMU Arduino
 
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINOCONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
 
Tarjeta arduino
Tarjeta arduinoTarjeta arduino
Tarjeta arduino
 
Arduino
ArduinoArduino
Arduino
 
Arduino
ArduinoArduino
Arduino
 

Último

PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxxPLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
cportizsanchez48
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
lautyzaracho4
 
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdfUNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
Joan Ribes Gallén
 
Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
cintiat3400
 
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
HuallpaSamaniegoSeba
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
YasneidyGonzalez
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
arleyo2006
 
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJELA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
jecgjv
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Demetrio Ccesa Rayme
 
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
20minutos
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
Martín Ramírez
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
jmorales40
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Monseespinoza6
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
JAVIER SOLIS NOYOLA
 
MIP PAPA Rancha Papa.pdf.....y caracteristicas
MIP PAPA  Rancha Papa.pdf.....y caracteristicasMIP PAPA  Rancha Papa.pdf.....y caracteristicas
MIP PAPA Rancha Papa.pdf.....y caracteristicas
jheisonraulmedinafer
 
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
AracelidelRocioOrdez
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
auxsoporte
 
Presentación Curso C. Diferencial - 2024-1.pdf
Presentación Curso C. Diferencial - 2024-1.pdfPresentación Curso C. Diferencial - 2024-1.pdf
Presentación Curso C. Diferencial - 2024-1.pdf
H4RV3YH3RN4ND3Z
 
El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docx
Alejandrino Halire Ccahuana
 
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Unidad de Espiritualidad Eudista
 

Último (20)

PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxxPLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
 
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdfUNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
 
Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
 
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
 
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJELA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
 
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
 
MIP PAPA Rancha Papa.pdf.....y caracteristicas
MIP PAPA  Rancha Papa.pdf.....y caracteristicasMIP PAPA  Rancha Papa.pdf.....y caracteristicas
MIP PAPA Rancha Papa.pdf.....y caracteristicas
 
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
 
Presentación Curso C. Diferencial - 2024-1.pdf
Presentación Curso C. Diferencial - 2024-1.pdfPresentación Curso C. Diferencial - 2024-1.pdf
Presentación Curso C. Diferencial - 2024-1.pdf
 
El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docx
 
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
 

Trabajo02

  • 1. CONTROL DE BARRERA DE PARKING PREMIOS CIENTÍFICOS-TECNOLÓGIOCOS “DON BOSCO” PRIMERA EDICIÓN, CURSO 2011-2012 IES “PINTOR RAFAEL REQUENA” Caudete-Alabacete Taller de Robótica Tutor: Manuel HIDALGO DÍAZ
  • 2. PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS IES “PINTOR RAFAEL REQUENA”. Taller de Robótica. 2 Contenido 1.- INTRODUCCIÓN ........................................................................................................ 3 2.- PROYECTO TECNOLÓGICO .................................................................................... 5 3.- PLACA ARDUINO....................................................................................................... 6 3.1.- Conexión Arduino-PC con cable USB ................................................................ 6 3.2.- IDE (Entorno de Desarrollo) de Arduino ............................................................. 7 3.4.- Selección de tipo de placa Arduino...................................................................... 8 3.5.- Selección del puerto serie.................................................................................... 8 3.6.- Sube el sketch (programa) a la placa .................................................................. 8 3.7.- ESTRUCTURA DE UN PROGRAMA .................................................................. 8 4.- DIODO LED............................................................................................................... 11 4.1.- Semáforo ............................................................................................................ 13 5.- PULSADOR............................................................................................................... 14 6.- SERVOMOTOR ........................................................................................................ 15 7.- SENSOR DE DISTANCIA POR INFRARROJOS SHARP GP2Dxx ........................ 16 7.1.- Funcionamiento.................................................................................................. 17 7.2.- Programa del lectura del sensor IR.................................................................... 17 8.- Programa de control barrera de parking................................................................... 19 9.- Comunicaciones por bluetooth ................................................................................. 20 10.- BIBLIOGRAFÍA ....................................................................................................... 22
  • 3. PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS IES “PINTOR RAFAEL REQUENA”. Taller de Robótica. 3 1.- INTRODUCCIÓN Este proyecto se ha desarrollado durante el 2º trimestre del curso 2011-2012, siendo una continuación de la actividad extraescolar de dinamización de los recreos del Taller de Robótica del 1º trimestre. Los participantes son sólo alumnos de 1º ESO. 1. Joel Serrano López 2. Ricardo Soler Bañón 3. Alejandro Vicente Cózar 4. Juan Conejero Sivó 5. Alejandro Cantó Rubio Las tareas a realizar son: Fomentar el trabajo en equipo y habilidades sociales de grupo. Despertar el interés por el funcionamiento de los objetos tecnológicos. Conocer la tarjeta electrónica programable (Arduino). Programar la tarjeta para realizar tareas de control como son encendido y apagado de luces de tipo LED, control de funcionamiento de servomotor, lectura de magnitudes de sensores. Realizaciar de pequeños proyectos. El resultado ha sido una placa de dispositivos electrónicos que se conectan sobre la placa Arduino y se pueden realizar actividades básicas de análisis de funcionamiento y programación de los dispositivos.
  • 4. PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS IES “PINTOR RAFAEL REQUENA”. Taller de Robótica. 4 Esta placa ha sido la base de la maqueta de proyecto tecnológico de “Control de barrera de parking”. Para realizar las tareas el alumnado ha tenido la documentación que a continuación se expone.
  • 5. PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS IES “PINTOR RAFAEL REQUENA”. Taller de Robótica. 5 2.- PROYECTO TECNOLÓGICO El proyecto tecnológico, “Control de Barrera de Parking”, tiene el siguiente diagrama de bloques: Este sistema de control consta de los siguientes elementos: Tarjeta de control: placa Arduino que es un sistema electrónico programable, va a tener el programa que controla la subida y bajada de la barrera del parking. También va a recibir información del sensor de infrarrojos que detecta la presencia de un obstáculo en la barrera haciendo que la tarjeta de control no baje la barrera hasta que no haya obstáculo. Servomotor: elemento actuador que va a subir y bajar la barrera del parking. Sensor: dispositivo electrónico que detecta, mediante luz infrarroja, la presencia de un obstáculo. Sistema de alimentación: batería que proporciona la tensión necesaria a los dispositivos electrónicos de la maqueta.
  • 6. PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS IES “PINTOR RAFAEL REQUENA”. Taller de Robótica. 6 3.- PLACA ARDUINO La placa Arduino, sistema electrónico programable, va a controlar el funcionamiento del proyecto. Su elemento principal es un microcontrolador con entrada/salidas digitales, entradas analógicas, salidas PWM y comunicaciones serie- USB. Esta tarjeta como recurso didáctico tiene como base el siguiente principio: La “inteligencia de Arduino” se expresa mediante su lenguaje de programación 3.1.- Conexión Arduino-PC con cable USB En el taller estamos usando una placa Arduino Duemilanove 328 y necesitamos un cable estándar USB (conexión A a conexión B) para conectarlo al PC.
  • 7. PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS IES “PINTOR RAFAEL REQUENA”. Taller de Robótica. 7 Conectamos la placa Arduino al ordenador usando el cable USB, el LED verde indicador de la alimentación (nombrado como PWR en la placa) queda encendido a partir de ese momento. Estableciendo la comunicación con el PC por un puerto COMnum, el número del puerto COM hay que verlo en propiedades de configuración del sistema. Esto quiere decir que los drivers están instalados y podemos pasar a escribir y cargar programas en la placa Arduino. 3.2.- IDE (Entorno de Desarrollo) de Arduino Programa que nos permite escribir y cargar los programas en la placa Arduino a través del puerto USB.
  • 8. PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS IES “PINTOR RAFAEL REQUENA”. Taller de Robótica. 8 3.4.- Selección de tipo de placa Arduino Necesitamos seleccionar el tipo de placa de tu Arduino en el menu Tools > Board. Para las placas Arduino con el chip ATmega 328 (comprueba el texto escrito en el chip de la placa), selecciona la opción Arduino Duemilanove or Nano w/ ATmega328 del menú desplegable. 3.5.- Selección del puerto serie Seleccionamos el dispositivo serie de la placa Arduino en el menú Tools > Serial Port (Herramientas > Puertos Serie). Lo más probable es que sea COM3 o mayor (COM1 y COM2 se reservan, por regla general para puertos serie de hardware). Para asegurarte de cual es, puedes desconectar la placa y volver a mirar el menú; el puerto de la placa habrá desaparecido de la lista. Reconecta la placa y selecciona el puerto apropiado. 3.6.- Sube el sketch (programa) a la placa Ahora se pulsa sobre el botón "Upload" en el Entorno Arduino. Se espera unos pocos segundos - deberías parpadear los led RX y TX de la placa. Si el volcado del código es correcto aparece el mensaje "Done uploading" en la barra de estado. Unos pocos segundos después de finalizar el volcado del programa empieza a funcionar. 3.7.- ESTRUCTURA DE UN PROGRAMA La estructura básica del lenguaje de programación de Arduino es bastante simple y se compone de al menos dos partes. Estas dos partes necesarias encierran bloques que contienen declaraciones, instrucciones y estructuras de control. void setup() { Instrucciones y estructuras de control; } void loop() { Instrucciones y estructuras de control; }
  • 9. PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS IES “PINTOR RAFAEL REQUENA”. Taller de Robótica. 9 En donde setup() es la parte encargada de recoger la configuración y loop() es la que contienen el programa que se ejecutará cíclicamente (de ahí el termino loop – bucle-). Ambas funciones son necesarias para que el programa trabaje. La función de configuración debe contener la declaración de las variables. Es la primera función a ejecutar en el programa, se ejecuta sólo una vez, y se utiliza para configurar o inicializar pinMode (modo de trabajo de las E/S), configuración de la comunicación en serie y otras. La función bucle (loop) siguiente contiene el código que se ejecutara continuamente (lectura de entradas, activación de salidas, etc) Esta función es el núcleo de todos los programas de Arduino y la que realiza la mayor parte del trabajo. Código del programa ejemplo de parpadeo del led /* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ void setup() { // initialize the digital pin as an output. // Pin 13 has an LED connected on most Arduino boards: pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); // set the LED on delay(1000); // wait for a second digitalWrite(13, LOW); // set the LED off delay(1000); // wait for a second }
  • 10. PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS IES “PINTOR RAFAEL REQUENA”. Taller de Robótica. 10 En resumen el proceso de programación sigue los siguientes pasos:
  • 11. PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS IES “PINTOR RAFAEL REQUENA”. Taller de Robótica. 11 4.- DIODO LED Un led (de la sigla inglesa LED: Light-Emitting Diode: "diodo emisor de luz", también "diodo luminoso") es un diodo semiconductor que emite luz. Se usan como indicadores en muchos dispositivos, y cada vez con mucha más frecuencia, en iluminación y señalización de semáforos. El circuito eléctrico de funcionamiento es el siguiente: El circuito para controlar el diodo led con la placa Arduino es: En el pin13 está el led que incorporá la placa y en nuestro proyecto se contectan al pin 3, 4 y 5, como salida digital.
  • 12. PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS IES “PINTOR RAFAEL REQUENA”. Taller de Robótica. 12 El programa que hace funcionar y nos da información del estado de los 3 led por el monitor serie es el siguiente: /* Encendido-Apagado y estado de los leds */ //Declaracion de etiquetas y variables //nombre para el pin con led, salida digital int pinLedRojo = 5; int pinLedAmarrillo = 4; int pinLedVerde = 3; //Tiempo para el retardo int retardo = 1000; //variable entera void setup() { // configure los pines digitales como salida. pinMode(pinLedRojo, OUTPUT); pinMode(pinLedAmarrillo, OUTPUT); pinMode(pinLedVerde, OUTPUT); //inicializacion del puerto serie Serial.begin(9600); } void loop() { digitalWrite(pinLedRojo, 1); // enciende el led digitalWrite(pinLedAmarrillo, 1); digitalWrite(pinLedVerde, 1); Serial.println("Led ENCENDIDO"); //Escribe el mensaje entrecomillado //en el monitor serie delay(retardo); // espera el tiempo asignado en la // variable retardo digitalWrite(pinLedRojo, 0); // apaga el led digitalWrite(pinLedAmarrillo, 0); digitalWrite(pinLedVerde, 0); Serial.println("Led APAGADO"); //Escribe el mensaje entrecomillado // en el monitor serie delay(retardo); // espera el tiempo asignado en la //variable retardo Serial.println("Fin de programa"); //Escribe el mensaje en el //monitor Serial.println(); //inserta una linea en blanco delay(retardo); }
  • 13. PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS IES “PINTOR RAFAEL REQUENA”. Taller de Robótica. 13 4.1.- Semáforo Repitiendo el circuito del led en los pines 3, 4 y 5 simulamos un semáforo. El código es el siguiente: /* Semaforo */ //Declaracion de etiquetas y variables //nombre para el pin con led, salida digital int pinLedRojo = 5; int pinLedAmarrillo = 4; int pinLedVerde = 3; //Tiempo para el retardo int retardo = 5000; //variable entera void setup() { // initialize the digital pin as an output. pinMode(pinLedRojo, OUTPUT); pinMode(pinLedAmarrillo, OUTPUT); pinMode(pinLedVerde, OUTPUT); } void loop() { digitalWrite(pinLedRojo, 1); // Semaforo Rojo digitalWrite(pinLedAmarrillo, 0); digitalWrite(pinLedVerde, 0); delay(retardo); digitalWrite(pinLedRojo, 0); // Semaforo Ambar digitalWrite(pinLedAmarrillo, 1); digitalWrite(pinLedVerde, 0); delay(retardo); digitalWrite(pinLedRojo, 0); // Semaforo Verde digitalWrite(pinLedAmarrillo, 0); digitalWrite(pinLedVerde, 1); delay(retardo); }
  • 14. PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS IES “PINTOR RAFAEL REQUENA”. Taller de Robótica. 14 5.- PULSADOR El pulsador es un dispositivo que nos sirve para controlar la puesta en funcionamiento de acciones que queremos controlar. El circuito eléctrico que se utiliza en el proyecto es: Para la placa Arduino es una entrada digital que tiene un valor lógico “0” (0V), cuando no está pulsado, y un valor lógico “1” (5V), cuando está pulsado. Programa ejemplo: /* Leer un pulsador conectado a pin 2 y enciende el led Verde */ //Declaracion de etiquetas y variables int pinPulsador = 2; int pinLedRojo = 5; int pinLedVerde = 3; int pulsador; //Tiempo para el retardo int retardo = 3000; //variable entera void setup() { // inicializacion. pinMode(pinPulsador, INPUT); pinMode(pinLedRojo, OUTPUT); pinMode(pinLedVerde, OUTPUT); } void loop() { pulsador = digitalRead(pinPulsador); if (pulsador == 1) { digitalWrite (pinLedVerde, 1); digitalWrite (pinLedRojo, 0); delay(retardo); } digitalWrite (pinLedRojo, 1); digitalWrite (pinLedVerde, 0); }
  • 15. PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS IES “PINTOR RAFAEL REQUENA”. Taller de Robótica. 15 6.- SERVOMOTOR Los servos poseen un motor de CC, que gira a velocidad alta, una serie de engranajes para producir la reducción de velocidad de giro y aumentar su fuerza en el eje (par), un potenciómetro conectado al eje de salida (que es ni más ni menos que el encoder) y un circuito de control de la realimentación. Estos servos reciben señal por tres cables: alimentación para el motor y el circuito electrónico de control (a través de dos cables, positivo y negativo/masa), y una señal control (PWM) que determina la posición que se requiere. La alimentación de estos servos es, normalmente, de entre 4,8 y 6 voltios. La señal de control es de tipo PWM, modulación por anchura de pulso:
  • 16. PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS IES “PINTOR RAFAEL REQUENA”. Taller de Robótica. 16 Para la programación de los servomotores con Arduino se emplea la librería Servo.h. Programa de control del servo // Control de servos #include <Servo.h> Servo servo; void setup() { servo.attach(6); } void loop() { servo.write(10); delay(5000); servo.write(45); delay(5000); servo.write(90); delay(5000); } 7.- SENSOR DE DISTANCIA POR INFRARROJOS SHARP GP2Dxx El sensor GP2DXX de sharp es un dispositivo de reflexión por infrarrojos para medir. El sensor de nuestro proyecto nos da una tensión proporcional a la distancia de obstáculo donde se refleja.
  • 17. PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS IES “PINTOR RAFAEL REQUENA”. Taller de Robótica. 17 7.1.- Funcionamiento. El dispositivo emite luz infrarroja por medio de un led emisor de IR, esta luz pasa a través de una lente que concentra los rayos de luz formando un único rayo lo más concentrado posible para así mejorar la directividad del sensor, la luz va recta hacia delante y cuando encuentra un obstáculo reflectante rebota y retorna con cierto ángulo de inclinación dependiendo de la distancia, la luz que retorna es concentrada por otra lente y así todos los rayos de luz inciden en un único punto del sensor de luz infrarroja que contiene en la parte receptora del dispositivo. Este sensor es un CCD lineal y dependiendo del ángulo de recepción de la luz incidirá en un punto u otro del sensor pudiendo de esta manera obtener un valor lineal y proporcional al ángulo de recepción del haz de luz. La programación de este sensor se programa como entrada analógica. 7.2.- Programa del lectura del sensor IR. /* Lectura de la entrada analogica Taller de Robotica 2011-2012 IES Pintor Rafael Requena */ int sensorIRdistancia = A5; // seleccion pin de entrada sensor int ledAmarillo = 3; // seleccion pin de salida LED int sensorValor = 0; // variable para almacenar el valor del sensor void setup() { // Configuracion de los pines pinMode(ledAmarillo, OUTPUT); //Configuracion de las comunicaciones Serial.begin(9600); } void loop() { // lee el valor del sensor y lo guarda en la variable sensorValor = analogRead(sensorIRdistancia); // Escribe el valor leido en el monitor serie Serial.print("El valor leido es: "); Serial.println(sensorValor); Serial.println(); //linea en blanco delay(500); }
  • 18. PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS IES “PINTOR RAFAEL REQUENA”. Taller de Robótica. 18 El resultado que vemos a través de monitor serie del IDE de Arduino de la lectura de sensor IR es: Como es una entrada analógica la tensión que proporcional el sensor IR desde un valor de 3,1V para una distancia de 3cm a 0,4V para una distancia de 80cm, se convierte en números que van de 100 a 600 para nuestro proyecto (el rango sería de 0 a 1023 si la tensión fuera de 0V a 5V). En concreto vemos visto que si el obstáculo está dentro de la zona de la barrera el valor es mayor de 350. Este valor lo empleamos en el programa para marcar el límite de seguridad con el sensor IR.
  • 19. PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS IES “PINTOR RAFAEL REQUENA”. Taller de Robótica. 19 8.- Programa de control barrera de parking //Barrera controlada por pulsador #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; 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); } 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 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); delay(10); }
  • 20. PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS IES “PINTOR RAFAEL REQUENA”. Taller de Robótica. 20 9.- Comunicaciones por bluetooth El control de la barrera también podemos realizarlos de forma remota con un módulo de comunicaciones por bluetooth. Se realiza de la siguiente manera: 1º Conectamos el módulo bluetooth a los pines 0(Rx)Tx y 1(Tx)Rx y la alimentación. 2º Se carga una aplicación al teléfono móvil, Blue Control de Android. Esta aplicación cuando está conectada al módulo bluetooth de Arduino establece una comunicación enviando una letra. En concreto el botón central (verde) manda la letra ‘C’ y ésta la leemos en el programa para controlar la barrera. Ahora nuestro proyecto tiene el siguiente diagrama de bloques: Código de programa que controla la barrera por bluetooth
  • 21. PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS IES “PINTOR RAFAEL REQUENA”. Taller de Robótica. 21 //Barrera controlada por bluetooth #include <Servo.h> //librerias Servo servoBarrera; //Declaracion del objeto servomotor int pinLedRojo = 5; //Declaraciones de pines int pinLedAmarillo = 4; int pinLedVerde = 3; int sensorIR = A5; int sensorValor; //Declaracion variables int boton; void setup() //funcion configuracion { 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); //Comunicaciones } void loop() //funcion principal { if (Serial.available()) //Escuchamos el puerto { boton =Serial.read(); } //preguntamos el valor del pulsador y actuamos if (boton == 'C') { 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 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 = ' '; } //semaforo en verde digitalWrite(pinLedRojo, 0); digitalWrite(pinLedAmarillo, 0); digitalWrite(pinLedVerde, 1); delay(10); }
  • 22. PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS IES “PINTOR RAFAEL REQUENA”. Taller de Robótica. 22 10.- BIBLIOGRAFÍA 1. http://arduino.cc/es/Guide/Windows 2. http://www.arduinoacademy.com/2011/11/03/comenzamos-mi-primer-hola- mundo/ 3. http://es.wikipedia.org/wiki/Led 4. http://robots-argentina.com.ar/MotorServo_basico.htm 5. http://www.x-robotics.com/sensores.htm