Paso 3: OnePixel termómetro
Nota: yo uso centígrados las temperaturas en mis proyectos. No conozco con la Fahrenheit sistema.
La segunda función informativa de mi guirnalda era el termómetro. De hecho, el termómetro se fue mi primer proyecto de Arduino, y todavía es trabajan cerca, Mostrar la temperatura exterior en un binario 'display'. El garland fue solicite los datos vía interfaz I2C y visualizar en RGB.
Es posible utilizar el mismo método como se describe anteriormente con respecto a minutos, es decir, un uno digital con decenas y unidades. Sin embargo, como la temperatura puede ir en negativo, este enfoque se convierte en no que intuitiva. También necesitaba una forma diferente de mostrar la temperatura para evitar la confusión, como reloj y termómetro trabajar al mismo tiempo. Así que utilicé un enfoque 'analógico' aquí.
Los medios 'analógicos' enfoque no tienes que convertir colores vistos en dígitos, sólo puede asociar colores con cómo se siente el tiempo. Como esto (de frío a caliente para el invierno):
Rojo: alarma, demasiado frío, el coche no puede empezar hoy
Verde: muy frío, vestido por consiguiente
Azul: frío, no se olvide de guantes
Rojo: alrededor de congelación temperatura, esperan aguanieve, aguanieve posible
Verde: desactivar el modo de invierno
Y así sucesivamente. Estos colores base se atan a Celsius grados (-30 -20, -10, 0, + 10, vea la tabla) y cambiar sin problemas. Así que si ves, digamos, un cian – es entre verde y azul, alrededor de-15 ° C; una tonalidad púrpura significa algo alrededor de-5 ° C. La gama del espectro completo de rojo cubre 30 grados y luego vuelca, eso es suficiente no para confundir a las lecturas (una caída de temperatura durante la noche de 30° C o la subida es bastante raro y en cualquier caso puedes mirar por la ventana para conseguir la idea básica de lo que está sucediendo).
Mientras que este sistema es bastante limpio, cuando la mujer pide una temperatura que tienes que responder exacto grados C, no en colores. Así que tuvo que 'rasterizar' la tabla y asignar colores específicos a valores específicos. Esto dio lugar a una precisión de 2° C, que es aceptable para un proyecto ocasional. Véase el segundo gráfico de arriba. Sin embargo, como comentamos anteriormente, estos colores no son definitivos y pueden ser fácilmente en mal Estados, que a su vez condujo a un sistema de visualización del 'péndulo'.
En 'péndulo' modo RGB LED muestra no sólo el valor actual, pero también es vecinos, alternar los colores de esta manera: – anterior – actual – siguiente – corriente – anterior, etc.. Esto proporciona la referencia necesaria para clavar el color exacto de la actual como, digamos, el rojo-naranja porque sus vecinos son de color rojos y naranja. También hace una guirnalda buscar mejor por ofrecer una animación.
El bosquejo que muestra un método analógico-péndulo está por debajo. Nota: en este dibujo me sale la temperatura del dispositivo Arduino termómetro vía I2C; cambiar la función de getTemp() según su configuración. El algoritmo de cambio de color de la onda de seno es de mi anterior instructable.