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 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;
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); }
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
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); }
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. 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
Maqueta del proyecto con Bluetooth Diagrama de bloques
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;
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); delay(10); }
Página anterior | Volver al principio del trabajo | Página siguiente |