Paso 7: Programar el Arduino para controlar la temperatura
2. Si configura sus pernos un poco diferente, cambie el código en consecuencia en el bosquejo (véase abajo)
3. conectar el microcontrolador al ordenador. Usé un microUSB cable USB normal. La luz verde debe centelleo en el tablero.
4. verificar el esquema y si no hay problema, cargar el bosquejo en el microcontrolador. Ahora, el microcontrolador tiene el programa y con poder ejecute el programa hasta poder removedor.
Aquí está el bosquejo a utilizar. Gran parte gracias a nuestro pasante Laura Tully-Gustafson para poner esto en conjunto.
/ * hacer un horno de secado, control de un foco incandescente con un relé de estado sólido si la temperatura es inferior a 105 C y hacer que se apague si la temperatura es más de 109 * /
publicado bajo la GPL v3.0 por Laura Tully-Gustafson
#include < OneWire.h >
#include < DallasTemperature.h >
Onewire dispositivo está conectado al puerto 7 de Arduino
#define ONE_WIRE_BUS 7
Configurar una instancia de oneWire para comunicarse con dispositivos OneWire (no solo temperatura de Maxim/Dallas ICs)
OneWire oneWire(ONE_WIRE_BUS);
Pasar nuestra referencia oneWire a temperatura de Dallas.
DallasTemperature sensors (& oneWire);
int currenttemp;
int mínimo = 105; cambio de temperatura mínima y máxima en grados C.
int máximo = 109;
void setup(void)
{
iniciar el puerto serie
Serial.Begin(9600);
Puesta en marcha de la biblioteca
Sensors.Begin();
pinMode (13, salida); configurar el pin 13 para un LED de advertencia
digitalWrite (13, HIGH);
pinMode (1, salida);
digitalWrite (1, alto); configurar el pin 1 de un relé de estado sólido
}
void loop(void)
{
Llame al sensors.requestTemperatures() para emitir una temperatura global
reques
t a todos los dispositivos en el bus
Serial.Print ("solicitando temperaturas...");
sensors.requestTemperatures(); Enviar el comando para obtener las temperaturas
Serial.println("Done");
Serial.Print ("temperatura del dispositivo 1 (índice 0) es:");
currenttemp = sensors.getTempCByIndex(0); a getTempFByIndex a cambiar el sistema a grados F
Serial.println(Sensors.getTempCByIndex(0));
Si (currenttemp < mínimo) {}
digitalWrite (13, HIGH); para que la luz de advertencia se enciende
digitalWrite (1, alto); para que la bombilla incandescente se enciende
}
Si (currenttemp > máximo) {}
digitalWrite (13, bajo);
digitalWrite (1, bajo);
}
}