Cambio pantalla de color (15 / 15 paso)

Paso 15: Programa principal

/*

Usado para exhibición del temp de color personalizado
Noviembre de 2013
Rayo McQueen

Salida serie para 74hc374

Mostrar espacios en blanco
Espacio en blanco principal 0
Temp mínima es 0
Pantalla temp varias veces luego de hacer un divertido flash
Temp de nivelación para evitar grandes saltos temporales

*/
//
const int blue_data = 13; 74xx374 pin3
const int red_data = 12; 74xx374 pin3
const int green_data = 11; 74xx374 pin3
const int blue_clk3 = 10; azul 3 dígitos
const int blue_clk2 = 9; dígito 2 azul
const int blue_clk1 = 8; 1er dígito azul
const int red_clk3 = 7; rojo 3 dígitos
const int red_clk2 = 6; dígitos 2 º rojo
const int red_clk1 = 5; 1er dígito rojo
const int green_clk3 = 4; verde 3 dígitos
const int green_clk2 = 3; dígitos 2 º verde
const int green_clk1 = 2; 1er dígito verde
//
int dig_it1 = 0; Primer dígito de la pantalla
int dig_it2 = 0; Segundo dígito del display
int dig_it3 = 0; Tercer dígito de la pantalla
//
int data_1 = 0; / / cuentan de datos primeros 100
int data_2 = 0; / / cuentan de datos segundo 10
int data_3 = 0; / / cuentan de datos tercera 1
//
int test_test = 0; / / guardar número para la prueba
int tmprtr = 0; / / para la lectura de temperatura
int tmprtr_old = 0; / / última lectura de temperatura
int tmprtr_new = 0; / / esta temp leer
Float tmprtr_read = 0; / / inicial lectura hacer las matemáticas
//
//
int [] dígitos = {}
252 12, 182, 158, 78, 218, 122, 140, 254, 206, 0
}; 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, espacio en blanco
//
//
segmentos de int [] = {}
255, 1, 128, 64, 32, 16, 8, 4, 2, 0
}; Todo en lugar Decimal, centro de la parte superior, izquierda parte superior,
Centro inferior, parte inferior derecha, inferior izquierda, parte superior derecha,
Medio centro, espacio en blanco
//
//
int del_short = 75; / / corto retardo para circundar leds
int del_long = 1000; / retardo largo
Círculo de int = 0; / / tiempo para circundar
//
void setup() {}
pinMode (blue_data, salida); definir como salida
pinMode (red_data, salida); definir como salida
pinMode (green_data, salida); definir como salida
pinMode (blue_clk3, salida); definir como salida
pinMode (blue_clk2, salida); definir como salida
pinMode (blue_clk1, salida); definir como salida
pinMode (red_clk3, salida); definir como salida
pinMode (red_clk2, salida); definir como salida
pinMode (red_clk1, salida); definir como salida
pinMode (green_clk3, salida); definir como salida
pinMode (green_clk2, salida); definir como salida
pinMode (green_clk1, salida); definir como salida
//
//
EN BLANCO TODOS LOS DÍGITOS
//
data_1 = 10; / / primera datos 10 = en blanco
data_2 = 10; / / segundo de datos 10 = en blanco
data_3 = 10; / / tercer datos 10 = en blanco
//
blue_shift(); / / cuando claro toda pantalla que sólo necesita
para llamar a un cambio de color porque todo el color cambia de claro
cualquier otro color antes de mostrar a ellos mismos. blue_shift
se utiliza aquí, pero puede ser cualquiera de los cambios de color.
//
//
}
//
void loop() {}
//
//
para (círculo = 0; círculo < 60; círculo ++) {}
get_tmprtr(); / / lee el LM335 y convertir a la temperatura
temp_lvlr(); / / evita grandes saltos temporales
Convert(); / / romper la temp para correcta visualización
color_2_display(); / / elegir el color que quieras
Delay(del_long); / / Delay
}
fun_ky_flash(); / do rato parpadea antes de hacer otra vez temperatura.
//
//
** FIN DE BUCLE PRINCIPAL **
//
//
}
//
//
//
void blue_shift() {}
//
Borra todos los demás dígitos de color primero... caso de justin.
Esto es para cambiar de puesto hacia fuera para el azul en la pantalla
//
dig_it1 = 0; / / 0 no = 0000 0000 ningún LED encendido
dig_it2 = 0; / / 0 no = 0000 0000 ningún LED encendido
dig_it3 = 0; / / 0 no = 0000 0000 ningún LED encendido
//
shiftOut (red_data, red_clk1, LSBFIRST, dig_it1); //
shiftOut (red_data, red_clk2, LSBFIRST, dig_it2); //
shiftOut (red_data, red_clk3, LSBFIRST, dig_it3); //
shiftOut (green_data, green_clk1, LSBFIRST, dig_it1); //
shiftOut (green_data, green_clk2, LSBFIRST, dig_it2); //
shiftOut (green_data, green_clk3, LSBFIRST, dig_it3); //
//
dig_it1 = (digits[data_1]);
dig_it2 = (digits[data_2]);
dig_it3 = (digits[data_3]);
shiftOut (blue_data, blue_clk1, LSBFIRST, dig_it1); //
shiftOut (blue_data, blue_clk2, LSBFIRST, dig_it2); //
shiftOut (blue_data, blue_clk3, LSBFIRST, dig_it3); //
//
}
//
//
void red_shift() {}
//
Borra todos los demás dígitos de color primero... caso de justin.
Se trata de cambiar a rojo en la pantalla
//
dig_it1 = 0; / / 0 no = 0000 0000 ningún LED encendido
dig_it2 = 0; / / 0 no = 0000 0000 ningún LED encendido
dig_it3 = 0; / / 0 no = 0000 0000 ningún LED encendido
//
shiftOut (blue_data, blue_clk1, LSBFIRST, dig_it1); //
shiftOut (blue_data, blue_clk2, LSBFIRST, dig_it2); //
shiftOut (blue_data, blue_clk3, LSBFIRST, dig_it3); //
shiftOut (green_data, green_clk1, LSBFIRST, dig_it1); //
shiftOut (green_data, green_clk2, LSBFIRST, dig_it2); //
shiftOut (green_data, green_clk3, LSBFIRST, dig_it3); //
//
dig_it1 = (digits[data_1]);
dig_it2 = (digits[data_2]);
dig_it3 = (digits[data_3]);
shiftOut (red_data, red_clk1, LSBFIRST, dig_it1); //
shiftOut (red_data, red_clk2, LSBFIRST, dig_it2); //
shiftOut (red_data, red_clk3, LSBFIRST, dig_it3); //
//
}
//
//
void green_shift() {}
//
Borra todos los demás dígitos de color primero... caso de justin.
Se trata de cambiar a verde en la pantalla
//
dig_it1 = 0; / / 0 no = 0000 0000 ningún LED encendido
dig_it2 = 0; / / 0 no = 0000 0000 ningún LED encendido
dig_it3 = 0; / / 0 no = 0000 0000 ningún LED encendido
//
shiftOut (red_data, red_clk1, LSBFIRST, dig_it1); //
shiftOut (red_data, red_clk2, LSBFIRST, dig_it2); //
shiftOut (red_data, red_clk3, LSBFIRST, dig_it3); //
shiftOut (blue_data, blue_clk1, LSBFIRST, dig_it1); //
shiftOut (blue_data, blue_clk2, LSBFIRST, dig_it2); //
shiftOut (blue_data, blue_clk3, LSBFIRST, dig_it3); //
//
dig_it1 = (digits[data_1]);
dig_it2 = (digits[data_2]);
dig_it3 = (digits[data_3]);
shiftOut (green_data, green_clk1, LSBFIRST, dig_it1); //
shiftOut (green_data, green_clk2, LSBFIRST, dig_it2); //
shiftOut (green_data, green_clk3, LSBFIRST, dig_it3); //
//
}
//
//
void yellow_shift() {}
//
Borra todos los demás dígitos de color primero... caso de justin.
Esto es para cambiar de puesto amarillo en la pantalla
//
dig_it1 = 0; / / 0 no = 0000 0000 ningún LED encendido
dig_it2 = 0; / / 0 no = 0000 0000 ningún LED encendido
dig_it3 = 0; / / 0 no = 0000 0000 ningún LED encendido
//
shiftOut (blue_data, blue_clk1, LSBFIRST, dig_it1); //
shiftOut (blue_data, blue_clk2, LSBFIRST, dig_it2); //
shiftOut (blue_data, blue_clk3, LSBFIRST, dig_it3); //
//
dig_it1 = (digits[data_1]);
dig_it2 = (digits[data_2]);
dig_it3 = (digits[data_3]);
shiftOut (green_data, green_clk1, LSBFIRST, dig_it1); //
shiftOut (red_data, red_clk1, LSBFIRST, dig_it1); //
shiftOut (green_data, green_clk2, LSBFIRST, dig_it2); //
shiftOut (red_data, red_clk2, LSBFIRST, dig_it2); //
shiftOut (green_data, green_clk3, LSBFIRST, dig_it3); //
shiftOut (red_data, red_clk3, LSBFIRST, dig_it3); //
//
}
//
//
//
//
void color_2_display() {}
//
Configura el color Mostrar
//
Si (tmprtr < = 49) {}
blue_shift(); / / pantalla en azul
}
//
Si (tmprtr > = 50 & & tmprtr < = 59) {}
yellow_shift(); / / Mostrar en amarillo
}
//
Si (tmprtr > = 60 & & tmprtr < = 79) {}
green_shift(); / / Mostrar en verde
}
//
Si (tmprtr > = 80 & & tmprtr < = 89) {}
yellow_shift(); / / Mostrar en amarillo
}
//
Si (tmprtr > = 90) {}
red_shift(); / / Mostrar en rojo
}
//
}
//
//
void get_tmprtr() {}
//
Medir la temperatura y que sea útil
//
tmprtr_read = analogRead(A0);
tmprtr_read = (((tmprtr_read * (5.0/1024.0)) * 100) - 273) * 1.8) + 32);
tmprtr = (tmprtr_read);
//
Si la temperatura es demasiado baja dejarlo en 0
Si (tmprtr_read < = 0) {}
tmprtr = 0;
}
//
}
//
//
//
//
void temp_lvlr() {}
//
Niveles a las lecturas de temperatura un poco
Una nueva lectura es comparada con la última lectura
Si son diferentes se determina que la
temperatura sólo puede aumentar o disminuir en 1 grado
por la lectura.
Esto dejará grandes saltos temporales
//
tmprtr_new = tmprtr; / / obtener una copia de la lectura más reciente
Verifique si la temperatura es mayor
Si (tmprtr_new > tmprtr_old) {}
tmprtr = (tmprtr_old + 1) ;//
tmprtr_old = tmprtr; / /
}
Verifique si la temperatura es más baja
Si (tmprtr_new < tmprtr_old) {}
tmprtr = (tmprtr_old -1) ;//
tmprtr_old = tmprtr; / /
}
Si la temperatura es demasiado baja hacer 0
Si (tmprtr < = 0) {}
tmprtr = 0;
}
//
}
//
//
//
//
convert() vacío {}
//
Convertir la lectura en algo que puede utilizar esta pantalla
//
test_test = tmprtr; //copy contenido test_test para la prueba
Prueba 100s
data_1 = 0; / / borrar el primer dígito 0XX
mientras que (test_test > = 100) {}
test_test = test_test - 100;
data_1 ++; / / primer dígito
}
data_2 = 0; / / borrar el segundo dígito X0X
mientras que (test_test > = 10) {}
test_test = test_test - 10;
data_2 ++; / / segundo dígito
}
data_3 = test_test; / / todo sobrado XX0
Prueba para ver si de 0 y en blanco.
Si (data_1 == 0) {}
data_1 = 10; / / 10 = espacio en blanco en la tabla
}
Si (data_2 == 0) {}
data_2 = 10; / / 10 = espacio en blanco en la tabla
}
//
La prueba final
El número almacenado en test_test está roto
en tres registros
data_1 / / 100
data_2 / / 10
data_3 / / 1
//
}
//
//
//
//
void fun_ky_flash() {}
lazo aquí
Este es mi favorito :)
para (círculo = 0; círculo < 10; círculo ++) {}
//
shiftOut (blue_data, blue_clk3, LSBFIRST, segments[2]); Arriba
shiftOut (red_data, red_clk2, LSBFIRST, segments[2]); Arriba
shiftOut (green_data, green_clk1, LSBFIRST, segments[2]); Arriba
Delay(del_short); //
shiftOut (blue_data, blue_clk3, LSBFIRST, segments[3]); Parte superior izquierda
shiftOut (red_data, red_clk2, LSBFIRST, segments[3]); Parte superior izquierda
shiftOut (green_data, green_clk1, LSBFIRST, segments[3]); Parte superior izquierda
Delay(del_short); //
shiftOut (blue_data, blue_clk3, LSBFIRST, segments[4]); Parte inferior izquierda
shiftOut (red_data, red_clk2, LSBFIRST, segments[4]); Parte inferior izquierda
shiftOut (green_data, green_clk1, LSBFIRST, segments[4]); Parte inferior izquierda
Delay(del_short); //
shiftOut (blue_data, blue_clk3, LSBFIRST, segments[5]); Parte inferior
shiftOut (red_data, red_clk2, LSBFIRST, segments[5]); Parte inferior
shiftOut (green_data, green_clk1, LSBFIRST, segments[5]); Parte inferior
Delay(del_short); //
shiftOut (blue_data, blue_clk3, LSBFIRST, segments[6]); Parte inferior derecha
shiftOut (red_data, red_clk2, LSBFIRST, segments[6]); Parte inferior derecha
shiftOut (green_data, green_clk1, LSBFIRST, segments[6]); Parte inferior derecha
Delay(del_short); //
shiftOut (blue_data, blue_clk3, LSBFIRST, segments[7]); Parte superior derecha
shiftOut (red_data, red_clk2, LSBFIRST, segments[7]); Parte superior derecha
shiftOut (green_data, green_clk1, LSBFIRST, segments[7]); Parte superior derecha
Delay(del_short); //
shiftOut (blue_data, blue_clk3, LSBFIRST, segments[2]); Arriba
shiftOut (red_data, red_clk2, LSBFIRST, segments[2]); Arriba
shiftOut (green_data, green_clk1, LSBFIRST, segments[2]); Arriba
//
//
shiftOut (blue_data, blue_clk2, LSBFIRST, segments[2]); Arriba
shiftOut (red_data, red_clk1, LSBFIRST, segments[2]); Arriba
shiftOut (green_data, green_clk3, LSBFIRST, segments[2]); Arriba
Delay(del_short); //
shiftOut (blue_data, blue_clk2, LSBFIRST, segments[3]); Parte superior izquierda
shiftOut (red_data, red_clk1, LSBFIRST, segments[3]); Parte superior izquierda
shiftOut (green_data, green_clk3, LSBFIRST, segments[3]); Parte superior izquierda
Delay(del_short); //
shiftOut (blue_data, blue_clk2, LSBFIRST, segments[4]); Parte inferior izquierda
shiftOut (red_data, red_clk1, LSBFIRST, segments[4]); Parte inferior izquierda
shiftOut (green_data, green_clk3, LSBFIRST, segments[4]); Parte inferior izquierda
Delay(del_short); //
shiftOut (blue_data, blue_clk2, LSBFIRST, segments[5]); Parte inferior
shiftOut (red_data, red_clk1, LSBFIRST, segments[5]); Parte inferior
shiftOut (green_data, green_clk3, LSBFIRST, segments[5]); Parte inferior
Delay(del_short); //
shiftOut (blue_data, blue_clk2, LSBFIRST, segments[6]); Parte inferior derecha
shiftOut (red_data, red_clk1, LSBFIRST, segments[6]); Parte inferior derecha
shiftOut (green_data, green_clk3, LSBFIRST, segments[6]); Parte inferior derecha
Delay(del_short); //
shiftOut (blue_data, blue_clk2, LSBFIRST, segments[7]); Parte superior derecha
shiftOut (red_data, red_clk1, LSBFIRST, segments[7]); Parte superior derecha
shiftOut (green_data, green_clk3, LSBFIRST, segments[7]); Parte superior derecha
Delay(del_short); //
shiftOut (blue_data, blue_clk2, LSBFIRST, segments[2]); Arriba
shiftOut (red_data, red_clk1, LSBFIRST, segments[2]); Arriba
shiftOut (green_data, green_clk3, LSBFIRST, segments[2]); Arriba
//
//
shiftOut (blue_data, blue_clk1, LSBFIRST, segments[2]); Arriba
shiftOut (red_data, red_clk3, LSBFIRST, segments[2]); Arriba
shiftOut (green_data, green_clk2, LSBFIRST, segments[2]); Arriba
Delay(del_short); //
shiftOut (blue_data, blue_clk1, LSBFIRST, segments[3]); Parte superior izquierda
shiftOut (red_data, red_clk3, LSBFIRST, segments[3]); Parte superior izquierda
shiftOut (green_data, green_clk2, LSBFIRST, segments[3]); Parte superior izquierda
Delay(del_short); //
shiftOut (blue_data, blue_clk1, LSBFIRST, segments[4]); Parte inferior izquierda
shiftOut (red_data, red_clk3, LSBFIRST, segments[4]); Parte inferior izquierda
shiftOut (green_data, green_clk2, LSBFIRST, segments[4]); Parte inferior izquierda
Delay(del_short); //
shiftOut (blue_data, blue_clk1, LSBFIRST, segments[5]); Parte inferior
shiftOut (red_data, red_clk3, LSBFIRST, segments[5]); Parte inferior
shiftOut (green_data, green_clk2, LSBFIRST, segments[5]); Parte inferior
Delay(del_short); //
shiftOut (blue_data, blue_clk1, LSBFIRST, segments[6]); Parte inferior derecha
shiftOut (red_data, red_clk3, LSBFIRST, segments[6]); Parte inferior derecha
shiftOut (green_data, green_clk2, LSBFIRST, segments[6]); Parte inferior derecha
Delay(del_short); //
shiftOut (blue_data, blue_clk1, LSBFIRST, segments[7]); Parte superior derecha
shiftOut (red_data, red_clk3, LSBFIRST, segments[7]); Parte superior derecha
shiftOut (green_data, green_clk2, LSBFIRST, segments[7]); Parte superior derecha
Delay(del_short); //
shiftOut (blue_data, blue_clk1, LSBFIRST, segments[2]); Arriba
shiftOut (red_data, red_clk3, LSBFIRST, segments[2]); Arriba
shiftOut (green_data, green_clk2, LSBFIRST, segments[2]); Arriba
//
//
}
//
}

