Archivo de la etiqueta: TMP36

Ejemplos Arduino con Estructuras de Control

Alarma Umbral

Partiendo del sketch https://www.arduino.cc/en/Tutorial/ifStatementConditional modificarlo para que en lugar de encender un led cuando supere el valor de umbral, simular un envío de un mensaje de alarma mediante Serial.println() cada vez que haya una alarma y se supere el umbral (solo cuando lo sobrepase la primera vez, no de forma continua) y otro mensaje de recuperación cada vez el valor este por debajo del umbral (solo cuando baje la primera vez, no de forma continua).

Esquema de conexión:

Ejecutar el sketch https://www.arduino.cc/en/Tutorial/ifStatementConditional y comprobar su funcionamiento.

El siguiente paso es añadir un texto de alarma y recuperación cuando se supere y cuando esté por debajo. Una vez comprobado que manda continuamente el texto, pensar cómo modificar el sketch para que lo mande solo cuando se supera la primera vez o cuando vuelve al estado normal la primera vez. Esto también sirve para para usar el digitalWrite una vez en lugar de hacerlo continuamente.

Diagrama de flujo:

Solución: https://github.com/jecrespo/aprendiendoarduino-Curso_Arduino_2017/tree/master/Ejercicio07-Detectar_Alarma

Solución Visualino:

Ver en el serial plotter la representación gráfica de lo que está ocurriendo.

  • rojo: umbral
  • verde: estado alarma
  • azul: lectura del potenciómetro

Si comentamos la zona de “print values” veremos que solo se imprime por pantalla “alarma” y “alarma recuperada” cuando se pasa por el umbral, pero no continuamente.

Histéresis

Comprobar el efecto del programa cuando estamos justo en el umbral donde tendremos continuas alarmas y recuperaciones. Para solucionar esto añadir histéresis.

Diagrama de flujo:

Solución: https://github.com/jecrespo/aprendiendoarduino-Curso_Arduino_2017/tree/master/Ejercicio08-Detectar_Alarma_Histeresis

Solución Visualino:

Cambio de comportamiento con un umbral medio de 400 y una histéresis de 50. Ver como cambia el umbral al pasar de estado de alarma a recuperado y viceversa.

Histéresis con Sondas de Temperatura

Hacer este mismo ejemplo con la sonda de temperatura TMP36 https://www.arduino.cc/documents/datasheets/TEMP-TMP35_36_37.pdf con y sin histéresis.

Esquema de conexión:

Hacer este mismo ejemplo con la sonda de temperatura y humedad DHT11

Solución:

Ejemplo de uso con TMP36 con alarma usando un buzzer: https://github.com/jecrespo/aprendiendoarduino-Curso_Programacion_Arduino/blob/master/Ejercicio06-Alarma/Ejercicio06-Alarma.ino

Más prácticas de estructuras de control en el punto 2.9 del curso de programación: https://aprendiendoarduino.wordpress.com/2017/07/05/practica-estructuras-de-control/

Ejemplo con While

Ejemplo con while de calibración de un sensor de iluminación: https://www.arduino.cc/en/Tutorial/WhileStatementConditional

Más ejemplos en: https://www.arduino.cc/en/Tutorial/BuiltInExamples