Barato Arduino controlado yogurtera (2 / 4 paso)

Paso 2: Programar el Arduino

Ahora es el momento para algunos programación. Realmente puedes copiar mi código y subir a la Arduino ;)

/*
Escritura por Manuel Schutze - mayo de 2013
Conexiones:
DS18B20 termómetro - pin 2
Módulo de relé - pin 3
SD CS - pin 10
SD MOSI - pin 11
MISO de SD - pin 12
SD CLK - pin 13
*/

Incluir librerías necesarias
#include < OneWire.h >
#include < DallasTemperature.h >
#include < SD.h >

Configuración de vars
intervalTemp largo = 1000; intervalo entre las mediciones de temperatura
intervalSD largo = 5000; intervalo entre guardar los datos en la tarjeta SD
Float tempMin = 42.5; temp min (< truns en calor)
flotador tempMax = 43.5; temperatura máxima (> truns calor)
int TV = 3; PIN donde se conecta el relé de
const int chipSelect = 10; CS de PIN (tarjeta SD)

Vars internos (no cambiar)
previousMillisTemp largo = 0;
previousMillisSD largo = 0;
Float tempAtual = 0; temperatura actual
int stat = 0; 0 = relé desactivado / 1 = relé en
Static char tempBuff [15];
Archivo de datos de archivo;

Configura el termómetro
OneWire oneWire(2); PIN donde se conecta el themometer
DallasTemperature sensors (& oneWire);
DeviceAddress insideThermometer;

void setup() {}
Sensors.Begin();
sensors.getAddress (insideThermometer, 0);
sensors.setResolution (insideThermometer, 11); Set de termómetro máxima resolución
pinMode (TV, salida);
pinMode (10, salida);

Serial.Begin(9600);
Serial.println ("### Yogurtator ###");

if (!. {SD.begin(chipSelect))}
Serial.println ("tarjeta SD fallido, o no presente");
} else {}
Serial.println ("SD tarjeta inicializada.");

Crear un nuevo archivo
char nombre [] = "DATA00. TXT";
para (uint8_t i = 0; i < 100; i ++) {}
nombre de archivo [4] = i / 10 + '0';
nombre de archivo [5] = i % 10 + '0';
if (!. {SD.exists(filename))}

sólo abrir un archivo nuevo si no existe
archivo de datos = SD.open (filename, FILE_WRITE);
rotura;  dejar el lazo!
}
}

Si (! datafile) {}
Serial.println ("no se pudo crear archivo");
} else {}
Serial.Print ("registro:");
Serial.println(FileName);
}
}

Serial.Print ("encontrado");
Serial.Print(Sensors.getDeviceCount(), DEC);
Serial.println ("Termómetros.");
Serial.Print ("resolución de dispositivo 0:");
Serial.println(Sensors.getResolution(insideThermometer), DEC);

Serial.Print ("temperatura min:");
Serial.Print(tempMin);
Serial.Print ("temperatura max:");
Serial.println(tempMax);
Serial.println("###");


}

void loop() {}
unsigned currentMillis largo = millis();

Comprueba temp actual e imprime en serie
Si ((currentMillis - previousMillisTemp > intervalTemp) || (currentMillis - previousMillisTemp < 0)) {

Versiones anteriores millis
previousMillisTemp = currentMillis;

Obtiene la temperatura
sensors.requestTemperatures();
tempAtual = sensors.getTempCByIndex(0);

Relé de control
Si (tempAtual! = 0) {}
if(tempAtual < tempMin) {}
digitalWrite (TV, HIGH);
STAT = 1;
}
if(tempAtual > tempMax) {}
digitalWrite (TV, LOW);
STAT = 0;
}
}

Temperatura actual impresiones en serie
Serial.Print ("temperatura:");
Serial.Print(Sensors.getTempCByIndex(0));
Serial.Print ("C - calor:");
if(STAT == 0) {}
Serial.println("OFF");
} else {}
Serial.println("ON");
}

}

Guarda los datos en la tarjeta SD
Si ((currentMillis - previousMillisSD > intervalSD) || (currentMillis - previousMillisSD < 0)) {

Versiones anteriores millis
previousMillisSD = currentMillis;

Crea cadena para guardar en el archivo
Cadena dataString = "";
dtostrf (tempAtual, 5, 2, tempBuff);
dataString.concat(tempBuff);
dataString.concat(",");
dataString.concat(stat);

Si el archivo está disponible, escribir en él:
Si (datafile) {}
DataFile.println(dataString);
DataFile.Flush();
}

Si el archivo no está abierto, surge un error:
Else {}
Serial.println ("Error al abrir archivo de datos.");
}
}
}

/ * Código termina aquí! */

Todo es, comentó. Sólo establece la temperatura max y min y subirlo a la placa Arduino.

Este código imprime el estado actual de la temperatura y el relay en el puerto serie cada 1 segundo, sou tienes una idea de lo que está sucediendo dentro de la caja!