Artículos Relacionados

Banco Variable 3A fuente de alimentación con lectura digital en pantalla de color con ATMEGA8

Banco Variable 3A fuente de alimentación con lectura digital en pantalla de color con ATMEGA8

Estoy jugando con la electrónica desde que era un niño y numerosos circuitos. Pero aún ahora, no hice ninguna fuente de alimentación para uso general uso. Tan cansado de hacer fuente de alimentación para cada circuito, decidí aprovechar una estable f
Lecturas del sensor de temperatura y presión de Arduino BMP180 en un 1.8" TFT pantalla a color

Lecturas del sensor de temperatura y presión de Arduino BMP180 en un 1.8" TFT pantalla a color

Pantallas gráficas color añaden una nueva dimensión a cómo puede visualizarse la información recopilada por un Arduino sensores. Las pantallas TFT son también muy baratas en comparación con el tipo de LCD.En el sketch de Arduino presenta aquí se mues
Cómo hacer el cambio de pintura color

Cómo hacer el cambio de pintura color

En este tutorial voy a enseñar cómo hacer un cambio de pintura de color. En esta ocasión, he decidido crear una pintura que cambia de color con la temperatura (pigmento).Hay muchas aplicaciones en que se pueden utilizar recubrimientos termocrómicos.
Doble 7 segmentos poco cambio pantalla

Doble 7 segmentos poco cambio pantalla

He creado una doble pantalla de 7 segmentos led controlada por un Arduino a través de dos registros de desplazamiento de 8 bits. La ventaja es que sólo utiliza 3 pines de Arduino. En lugar de utilizar 14 resistencias para los leds utilicé un regulado
Bob Marley intermitente cambio botella de color

Bob Marley intermitente cambio botella de color

¡ Bienvenido a mi primer proyecto de Instructables! Se me ocurrió la idea después de terminar la bebida, que es muy buena :), y he pensado "Hombre, esta botella es demasiado buena tirar". Este proyecto es muy fácil de hacer y sólo toma aproximad
Pantalla de imprimir un póster con varios colores

Pantalla de imprimir un póster con varios colores

me he vuelto totalmente enamorado de impresión de la pantalla desde que tomé la clase básica en TechShop San José.He conseguido bastante bien en la impresión solo proyectos de color, pero pensé que me desafío a mí mismo y aprender a no sólo de la imp
Cambio de lámpara de color

Cambio de lámpara de color

Cosas necesariascambio LED del colorbateríasoporte de la bateríataza de papel (2 tazas)Paso 1: Paso 1ahora conectar el LED a los terminales de la batería y doblar hacia arriba el LEDPaso 2: Paso 2Ahora coloque la batería y LED dentro de una tazaPaso
Cambio de lámpara de botella de color

