Paso 9: Vista previa de código
Tome nota
En mi conversión de Celsius a Fahrenheit agregué y adicional 4. En otras palabras, para convertir de C˚ a F˚ se multiplica el C˚ por 1,8 y agregar 32.
/ * Termómetro miniatura bricolaje
Este circuito es termómetro pequeño que cabe en la parte posterior de un
batería de 9V. Dos LED de flash a la temperatura. Por ejemplo, si el
temperatura es 75, la primera voluntad led flash 7 veces, y el segundo LED se
Flash 5 veces.
El circuito:
* Vout del sensor está conectado a A3
* Entrada del botón de va en el pin 4.
Tome nota: esto no es lo mismo como pines físicos.
Consulte http://hlt.media.mit.edu/?p=1229 para obtener más información.
creado en 2013
por Daniel Nicholls
Editado por disfrutar de electrónica
Notas adicionales:
La escala de conversión en que verás que Ctemp está establecida es solo para el sensor de temperatura LM35.
Ver escala de conversión de su propio sensor de temperatura y cambiar mi número a cualquiera sea su número.
¡ Disfrute!
*/
int Ctemp; Temporal en C˚
int digit10s; Dígitos de la temperatura de 10s
int digit1s; Dígitos de temperatura 1s
temp de flotador; Temporal en F˚
int tempPin = 3; Entrada de crudo desde el sensor de temperatura
int LED10 = 1; LED parpadeando el 10s dígitos
int LED1 = 0; LED a destellar los 1 dígito
int tecla = 4; Entrada digital desde el botón
BPulse int; Variable que nombra el estado del botón
int hora = 250; Esta variable "tiempo" es el retardo entre los destellos del LED.
así que si los LEDs flasing demasiado lento o demasiado rápido puede
ajuste aquí y va a cambiar el retardo por todas partes.
void setup()
{/ / Debe saber lo que todo esto es: P
pinMode (LED10, salida);
pinMode (LED1, salida);
pinMode (botón, entrada);
pinMode (tempPin, entrada);
}
void loop()
{
CTemp = analogRead(tempPin); Okaydokey estamos creando "Ctemp" a la lectura de Anlog TV en tempPin. ¿Recuerde que tempPin es?
CTemp = Ctemp * 0.48828125; Conversión de la tensión analógica desde el sensor de temperatura a grados Celsius. Esto es sólo para el LM35
Nota: Este número puede ser un poco apagado para el LM35. Parece aceptar sin embargo.
Temp = (Ctemp * 9 / 5) + 36; Ahora se trata de conversión de Celsius lectura (Ctemp) a una temperatura de farenheit.
Estamos creando "temp" para el nuevo F˚ de lectura.
BPulse = digitalRead(button); Establecer "BPulse" en una lectura digital en el botón. Si recuerdan "botón" se establece en el pin 4.
/ *** COMIENZO DE LLANURA COMPLICADO! *** /
Si (BPulse == HIGH) / / el puño si declaración. Ninguno del siguiente código se ejecutará si no se cumple esta condición.
{
digit10s = int(temp / 10); encontrar el 10s dígitos de la temperatura. Si su temperatura era 26.89 entonces se convertirá en 2.689 (dividir por 10) y la instrucción int() entonces lo convierte a un entero quitando todo después del lugar decimal y luego dejándole con digit10s = 2
digit1s = int (temp - (digit10s * 10)); encontrar los 1 dígito. Utilizar el 10sdigit de arriba y multiplicar por diez, dando 20 y restar nuestra temp (26.89) dejándonos con 6.89 entonces este molde a un int reducir a 6.
mientras que (digit10s! = 0) //do un tiempo bucle mientras que digit10s no es igual a 0
{
analogWrite (LED10, 75);
Delay(Time);
analogWrite (LED10, 0);
Delay(Time);
digit10s--; digit10s de decremento por 1
} / / fin de lo tiempo declaración
Delay(1000);
mientras que (digit1s! = 0) //do un tiempo bucle mientras que digit1s no es igual a 0
{
analogWrite (LED1, 75);
Delay(Time);
analogWrite (LED 1, 0);
Delay(Time);
digit1s--; digit1s de decremento por 1
} / / fin de lo tiempo declaración
} / / botón check
Else / / ahora, ¿te acuerdas de nuestra instrucción IF? Estaba probando el botón. Por lo tanto, si el botón presionado, apagar todos los LEDs.
{
digitalWrite (LED10, LOW);
digitalWrite (LED 1, bajo);
}
Delay(10); es dejar el código que se ejecuta con demasiada frecuencia.
} / / void loop