Arduino controla colmena fumigador / ambientador de aire (8 / 9 paso)

Paso 8: Código de Arduino

#include "MAX31855.h"
#include "LiquidCrystal.h"

#include "Adafruit_MAX31855.h"

LiquidCrystal lcd (12, 11, 5, 4, 3, 2);

const int turnonAudioboard = 13;

const int audioTrigger0 = A0;

const int audioTrigger1 = A1;

const int audioTrigger2 = A2;

const int audioTrigger3 = A3;

const int audioTrigger4 = A4;

const int fanRelay = 10; //

const int heaterRelay = 9; controles de los calentadores

const int countthreshold = 100; restablece los valores max y min cada 100 segundos

const int startfrequency = 300; ajustar la frecuencia de comienzo de las señales sonoras

const int numberofbeepsmax = 50; establecer la maximumnumber de tonos posibles

int fancountdown = 0;

int i;

int count = 5;

int freq = 0;

pitidos de int = 0;

int beepthreshold = -10; El valor anterior que pitidos empiezan a ser sonado

int
beepBeepThreshold = 0;

int audioCount0 = 0;

int audioCount1 = 0;

int audioCount2 = 0;

int audioCount3 = 0;

int audioCount4 = 0;

int alarmpotvalue = 500;

int tempsetpoint = 160;

int blowersetpoint = 20;

int bloweron = 0;

int zeropotvalue = 0;

int thermocoupleSOPin = 8;

int thermocoupleCSPin = 7;

int thermocoupleCLKPin = 6;

variables de temperatura:

doble punto de ajuste;

doble calor;

salida doble;

doble Unión;

MAX31855 termopar (thermocoupleSOPin, thermocoupleCSPin, thermocoupleCLKPin);

void setup()

{

pinMode (audioTrigger0, salida);

digitalWrite(audioTrigger0,HIGH); Baja activa el sonido en el tablero de FX

pinMode (audioTrigger1, salida);

digitalWrite(audioTrigger1,HIGH); Baja activa el sonido en el tablero de FX

pinMode (audioTrigger2, salida);

digitalWrite(audioTrigger2,HIGH); Baja activa el sonido en el tablero de FX

pinMode (audioTrigger3, salida);

digitalWrite(audioTrigger3,HIGH); Baja activa el sonido en el tablero de FX

pinMode (audioTrigger4, salida);

digitalWrite(audioTrigger4,HIGH); Baja activa el sonido en el tablero de FX

Delay(500);

pinMode (turnonAudioboard, salida);

digitalWrite (turnonAudioboard, HIGH);

pinMode (fanRelay, salida); Inicializa el pin de relé del ventilador como una salida

pinMode (heaterRelay, salida);

digitalWrite (fanRelay, bajo); desactivar el relé del ventilador.

digitalWrite (heaterRelay, bajo);

tono (A5, 400, 100); reproduce un sonido de 400 hz de 100 ms.

LCD.Begin(20,4); establecer la dimensión de la pantalla lcd

LCD.Clear(); Pantalla LCD clara

lcd.setCursor(2,0); LCD.Print ("Varroa Blaster");

Delay(2000);

tono (A5, 400, 100); reproduce un sonido de 400 hz de 100 ms.

lcd.setCursor(2,1); LCD.Print "(industrias de la cabra del);

Delay(2000);

noTone (A5);

Temperatura actual de la lectura

calor = thermocouple.readThermocouple(CELSIUS);

calor = calor-3; //
ajuste de punto de ebullición del agua

Si se detecta problema de termopar

Si ((heat == FAULT_OPEN) || (calor == FAULT_SHORT_GND) ||
(Heat == FAULT_SHORT_VCC))

Delay(500);

Delay(500);

Si la olla es demasiado caliente:

while(Heat >
100) {}

calor = thermocouple.readThermocouple(CELSIUS);

calor =
calor-3;

LCD.Clear();

lcd.setCursor(0,0); LCD.Print ("por favor espere mientras");
lcd.setCursor(0,1); LCD.Print ("el dispositivo se enfría");
lcd.setCursor(0,2); LCD.Print ("hasta abajo 100");lcd.print((char)223);lcd.print("C");
lcd.setCursor (0,3); lcd.print ("punta de prueba
Temp:");LCD.Print(Heat);LCD.Print((Char)223);LCD.Print("C.");

tono (A5, 300,
100); reproduce un sonido de 300 hz para 100 ms

Delay(3000);

}

Si (calor < 90) audio0 //plays cuando la temperatura (calor) es les a 90 grados C.

{

digitalWrite(audioTrigger0,LOW); Bajo
activa el sonido en el tablero de FX

Delay(500);

digitalWrite(audioTrigger0,HIGH);

}

Else {}

while(Count>0) {}

LCD.Clear();

lcd.setCursor(4,0); LCD.Print("Starting");
lcd.setCursor(2,1); LCD.Print("vapourisation");
lcd.setCursor(0,3); LCD.Print("Count:"); lcd.setCursor(6,3);
LCD.Print(Count); lcd.setCursor(8,3);
LCD.Print("Temp:");LCD.Print(Heat);LCD.Print((Char)223);LCD.Print("C");

tono (A5, 400.100);

Count = count -1;

Delay(1000);

noTone (A5);

}

}

void loop()

{

Temperatura actual de la lectura

calor = thermocouple.readThermocouple(CELSIUS);

calor = calor-3;

cruce = thermocouple.readJunction(CELSIUS);

Si se detecta problema de termopar

Si ((heat == FAULT_OPEN) || (calor == FAULT_SHORT_GND) ||

(Heat == FAULT_SHORT_VCC))

blowersetpoint = 20;

calor = 17; línea temporal para la depuración

LCD.Clear();

lcd.setCursor(0,0); LCD.Print ("volar el tiempo:"); lcd.setCursor(10,0);lcd.print(blowersetpoint,DEC);
lcd.setCursor(14,0);lcd.print("Secs.");

lcd.setCursor(0,1); LCD.Print ("punto de ajuste de temperatura:"); lcd.setCursor(15,1);
LCD.Print(tempsetpoint,DEC);LCD.SetCursor(18,1);LCD.Print((Char)223);LCD.Print("C");

lcd.setCursor(0,2);lcd.print("Int.Temp:");lcd.print(junction);lcd.print((char)223);lcd.print("C");

lcd.setCursor (0,3); lcd.print ("sonda Temp:");lcd.print(heat);lcd.print((char)223);lcd.print("C");

If
((Heat>100) & &(heat<105) & &(audioCount1<1)) audio1 de //plays cuando la temperatura (calor) llega a 100 grados centígrados.

{

audioCount1 = 1;

digitalWrite(audioTrigger1,LOW); Bajo
activa el sonido en el tablero de FX

Delay(500); IMPORTANTE esto se debe por lo menos 500.

digitalWrite(audioTrigger1,HIGH);

}

Else {}

If
((Heat>130) & &(heat<135) & &(audioCount2<1)) //plays audio2 cuando temperatura (calor) llega a 130 grados centígrados.

{

audioCount2 = 1;

digitalWrite(audioTrigger2,LOW); Baja activa el sonido en el tablero de FX

Delay(500);

digitalWrite(audioTrigger2,HIGH);

}

Else {}

If
((Heat>150) & &(heat<155) & &(audioCount3<1)) //plays audio3 cuando temperatura (calor) se hace a 150 grados centígrados.

{

audioCount3 = 1;

digitalWrite(audioTrigger3,LOW); Baja activa el sonido en el tablero de FX

Delay(500);

digitalWrite(audioTrigger3,HIGH);

}

Else {}

hacer ruidos pitidos a frecuencias crecientes

Freq =
startfrequency;

pitidos = 0;

beepBeepThreshold
= beepthreshold;

while(beeps < numberofbeepsmax) {}

if(Heat >beepBeepThreshold)

tono (A5, freq, 9); tocar una nota del pin 1 en freq de 9ms

tonos de aviso ++;

beepBeepThreshold
= beepBeepThreshold + 10;

Freq = freq +
200;

Delay(10);

}

noTone (A5);

Si (calor

}

otra cosa
{digitalWrite (heaterRelay, LOW); bloweron = 1;

}

fancountdown = blowersetpoint;

Delay(1000);

Ahora se ha alcanzado la temperatura y el ventilador debe estar encendido.

Iniciar primero el audio:

Si (bloweron > 0) {}

digitalWrite(audioTrigger4,LOW); Baja activa el sonido en el tablero de FX

Delay(500);

digitalWrite(audioTrigger4,HIGH);

Delay(14000);

}

Else {}

Encienda el ventilador:

while(bloweron >0) {/ / bloweron tiene el status de '1' y así se activa este bucle:

digitalWrite (fanRelay, HIGH);

Si (calor

}

otra cosa
{digitalWrite (heaterRelay, bajo);

}

Temperatura actual de la lectura

calor = thermocouple.readThermocouple(CELSIUS);

calor = calor-3;

cruce = thermocouple.readJunction(CELSIUS);

Si se detecta problema de termopar

Si ((heat == FAULT_OPEN) || (calor == FAULT_SHORT_GND) ||

(Heat == FAULT_SHORT_VCC))

tono (A5, 1500, 100); reproduce un sonido de 1500 hz para 100 ms

Delay(500);

tono (A5, 1.500.100); reproduce un sonido de 1500 hz para 100 ms

Delay(500);

fancountdown = fancountdown -1;

LCD.Clear();

lcd.setCursor(0,0);
LCD.Print("Blowing:");
lcd.setCursor(10,0);lcd.print(fancountdown,DEC);
lcd.setCursor(14,0);lcd.print("Secs.");

lcd.setCursor(0,1);
LCD.Print ("punto de ajuste de temperatura:"); lcd.setCursor(15,1);
LCD.Print(tempsetpoint,DEC);LCD.SetCursor(18,1);LCD.Print((Char)223);LCD.Print("C");

lcd.setCursor(0,2);lcd.print("Int.Temp:");lcd.print(junction);lcd.print((char)223);lcd.print("C");

lcd.setCursor (0,3); lcd.print ("punta de prueba
Temp:");LCD.Print(Heat);LCD.Print((Char)223);LCD.Print("C");

noTone (A5);

Si (fancountdown < 1) {}

Esto crea un bucle de 'Acabado'

mientras que (fancountdown < 1) {}

LCD.Clear();

Temperatura actual de la lectura

calor = thermocouple.readThermocouple(CELSIUS);

calor = calor-3;

cruce = thermocouple.readJunction(CELSIUS);

Si se detecta problema de termopar

Si ((heat == FAULT_OPEN) || (calor == FAULT_SHORT_GND) ||

(Heat == FAULT_SHORT_VCC))

lcd.setCursor(0,0); LCD.Print("Finished");
lcd.setCursor(10,0);lcd.print(fancountdown,DEC);
lcd.setCursor(13,0);lcd.print("Secs.");

lcd.setCursor(0,1); LCD.Print ("Temp set
punto: "); lcd.setCursor(15,1);
LCD.Print(tempsetpoint,DEC);LCD.SetCursor(18,1);LCD.Print((Char)223);LCD.Print("C");

lcd.setCursor(0,2);lcd.print("Int.Temp:");lcd.print(junction);lcd.print((char)223);lcd.print("C");

lcd.setCursor (0,3); lcd.print ("punta de prueba
Temp:");LCD.Print(Heat);LCD.Print((Char)223);LCD.Print("C");

digitalWrite (heaterRelay, bajo);

digitalWrite (fanRelay, bajo);

Delay(1000);

}

}

Else {}

}

}

Artículos Relacionados

La introducción de Climaduino - el termostato basado en Arduino controlas desde tu teléfono!

La introducción de Climaduino - el termostato basado en Arduino controlas desde tu teléfono!

