Monitor de flujo de agua - Arduino Powered del Laser del CO2 / Windows con control (5 / 7 paso)

Paso 5: Programe el Arudino...

Ahora puede cerrar la caja en cualquier momento pero puede ser más fácil de depurar problemas si usted primero programar el Arduino. El bosquejo se une como CO2WaterFlowMonitor.ino.

Abrir CO2WaterFlowMonitor.ino mediante el compilador de Arduino, conecte el puerto USB a la computadora y presione el botón de carga en el software de Arduino. Eso es todo allí está a él--a menos que quiera aprender cómo funciona...

Conceptos básicos

En primer lugar, queremos mantener las cosas tan simples como sea posible. Vamos a mostrar lo que hace cada pin en la parte superior del bosquejo con una macro. La cabecera de EEPROM.h se utiliza para nuestro entorno de EEPROM de la velocidad de flujo. Esto significa que el poder puede encenderse y apagarse pero el ajuste se mantiene.

Lectura del Sensor de flujo de agua

Vamos a utilizar interrupción de Arduino 0 para contar los pulsos del sensor de flujo de agua. Para ello, que primero configurar un par de variables globales y crear una muy básica interrumpir servicio rutinario (ISR) que topa g_uiFlowDetect cada vez que se detecta un pulso desde el sensor de flujo de agua.

Programa de instalación

Cada sketch de Arduino tiene una configuración. En el nuestro, vamos a...

-Sitúe cada pin en el modo adecuado...

-Instalación serie de salida que el Software de Windows se leer y enviar nuestro primer mensaje para...

-Apagar (COM a NC1) cada repetidor y luego silenciar el zumbador (línea 55)...

-Adjuntar nuestro ISR (detección de flujo) para interrumpir 0 (PIN 2) y temporalmente deshabilitar interrupciones...

-Leer el umbral de alarma de la EEPROM, o "quemarlo" en si uno no estaba allí...

A continuación se utilizará el bucle principal para detectar el caudal de salida (para el puerto serial USB), establecer y borrar la alarma cuando la velocidad cae por debajo del umbral y aceptar la entrada para cambiar el umbral desde el software de Windows. Para ello se introducen las siguientes funciones de ayudante...

UpdateThreshold

Esta función se utiliza para almacenar el nuevo valor de umbral en el almacenamiento EEPROM y para enviar un mensaje que indica el cambio en el Software de Windows.

Comunicación con el Software Windows vía WriteOutput y detección de láser de potencia

Esta función envía las actualizaciones de estado al Software de Windows. El formato es corto y sencillo. Si la línea comienza con un asterisco que significa que cualquier alarma será silenciado porque la potencia del láser se desactiva. Después de la detección de la energía del láser leyendo 8 PIN, enviamos el caudal actual de una barra y luego el actual umbral de alarma. Estos números están en el cuarto segundos.

El bucle principal - captura la tasa de flujo mientras se espera para la entrada desde el Software de Windows

En la parte superior del bucle principal se borra la variable de tasa de flujo (mientras que las interrupciones están deshabilitadas). Las interrupciones son habilitadas y un 1/4 segundo espera se introduce de entrada en serie del puerto USB (enviado por el Software de Windows). Durante eso 250 milisegundos "espera", todos los pulsos desde el sensor de velocidad de flujo de agua incrementan el contador de flujo invocando el ISR

En la línea 117 comprobamos si el Software de Windows envía un nuevo umbral (un valor de byte único con el nuevo umbral). Si lo hiciera, bRC se establecerá en 1 (de un byte). En ese caso se llama UpdateThreshold() y se reinicia el bucle. Esto nos impide señalar una alarma debido a la espera de la 250 Sra. interrumpido.

Ajuste y compensación de la alarma

En la mitad final del bucle principal que se compara el umbral a la velocidad de flujo y cuando cae por debajo de la tasa para que 1/4 de segundo, suena la alarma y el relé se conecta...

En línea 131 probamos para ver si el caudal es menor que el umbral. Si es comprobamos si el sistema de láser está encendido, prueba ENABLE_ALARM_PIN (línea 134). Si la alarma está activada, el zumbador suena (línea 136), de lo contrario (línea 140) es silenciado.

Líneas 142 a 145 causan cada relé conectar COM a NC1 (normalmente cerrado). Esto desactiva el láser. Una línea 146 el estado se envía al Software de Windows y luego en la línea 147 el bucle recicla.

Cuando la alarma no se activa el código cae a través de a línea 149 donde el timbre es silenciado y cada relé se activa para conectar COM a NO (normalmente abierto), lo que permite el laser. Finalmente en línea 154 el bucle termina enviando el estado del software de Windows.

Artículos Relacionados

Flujo laminar agua Jet parte 2 - las luces de

Flujo laminar agua Jet parte 2 - las luces de

Como dije en mi primer instructable planeaba sobre la adición de luces, pero no fui capaz de obtener los resultados que quería porque no tengo acceso al LED más grande, más brillante que sólo utiliza lo que tenía que poner alrededor.Aquí hay un enlac
Super Simple Arduino Powered Roomba Scheduler

Super Simple Arduino Powered Roomba Scheduler

como la mayoría de la gente era escéptico acerca de cómo un robot aspirador, así como un funcionamiento de ensayo pensé que iba a comprar el ahora obsoleto iRobot Roomba 530, que fue fuertemente descontados (están todavía disponibles en Australia, mo
Cómo utilizar el Sensor de flujo de agua - Tutorial de Arduino

Cómo utilizar el Sensor de flujo de agua - Tutorial de Arduino

En este tutorial usted aprenderá cómo utilizar un sensor de flujo de agua con una placa Arduino.El sensor de flujo de agua consiste en un cuerpo de válvula de plástico, un rotor de agua y un sensor de efecto hall. Cuando el agua fluye a través del ro
Arduino Powered trazadores de líneas del guante Heated

Arduino Powered trazadores de líneas del guante Heated

Arduino Powered Guantes calientesEste proyecto es sobre cómo hacer las más inteligente del mundo calienta guante los trazadores de líneas para condiciones de frío extremo como los de Minnesota o personas que tienen syndrome(like me) de Raynaud. Estos
Sensor de flujo de agua de Arduino

Sensor de flujo de agua de Arduino

Sensor de flujo de agua de ArduinoVideos de YouTubeDocumentos
Salvar el mundo una gota a la vez, parte 1: Control de flujo de agua - fontanería gratis - mediante un piezoeléctrico y redes de malla de Pinoccio

Salvar el mundo una gota a la vez, parte 1: Control de flujo de agua - fontanería gratis - mediante un piezoeléctrico y redes de malla de Pinoccio

El agua es barato, pero California es en una de las peores sequías siempre ahora. Seamos realistas: no podemos solucionar la sequía. Sin embargo, algunos residentes de CA activamente están quedando sin agua potable. A nivel municipal es difícil promu
Bajo costo Sensor de flujo de agua y ambiente pantalla

Bajo costo Sensor de flujo de agua y ambiente pantalla

agua es un recurso precioso. Millones de personas no tienen acceso a agua potable, y como 4000 niños mueren de enfermedades de agua contaminada cada día. Sin embargo, seguimos siendo un desperdicio de nuestros recursos. El objetivo primordial de este
LinkIt uno tutoriales - Monitor de temperatura de agua de un cable #8 DS18B20

LinkIt uno tutoriales - Monitor de temperatura de agua de un cable #8 DS18B20

Para este tutorial voy a añadir a un monitor de temperatura de agua usando un DS18B20.El DS18B20 es un dispositivo de un cable. Un cable significa que recibe comandos desde el dispositivo de control (en este caso nuestro Consejo LinkIt uno) y lo enví
Arduino powered calabaza de Halloween con detección de movimiento

Arduino powered calabaza de Halloween con detección de movimiento

Hola,Este Instructable le mostrará cómo hacer algunos Halloween decoraciones incluyendo arduino powered calabaza de Halloween con detección de movimiento.Paso 1: Hacer calabaza de Halloween Materiales:Globo redondoPeriódicos viejosHarina suaveAguaTém
Un controlado inalámbricamente, tablero de mensajes Arduino-Powered

Un controlado inalámbricamente, tablero de mensajes Arduino-Powered

usted mismo construir un tablero de mensajes controlados de forma inalámbrica, Arduino powered!Aquí es un proyecto fácil que crea una tabla de forma inalámbrica programable del mensaje. Utiliza los módulos XBee para un enlace serial inalámbrico entre
Dispositivo Sensor de flujo de agua

Dispositivo Sensor de flujo de agua

Swansea Hackspace ha comprado recientemente un cortador láser,es un sótano de negocio uno importado de china, como se puede adivinar que no tiene absolutamente nada en forma de cierres de seguridad o protecciones, por lo que hemos estado trabajando p
Monitor de uso de agua

Monitor de uso de agua

En nuestro primer episodio de IoT desmontando, habló sobre cómo la Internet de las cosas puede ofrecer soluciones a los problemas planteados por el agua inútiles y construido una sencilla aplicación para medir el flujo de agua de un grifo doméstico.
Arduino Powered Home

Arduino Powered Home

He hecho algunas actualizaciones a este instructable desde agosto de 2014 ***Decidí compartir esta información que podría ayudar a otras personas que han estado luchando para hacer cosas similares con su Arduino. Recientemente he conseguido con el Ar
Arduino powered tanque RC

Arduino powered tanque RC

este es mi primer instructable así que por favor oso conmigo. Mi nombre es Stanley Deakins y he estado jugando con la electrónica desde hace algún tiempo, aunque fue hace años. Debido a mi trabajo reciente he reavivar esa pasión. He conseguido mis ma