Tenga en cuenta que el código también llama para que una tarjeta SD guardar los datos. Esto es opcional y comentada en el siguiente paso.

Artículos Relacionados

Arduino controlado por dimmer luz

Arduino controlado por dimmer luz

ADVERTENCIA: ¿ Algunas personas tratan de construir esto con un optoacoplador con coz zerocrossing derecho 'es mejor'? Algunos se dicen incluso en tiendas de electrónica es mejor utilizar tal un optoacoplador. MAL. Esto sólo funcionará con un optoaco
Arduino controlado CNC 3D impresora híbrida

Arduino controlado CNC 3D impresora híbrida

La madre naturaleza hace... Construimos.BuildersBot fusibles de impresión 3D y fresado CNC en sueños de un constructor "3dprintingindustry.com"La BuilderBot es una máquina de diseño abierto, que utiliza OpenSoftware y Hardware abierto. Es un pro
Arduino controlado Servo Robot (serbio)

Arduino controlado Servo Robot (serbio)

¿qué mejor manera de empezar a experimentar con micro-controladores de código abierto ( Arduino ) y construyendo tu propio abra robot fuente ( CC (SA-de))?¿Qué hacer con el serbio?(aquí) - Cómo conectar su servio al internet y la unidad sobre un Skyp
Toque de queda del animal doméstico: Un Arduino controlado puerta para mascotas

Toque de queda del animal doméstico: Un Arduino controlado puerta para mascotas

El problema: quiere restringir el tiempo cuando su mascota pueda salir al exterior. Esto podría ser porque el barrio no es seguro para su gato o perro pequeño por la noche (Merodeadores coyotes viene a la mente). Pero desea que su mascota para poder
Barato Arduino Bot

Barato Arduino Bot

Evita el obstáculo del Arduino ahora es popular en el campo del bricolaje. He hecho una utilizando componentes disponibles baratos.Espero que le entretendrá.Cosas que usted necesita:1. cualquier barato Arduino UNO R3 (clon)2 Adafruit Motor Shield v13
Arduino controlado de simulador de vuelo - "The Viper"

Arduino controlado de simulador de vuelo - "The Viper"

My Maker Faire proyecto para 2012 es "La víbora"--un simulador de vuelo de Arduino controlado inspirado en la nave del mismo nombre de TV serie Battlestar Galactica del canal SyFy. Gira 360 grados a lo largo de dos ejes, lo que significa que sí,
POV Arduino controlado desde Android

POV Arduino controlado desde Android

Proyecto de un POV con Arduino controlado desde el celular.POV Proyectos hechos con Arduino hay muchos, pero quise realizar uno en el cual se pudiera enviar el mensaje o palabra visualizar, un estar de evitar través del celular para un cada rato carg
Un infrarrojo de Arduino controlado y Robot de evitación del obstáculo

Un infrarrojo de Arduino controlado y Robot de evitación del obstáculo

Hola todo el mundo,Este Instructables se divide en dos fases, que hace conveniente para el principiante y los diseñadores de robots intermedios.La primera fase abarca el uso de la placa de arduino nano solamente como controlador. Con esto, vamos a co
Arduino controlado voz TV remoto

Arduino controlado voz TV remoto

ser estudiante universitario, puede llegar a ser bastante perezoso.  Esta fue la motivación detrás de mi proyecto para hacer un nuevo control remoto para mi TV que puede ser controlado desde mi teléfono, computadora o mi voz.Empecé este proyecto mi p
Arduino controlado campanario/Carillon

Arduino controlado campanario/Carillon

esto es un conjunto de campanas musicales conducido por solenoides y controlado por un microcontrolador Arduino.Hay 8 campanas que cubre una octava.Las campanas son controlables desde un PC, o la torre puede estar sola y melodías preprogramadas.Revis
Láser Galvo - Arduino controlado

Láser Galvo - Arduino controlado

Arduino controla láser galvo. El servo conducido espejos dirigir el láser UV dejando un rastro fosforescente en la hoja de vinilo brillan en la oscuridad.Originalmente publicado en notes.robives.comPaso 1:A partir de una hoja de vinilo luminoso de eB
Mano Pong invasores y en barato (Arduino compatible)

Mano Pong invasores y en barato (Arduino compatible)

Un sistema de juegos portátil retro lo suficientemente barato como para proyecto infantil. ¿Posible? Absolutamente! Solo trae la alimentación de Arduino y componentes chinos baratos!Este proyecto fue diseñado como un proyecto de soldado para un grupo
BARATO ARDUINO CNC

BARATO ARDUINO CNC

gracias te helpen me mucho simplemente por la apertura que instructivo! ahora disfrute mi instructable.Este es mi primer instructable. os muestro las actualizaciones en mi máquina cnc que costará unos 200 euros para calidad aún decente.no odio si no
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