Actualización:Hay una nueva versión de la Climaduino y el Climaduino con algunos cambios muy significativos.Soporta múltiples zonasUtiliza el Arduino YúnTrabaja con aire acondicionado CentralSe comunica mediante el protocolo MQTT (se puede integrar c
Un reemplazo de control remoto de acondicionador de aire

Un reemplazo de control remoto de acondicionador de aire

Actualización (01/2014): corrección de los esquemas y cuadro actualizado a cumplir con la configuración actual (no es necesario final pero al menos más fiable que la versión anterior).Este instructable sigue mi anterior uno (Ahora tenemos una buena c
Arduino controla el temporizador de cocina

Arduino controla el temporizador de cocina

Todos ustedes deben han experimentado esto que tienes algo cocinan sobre su cocina por el otro lado conseguir ocupado viendo la televisión o conseguir una conversación profunda que te das cuenta en la detección de un olor que completamente fue estrop
Ambientador de aire del café

Ambientador de aire del café

me encanta la forma en que huele a café, especialmente cuando usted la observa en lugares que no esperaba encontrarlo.Un día, una libra de Stumptown que huele muy bonito tierra café derramado en la parte trasera de mi coche.  Cuando fui a limpiar con
Hackeado Hexbug araña Arduino Control

Hackeado Hexbug araña Arduino Control

Este proyecto tiene hexbug araña basada en Arduino robot comprobaré. El sistema de control completa nuestro proyecto proporcionando tanto por teléfono y la computadora.http://make.robimek.com/Arduino-control-Hexbug-Spider/Paso 1: materiales:Hexbug ar
Ambientador de aire de lujo

Ambientador de aire de lujo

veo este tipo de palillos en tarro de ambientadores de aire todo el tiempo en las tiendas, pero puedes hacer que te mucho más barato si usted tiene algunas cosas de mentira alrededor de la casa. Incluso si no su todavía menos costoso que lo están pas
Arduino controla el faro

Arduino controla el faro

Resumen:A menudo he pensado que un faro de un gran proyecto para un Arduino, y decidí probar con uno de los faros locales aquí en Erie, Pennsylvania como inspiración. Elegí el Norte Pierhead Faro que custodia la entrada a la bahía de la isla de Presq
Control de un acondicionador de aire de IR con Arduino y Android

Control de un acondicionador de aire de IR con Arduino y Android

Para mi primer proyecto de Arduino que decidí controlar mi acondicionador de aire por internet con la ayuda de Arduino y mi celular Android donde tengo acceso a internet. Video es en español pero tendrás lo que estoy demostrando.Paso 1: requisitosReq
Barato Arduino control tomas de luz - ingeniería RF inversa

Barato Arduino control tomas de luz - ingeniería RF inversa

Costo de bombillas Smart su primogénito Hijo. Que es una lástima, porque luces inteligentes abre un enorme potencial para domótica, ahorro de energíay todo tipo de proyectos interesantes.Si sólo había una manera de controlar sus luces sin romper el B
Arduino controla pequeña radio FM

Arduino controla pequeña radio FM

Hoy en día, gracias a la continuamente creciente nivel de integración del sistema de las fichas, la fabricación de dispositivos electrónicos de alta calidad, se convierte en fácil como juego de niños. Otro factor que ayuda a esto es la proliferación
Arduino controla Rotary Stewart Platform

Arduino controla Rotary Stewart Platform

Este instructable es sobre la construcción de un rotatorio Plataforma de Stewart. Permite posicionar su plataforma móvil en seis grados de libertad. Esta plataforma específica está diseñada para poder colocar una réflex digital o cualquier otra cámar
Arduino: Control de varios componentes con un botón

Arduino: Control de varios componentes con un botón

Este es un circuito que permite que alternar entre los tres componentes diferentes, en este caso LED, pulsando un botón. El ciclo avanza cada vez que pulse el botón: (1) se apaga todo, (2) vuelta rojo en (3) amarilla & roja apagado, (4) vuelta en ver
Arduino controla perro alimentos/dispensador

Arduino controla perro alimentos/dispensador

En este Instructables describe cómo construir un dispensador de tratar alimentos de perro automático utilizando un Arduino Duemilanove (el Uno es la versión más reciente de la misma Junta). El intervalo de temporizador se puede ajustar mediante un po
Ambientador de aire del café para tu coche y tu casa

Ambientador de aire del café para tu coche y tu casa

si usted no puede funcionar sin café en tu vida, entonces te tengo un asombrosamente sencillo y potente ambientador instructable. Yo no soy un consumidor ávido de café como los yonkis de Starbucks por ahí. Para ser honesto prefiero el $2 taza de café