Descargar

Programación de Control de Barrera (página 2)

Enviado por Pablo Turmero


Partes: 1, 2
edu.red

Elementos tecnológicos Actividad Sensor de infrarrojos (IR)

edu.red

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.

edu.red

Control barrera con pulsadorCódigo de programa Variables #include //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;

edu.red

Control barrera con pulsadorCó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); }

edu.red

Control barrera con pulsadorCó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

edu.red

Control barrera con pulsadorCó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);

delay(10); }

edu.red

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

edu.red

Elementos tecnológicos Módulo Bluetooth La aplicación en el móvil Android utilizada es un mando con botones. 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 Funcionamiento

edu.red

Maqueta del proyecto con Bluetooth Diagrama de bloques

edu.red

Control barrera con BluetoothCódigo de programa Variables #include //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;

edu.red

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); }

edu.red

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

edu.red

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); delay(10); }

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente