Máster de Profesor de Educación Secundaria Obligatoria y Bachillerato, Formación Profesional y Enseñanza de Idiomas, especialidad en Tecnología.
Asignatura: Innovación docente en la especialidad de Tecnología.
Curso: 2018 / 2019
EQUIPO DE TRABAJO
Julio Delgado Parra
Raúl Rubio Vázquez
FOTOS DEL PROYECTO
FUNCIONAMIENTO DEL PROYECTO
La máquina de hacer pompas tiene dos modos de funcionamiento. Con un botón se conseguirá una única ejecución y con la otra es conseguirá que el brazo esté continuamente cargando el pompero y haciendo pompas hasta que sea detenido, para lo que habrá que pulsar de nuevo dicho botón cuando se encienda el led rojo al final de carrera.
Antes de permitir iniciar la ejecución, el sensor de ultrasonidos se asegura de que el recipiente esté cargado y, si no es así, mantiene encendido el led rojo indicando que no se puede arrancar. Así mismo no atenderá el pulsado de los botones.
Una vez que el recipiente esté cargado, el led verde se encenderá en lugar del rojo, indicándonos que el mecanismo ya está listo para funcionar.
Si pulsamos el botón de ejecución en bucle, sonará un pitido confirmándonos la selección. A continuación el brazo bajará el pompero, introduciéndolo en el recipiente y lo volverá a levantar cargado. Una vez esté arriba se desplazará lateralmente hasta ponerlo a la altura del ventilador y volverá a bajarlo para que quede frente a éste.
El ventilador se encenderá y sonará la melodía de Juego de Tronos mientras divertidas pompas de jabón surgen para regocijo de todos los presentes.
Al finalizar la melodía, el ventilador se detendrá, el brazo subirá y retornará a la posición original.
En este momento, se encenderá durante un breve periodo el led rojo a la vez que el led verde. Será el momento, antes de que vuelva a apagarse, en el que tendremos que volver a pulsar el botón de ejecución continua si queremos que se detenga. De no ser así, pasados 2 segundos se volverá a iniciar otro ciclo.
ESQUEMA DEL CIRCUITO
COMPONENTES UTILIZADOS
Arduino UNO
Protoboard
1 Piezobuzzer
1 Led verde
1 Led rojo
2 Pulsadores
1 Sensor ultrasonidos HC-SR04
1 Ventilador 12V (de PC por ejemplo)
1 Rele
2 Condensadores 100 microF
2 Resistencias 220 ohm para los led
2 resistencias
10kohm para pulsadores
1 fuente de alimentación 12V (para el ventilador)
Cartón
Gomas elásticas
Cola
Un pompero
CÓDIGO FUENTE
A continuación vamos a explicar por encima el código que hemos implementado para este proyecto.
Lo primero que vamos a ver es el esquema de la función loop()
El flujo constaría de los siguientes pasos:
Lee botón
Si Comprobar recipiente OK entonces
Enciende led verde
Si botón1Uso entonces
Ejecuta un Ciclo
Si botónContinuo entonces
Suena tono de confirmación
Lee botonContinuo
Mientras botonContinuo no se pulse
Ejecuta Ciclo
Tras cada ciclo, enciende led rojo y da tiempo a desactivar el ciclo posterior
Si Comprobar recipiente KO entonces
Enciende led rojo
Para simplificar su lectura, se han creado las funciones ejecutarCiclo(), retornoPosicionInicial(), comprobarRecipiente() y GameOfThrones():
La función ejecutarCiclo() contiene la lógica de cada activación del mecanismo.
La función retornoPosicionInicial() se encarga de devolver el conjunto al punto de origen.
La función comprobarRecipiente() contiene la lógica de la lectura del sensor de ultrasonidos.
La función GameOfThrones() junto a las notas definidas en "Notas.h" contiene la melodía que suena durante las pompas.
Dejamos disponibles los archivos del código para que podáis descargarlos y usarlos.
Consiste en diseñar y montar un puente levadizo, controlado con Arduino. El proyecto consta de modo automático y modo manual. En el primer caso el puente se elevará automáticamente cuando detecte al barco, y descenderá cuando haya pasado. En el segundo caso el puente será manejado a través de dos interruptores.
Este proyecto es adecuado para realizarlo con alumnos de 3º o 4º de la E.S.O. dentro de la asignatura de Tecnología.
REALIZADO POR:
Daniel Gil Fuentes.
Raquel Sastre Velasco.
Dentro de la asignatura: Innovación docente en la especialidad de tecnología. Incluida en el Máster
de Profesor de Educación Secundaria Obligatoria y Bachillerato,
Formación Profesional y Enseñanzas de Idiomas. Curso 2016-17.
¿QUÉ NECESITAMOS?
Materiales electrónicos:
Materiales para realizar la maqueta:
MONTANDO EL CIRCUITO EN LA PROTOBOARD:
Empezaremos montando todos los componentes electrónicos en la protoboard según se muestra en la imagen siguiente realizada con fritzing.
Puente levadizo.
Conecta el servo motor, el cable rojo a 5V, el cable negro a tierra y el cable amarillo al pin 9. Debes conectar también el condensador en paralelo al servo motor.
Modo automático.
Conecta los fotosensores a 5V y a los pin A1 y A2 respectivamente. Y conecta según la imagen las resistencias de 10 kiloohmnios.
Semáforo.
Conecta
el positivo de los led a los pin 2,3 y 4, (teniendo en cuenta que el
positivo es el conector más largo), y en el negativo conecta la
resistencia de 220 ohmnios.
Modo manual.
Por último conecta los interruptores a los pin 10 y 11 respectivamente. Y conecta según la imagen las resistencias de 10 kiloohmnios.
ESQUEMA ELÉCTRICO:
CÓDIGO:
El siguiente código debes subirlo a la placa de Arduino a través de la IDE de Arduino:
int switchstate1 = 0; int switchstate2 = 0;
//sensores de luz. // variable to hold sensor value int sensorValue1; int sensorValue2; // variable to calibrate low value int sensorLow = 1023; // variable to calibrate high value int sensorHigh = 0; // LED pin
//servomotor // include the servo library #include <Servo.h> //servomotor Servo myServo; // create a servo object
void setup() { // put your setup code here, to run once:
// declare the LED pins as outputs pinMode(2, OUTPUT); //Verde pinMode(3, OUTPUT); //Rojo pinMode(4, OUTPUT); //Amarillo
pinMode(10, INPUT); pinMode(11, INPUT);
//Sensores luz // Make the LED pin an output and turn it on pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, HIGH);
myServo.attach(9); // attaches the servo on pin 9 to the servo object Serial.begin(9600); // open a serial connection to your computer
// calibrate for the first five seconds after program runs while (millis() < 5000) { // record the maximum sensor value sensorValue1 = analogRead(A1); sensorValue2 = analogRead(A2); if (sensorValue1 > sensorHigh) { sensorHigh = sensorValue1; } if (sensorValue2 > sensorHigh) { sensorHigh = sensorValue2; } // record the minimum sensor value if (sensorValue1 < sensorLow) { sensorLow = sensorValue1; } if (sensorValue2 < sensorLow) { sensorLow = sensorValue2; } Serial.print("sensorHigh: "); Serial.println(sensorHigh); Serial.print("sensorLow: "); Serial.println(sensorLow); } // turn the LED off, signaling the end of the calibration period digitalWrite(LED_BUILTIN, LOW); delay(1000); }
void loop() { // put your main code here, to run repeatedly:
{ //Sensores. //read the input from A0 and store it in a variable sensorValue1 = analogRead(A1); //read the input from A0 and store it in a variable sensorValue2 = analogRead(A2); } switchstate1 = digitalRead(11); switchstate2 = digitalRead(10);
if (switchstate1==LOW) {
if (sensorValue1<700) { // set the servo position digitalWrite(4, HIGH); // turn the yellow LED on pin 4 on digitalWrite(2, LOW); // turn the green LED on pin 2 off delay(3000); myServo.write(60); digitalWrite(3, HIGH); // turn the red LED on pin 3 on } if (sensorValue2<700) { // set the servo position delay(3000); myServo.write(0); digitalWrite(4, HIGH); // turn the yellow LED on pin 4 on digitalWrite(3, LOW); // turn the red LED on pin 3 off
delay(3000); digitalWrite(4, LOW); // turn the yellow LED on pin 4 off digitalWrite(2, HIGH); // turn the green LED on pin 2 on delay(15); } } else { if (switchstate2==HIGH){ myServo.write(60); digitalWrite(3, HIGH); // turn the red LED on pin 3 on digitalWrite(2, LOW); // turn the green LED on pin 2 off delay(15); } else { myServo.write(0); digitalWrite(4, HIGH); // turn the yellow LED on pin 4 on digitalWrite(3, LOW); // turn the red LED on pin 3 off delay(3000); digitalWrite(4, LOW); // turn the yellow LED on pin 4 off digitalWrite(2, HIGH); // turn the green LED on pin 2 on delay(15); } } }
FUNCIONAMIENTO:
El siguiente vídeo muestra como funciona el puente en modo automático y en modo manual.
Modo automático:
Cuando el arduino detecta al barco a través del foto sensor 1, envía una señal al semáforo y este cambia primero a ámbar y después a rojo. A continuación se eleva el puente. Porteriormente el barco atraviesa el canal y sólo cuando el barco llega al foto sensor 2, se envía la orden al semáforo y este cambia primero a ámbar y después a verde. A continuación el puente desciende para que puedan circular los vehículos.
Modo manual:
En este modo el puente se eleva mediante dos interruptores; al pulsar el primero se acciona el modo manual, y el segundo levanta y baja el puente.
El trabajo consiste en diseñar un peaje programado con Arduino, para poder desarrollarlo con alumnos de 3º de E.S.O. para la asignatura de Tecnología.
Se ha realizado la maqueta de un peaje a partir de los siguientes componentes de arduino: - Placa Arduino:
- Breadboard:
- Servomotor:
- Dos fotoreceptores:
- Dos resistencias:
- Condensador:
- Cables para realizar las conexiones.
Con
este proyecto somos capaces de desarollar los objetivos, contenidos y
criterios de evaluación de Educación Secundaria Obligatoria descritos en el DECRETO 52/2007, 17 de mayo, (BOCYL 23 mayo 2007). Enmarcadospara 3º de la E.S.O. Bloque nº 5 "Electricidad y electrónica" de dicho decreto.
VIDEOS Y FOTOGRAFÍAS DEL PROYECTO.
A continuación os dejamos unos videos explicativos del proyecto acabado y en funcionamiento.
VIDEO - Funcionamiento del peaje - Arduino
En este vídeo se muestra el funcionamiento del proyecto realizado con arduino de un peaje activando un servomotor con sensores fotosensibles.
VIDEO - Componentes y elementos del proyecto - Arduino
En este vídeo se muestran y explican los componentes y conexiones del proyecto realizado con arduino de un peaje activando un servomotor con sensores fotosensibles.
FOTOGRAFÍAS DEL MONTAJE.
Esta foto es de Arduino antes de instalarlo en la maqueta de nuestro proyecto con todos los elementos que hemos utilizado: placa Arduino, placa breadboard, resistencias, sensores fotoeléctricos, condensador, servomotor, condensador y cables de conexión.
En esta foto podemos ver la placa breadboard con los elementos necesarios para realizar el proyecto y la placa Arduino.
Una vez que hemos visto lo relacionado con Arduino las siguientes fotos se centran en la maqueta del proyecto y de la funcionalidad.
El coche entraría por la carretera y al pasar por encima del primer sensor la barrera se elevaría.
La barrera se levanta...
...y no se cerrará hasta que el coche pase por encima del segundo sensor.
CÓDIGO PARA ARDUINO.
Este es el código comentado para el funcionamiento de la barrera del peaje y que podréis utilizar en vuestro Arduino (el código fuente está a continuación del comentado):
/* Antonio Román Gallego Alvaro Ferrero Alvarez Daniel Fernandez */ //Libreria del servo y variables del servo #include <Servo.h>
Incluimos la librería servo.h ya que vamos a trabajar con el
servo motor.
Servo myServo; // objeto servo int angle; //Varibles para los sensores de luz int sensorValue; int sensorLow = 1023; int sensorHigh = 0; int umbral0; int umbral1; int sensorValue2; int sensorLow2 = 1023; int sensorHigh2 = 0; int potVal2; int potVal;
Variable definidas: angle es el valor
en grados para que se mueva el servo.
SensorValue, sensorLow y sensorHigh son para la calibración de los
sensores por eso están por duplicado, low tiene un valor muy alto y high un
valor muy bajo para para la efectividad de la calibración. Los potVal son para
compararlos con umbral (definida su función más abajo) y en función de su
comparación hacer actuar al servo de una u otra manera.
void setup() {
La función setup() se establece cuando se inicia un programa
-sketch. Se emplea para iniciar variables, establecer el estado de los pins,
etc. Esta función se ejecutará una única vez después de que se conecte la placa
Arduino a la fuente de alimentación, o cuando se pulse el botón de reinicio de
la placa.
myServo.attach(9); Serial.begin(9600);
Sirve para inicializar el modo monitor y así poder ver los
valores que recogemos del exterior con los sensores.
// monitor // calibracion primer sensor
while (millis() < 5000) { sensorValue = analogRead(A0); if (sensorValue > sensorHigh) { sensorHigh = sensorValue; } if (sensorValue < sensorLow) { sensorLow = sensorValue; } }
Estas 9 líneas de código las utilizamos para la calibración
del primer sensor de luz que se llevara a cabo durante los 5 primeros segundos
(5000 milisegundos) desde que arranca el programa. Leerá de A0 (entrada
analógica) los datos procedentes del exterior y asignara el valor más alto de
luz a sensorHigh y el valor más bajo a sensorLow.
Para la calibración del segundo sensor de luz el código será
el mismo pero con variables distintas (sensorValue2, sensorHigh2 y sensorLow2)
y en vez de 5 segundos 10, ya que los primeros cinco irán dedicados al primer
sensor y los siguientes 5 irán al segundo.
Serial.println(sensorHigh); Serial.println(sensorLow); // calibracion del segundo sensor while (millis() < 10000) { // valor maximo sensorValue2 = analogRead(A1); if (sensorValue2 > sensorHigh2) { sensorHigh2 = sensorValue2; } // valor minimo if (sensorValue2 < sensorLow2) { sensorLow2 = sensorValue2; } } Serial.println(sensorHigh2); Serial.println(sensorLow2); umbral0 = sensorLow + ((sensorHigh - sensorLow) / 2) - 10; umbral1 = sensorLow2 + ((sensorHigh2 - sensorLow2) / 2) - 10;
Asignamos a la variable umbral0 y a umbral2 el valor
resultante de la operación de arriba que será un valor ligeramente menor a la
mitad del valor más alto con el fin de que si el valor de luz que detecta del
exterior es menor que este valor actuara el servomotor.
Si potVal es menor que umbral0 le asignamos el valor 90 a la
variable angle y por tanto más tarde mandamos al servomotor que se mueva de 0 a
90 grados. Hacemos lo mismo con lo que recoja el segundo sensor pero a angle le asignamos el valor 0 para que
el servo se mueva de 90 a 0 grados.
Código sin comentarios para incluir directamente en Arduino: /* Antonio Román Gallego Alvaro Ferrero Alvarez Daniel Fernandez */ //Libreria del servo y variables del servo #include <Servo.h> Servo myServo; // objeto servo int angle; //Varibles para los sensores de luz int sensorValue; int sensorLow = 1023; int sensorHigh = 0; int umbral0; int umbral1; int sensorValue2; int sensorLow2 = 1023; int sensorHigh2 = 0; int potVal2; int potVal; void setup() { myServo.attach(9); Serial.begin(9600); // monitor // calibracion primer sensor while (millis() < 5000) { sensorValue = analogRead(A0); if (sensorValue > sensorHigh) { sensorHigh = sensorValue; } if (sensorValue < sensorLow) { sensorLow = sensorValue; } } Serial.println(sensorHigh); Serial.println(sensorLow); // calibracion del segundo sensor while (millis() < 10000) { // valor maximo sensorValue2 = analogRead(A1); if (sensorValue2 > sensorHigh2) { sensorHigh2 = sensorValue2; } // valor minimo if (sensorValue2 < sensorLow2) { sensorLow2 = sensorValue2; } } Serial.println(sensorHigh2); Serial.println(sensorLow2); umbral0 = sensorLow + ((sensorHigh - sensorLow) / 2) - 10; umbral1 = sensorLow2 + ((sensorHigh2 - sensorLow2) / 2) - 10; Serial.println(umbral0); Serial.println(umbral1); delay(10000); } void loop() { //lectura in del exterior (luz) potVal = analogRead(A0); potVal2 = analogRead(A1); if(potVal < umbral0){ Serial.print("potVal: "); Serial.print(potVal); Serial.println(umbral0); angle = 90; Serial.print(", angle: "); Serial.println(angle); //posicion servo myServo.write(angle); delay(300); } if(potVal2 < umbral1){ Serial.print("potVal2: "); Serial.print(potVal2); Serial.println(umbral1); angle = 0; Serial.print(", angle2: "); Serial.println(angle); // posicion servo myServo.write(angle); delay(300); } }
ESQUEMAS FRITZING.
Estos son los esquemas del proyecto realizado, creemos que esto os será útil a la hora de realizar el proyecto.
Esperamos que os haya gustado nuestra propuesta y que os animéis a realizarla.
Realizado por Antonio Román Gallego, Álvaro Ferrero Álvarez y Daniel Fernández García para la asignatura de "Innovación en la especialidad de tecnología" del Master de Educación Secundaria. Universidad de Salamanca.
El proyecto consiste en diseñar un proyecto con Arduino, para poder desarrollarlo con alumnos de 4º de E.S.O.
Hemos diseñado una alarma que se active con un sensorde movimiento, que activa una luz y un zumbador, apandolo con un pulsador
2 MARCO LEGISLATIVO:
Con este proyecto somos capaces de desarollar los objetivos, contenidos y criterios de evaluación de Educación Secundaria Obligatoriadescritos en el DECRETO 52/2007, 17 de mayo, (BOCYL 23 mayo 2007). Enmarcadospara 4ºde la E.S.O. son las siguientes:
2.1 Objetivos:
Objetivo 1. Abordar con autonomía y creatividad problemas tecnológicos trabajando de forma ordenada y metódica para estudiar el problema, recopilar y seleccionar información procedente de distintas fuentes, elaborar la documentación pertinente, concebir, diseñar, planificar y construir objetos o sistemas que resuelvan el problema estudiado y evaluar su idoneidad desde distintos puntos de vista.
Objetivo 2. Adquirir destrezas técnicas y conocimientos suficientes para el análisis, intervención, diseño, elaboración y manipulación de forma segura y precisa de materiales, objetos y sistemas tecnológicos.
Objetivo 3. Analizar los objetos y sistemas técnicos para comprender su funcionamiento, conocer sus elementos y las funciones que realizan, aprender la mejor forma de usarlos y controlarlos y entender las condiciones fundamentales que han intervenido en su diseño y construcción.
Objetivo 4. Expresar y comunicar ideas y soluciones técnicas, así como explorar su viabilidad y alcance utilizando los medios tecnológicos, recursos gráficos, la simbología y el vocabulario adecuados.
Objetivo 5. Adoptar actitudes favorables a la resolución de problemas técnicos, desarrollando interés y curiosidad hacia la actividad tecnológica, analizando y valorando críticamente la investigación y el desarrollo tecnológico y su influencia en la sociedad, en el medio ambiente, en la salud y en el bienestar personal y colectivo.
Objetivo 8. Actuar de forma dialogante, flexible y responsable en el trabajo en equipo, en la búsqueda de soluciones, en la toma de decisiones y en la ejecución de las tareas encomendadas con actitud de respeto, cooperación, tolerancia y solidaridad.
Objetivo 10. Desarrollar habilidades necesarias para manipular con precisión y seguridad herramientas, objetos y sistemas tecnológicos.
2.2 Contenidos:
Bloque 3. Electricidad y electrónica.
Bloque 3.1 Electrónica analógica. Componentes electrónicos básicos. Descripción y análisis de sistemas electrónicos por bloques: entrada, salida y proceso. Dispositivos de entrada: interruptores, resistencias que varían con la luz y la temperatura. Dispositivos de salida: zumbador, rele, led y otros. Dispositivos de proceso: los integrados. Aplicaciones en montajes básicos.
2.3 Criterios de evaluación
Criterio Evaluación 5. Describir el funcionamiento, aplicación y componentes elementales de un sistema electrónico real.
Criterio Evaluación 6. Diseñar, simular y montar circuitos electrónicos sencillos, utilizando la simbología adecuada.
3 EXPOSICIÓN DEL PROYECTO
El objetivo de este proyecto es conocer y aprender a manejar el Kit de Arduino Uno. Para una aplicación práctica en la asignatura de Tecnología de la E.S.O.
En la actividad que se desarrolle en 4º de la E.S.O. lo enfocamos como el diseño de un Proyecto Técnico, cuyos puntos se pueden resumir en:
Anteproyecto
Exposición de la actividad de contrucción de alarma
Recopilar información y documentación de Internet respecto al tema
Plantear diferentes soluciones, con sus posibles ventajas e inconvenientes.
Diseño
Seleccionar la mejor opción del grupo de soluciones.
Representar gráficamente fitzing
Que materiales necesitamos
Planificación
Distribución de tareas.
Listado concreto de herramientas.
Estimación temporal.
Construcción/Ejecución (es una fase más, no la única!!)
Implementar la solución propuesta.
Anotar posibles incidencias y cómo se resolvieron.
Fabricar piezas/secciones y realizar control de calidad individual.
Evaluación
¿Se ha dado respuesta a la necesidad inicial?
Propuestas de mejora.
Resumen de conocimientos teórico-científicos aplicados y de las habilidades técnicas desarrolladas.
Memoria del proyecto
Debe informar al lector con detalle (importancia de dar a los alumnos un modelo o estructura de memoria).
La idea del proyecto ha sido la construcción de una alarma la cual se activa con un sensor de movimiento y activa un led (señal visual) y un zumbador o señal acústica, la alarma se para con un pulsador.
Para desarrollar el proyecto los materiales utilizados son los siguientes:
HARWARE:
·Microprocesador Arduino UNO: Arduino puede ser utilizado para desarrollar objetos autónomos e interactivos, como prototipos o interactuar con software instalado en el ordenador. Dada su rápida curva de aprendizaje y su precio económico es ideal para educadores, diseñadores y cualquiera interesado en la electrónica y robótica.
·Tableta: o Breadboard. Para realizar prototipos rápidos en poco espacio. Donde montaremos realizaremos parte de proyecto.
·Leds: Será una de las salidas, cuando la alarma se active.
·Zumbador: :Permite emitir sonidos en el rango audible de 2 KHz Será otra de las salidas, cuando la alarma se active
·2 resistencias 220 ohmnios.
·Pulsador: Nos permitira apagar la alarma de manera manual
·Detector Movimiento: Sensor PIR detecta el movimiento de cualquier objeto o persona en toda una habitación! Simplemente conectado y espera unos 2 segundos y estará listo. Cuando detecte algún movimiento, el pin de "alarma" pasará a nivel bajo.
·Cables de conexión y conexión USB
SOFWARE
·Arduino Ide. Programa utilizado para programar
/*
* PIR sensor alarm by Oscar, Juan Antonio and Victor
*/
// Definicion de variables y de constantes para simplificar el codigo
int PinSensor = 13;// pin del sensor PIR
int PinLed = 8;// pin del LED
int PinPiezo = 4;// pin del PIEZO
int PinPulsador = 2;// pin del PULSADOR
int estado = 0;// estado del sensor de movimiento 0=reposo 1=movimiento
int contador = 0;// contador de mensajes 0=mensajereposo 1=mensajemovimiento
int tono = 1000;// tono del piezo
int parada;// definicion de una variable auxiliar
int pitido;// definicion de una variable auxiliar
// Preparacion del circuito = Setup del circuito
void setup()
{
pinMode(PinSensor, INPUT);// definicion del pin del sensor (pin 13) como entrada/input
pinMode(PinLed, OUTPUT);// definicion del pin del led (pin 8) como salida/output
pinMode(PinPiezo, OUTPUT);// definicion del pin del piezo (pin 4) como salida
pinMode(PinPulsador, INPUT);// definicion del pin del pulsador (pin 2) como entrada
Serial.begin(9600);// velocidad de comunicacion con el sensor
}
// Programa que se va a ejecutar
void loop()// Bucle para que el programa se ejecute continuamente
{
estado = digitalRead(PinSensor);// Variable que toma el valor que proporciona el sensor parada = digitalRead(PinPulsador); // Variable que toma el valor que proporciona el pulsador
if (estado == HIGH)// Condicional para cuando el estado sea 1=HIGH
{
digitalWrite(PinLed, HIGH);// Encendido del Led
if (contador == 0)// Condicional para cuando el mensaje actual es "Reposo"
{
Serial.println("Movimiento!!!");// Nuevo mensaje
contador = 1;// Actualizacion del contador de mensajes
pitido = HIGH;// Segnal para que empiece el pitido
}
}
if (estado == LOW)// Condicional para cuando el estado no es 1=HIGH
{
digitalWrite(PinLed, LOW);// Apagado del Led
if (contador == 1) // Condicional para cuando el mensaje actual es "Movimiento"
{
Serial.println("Reposo");// Nuevo mensaje
contador = 0;// Mensaje actualizado
}
}
if (pitido == HIGH)// Condicional para cuando el piezo tiene que pitar
{
tone(PinPiezo, tono, 200);// Codigo del piezo para que pite
}
if (parada == HIGH)// Condicional para cuando el pulsador de parada ha sido activado
{
pitido = LOW;// Segnal para que pare el pitido
delay (3000);// Margen de tiempo para "salir corriendo"
}
}
·Fritzing. Programa utilizar para dibujar el circuito.