Cambio de lámpara de botella de color

Fácil, pero colorida lámpara espectacular.Paso 1: Perforar el agujero Para taladrar vidrio necesita a algunos paciente.Lo he hice con una herramienta diamantada, revestido. Herramienta de carburo de tungsteno es muy usable.Enfriamiento con agua es op
Color cambia Larson Scanner

Color cambia Larson Scanner

Video de escáner en acción. Sí, estoy girando manualmente a través de los colores.¿Quien no ama a KITT, el coche del superhéroe de jinete de la noche? El uno con la luz brillante que despide de un escáner de Larson en el frente. Este escáner fue tan
BRICOLAJE TV de pantalla LCD con Arduino y mando a distancia inteligente

BRICOLAJE TV de pantalla LCD con Arduino y mando a distancia inteligente

En los pasos siguientes, usted hacer un DIY "TV" con el código para un smart remote y realmente vídeos y posiblemente incluso conectar el mando a distancia inteligente a la placa de base real.Materiales:Espejo de papelEstabilizador sólido y no f
Caída hoja pantalla

Caída hoja pantalla

Hola a todos! Yo soy el Sr. sin talento y este es mi primer "arte" implicadas en el proyecto. Así que estoy bastante seguro de que esta lámpara podría haber sido algo mucho más bonito pero es algo que yo todavía estoy un poco orgulloso :)Es una
Aprovechar al máximo su calibrador de pantalla

Aprovechar al máximo su calibrador de pantalla

¿tienes un dispositivo de calibración de monitor? ¿Se ha preguntado si lo podía hacer mejor que el software del fabricante que escupe un perfil de prueba de 30 parches en 5 minutos? ¿Quiero hacerlo en Linux, Mac OS X y Windows? ¿Creo que debo dejar d
Reloj de Color TFT de Arduino

Reloj de Color TFT de Arduino

Usted puede estar familiarizado con un sitio web en el Reino Unido llamado reloj de color (http://thecolourclock.co.uk/) que convierte el tiempo en un valor hexadecimal y luego utiliza ese valor para actualizar el color de fondo. Es muy hipnótico y c
Huevos de Pascua que brillan y cambian de Color

Huevos de Pascua que brillan y cambian de Color

Huevos de Pascua brillan y cambian de ColorCansado de usar los mismo huevos plástico viejo para la caza del huevo de Pascua año tras año. Hacer algo diferente y tiene una búsqueda de huevos de Pascua en la oscuridad! Este Instructable le mostrará cóm