Arco iris ambiente reloj (2 / 3 paso)

Paso 2: Esquemas y programación...

Usted puede construir este proyecto de varias maneras según esquemas.

Puede utilizar un protoboard, pero también puede pegar todas las piezas (juntas) detrás del anillo del led y su cara en un sandwich como moda separado por doble cinta adhesiva de cara (fotos de esto vendrá por aquí pronto). Uno puede también construir su propio impreso para albergar todas las piezas.

He decidido utilizar un usb integrado arduino nano por la facilidad de proporcionar energía a la unidad. Una versión más pequeña y más compacta podría construirse usando un convertidor de USB a TTL como éste debajo de ebay, pero tendría que encontrar una manera alternativa para proporcionar energía (5Volts) porque después de programar el arduino, el convertidor TTL tiene que ir:

Archivo de programación contiene anotaciones para su comprensión.

Hay varias bibliotecas para DS3231 por ahí, así que estoy ofreciendo aquí que utilizo. También nota que usted puede encontrar una versión de DHT11 ya incluye R1 (generalmente se sienta en un pequeño tablero y no es un componente crudo). En este caso omitir R1.

Así puede reunir todas las piezas como se indica y programa tu arduino con el ordenador. Si usted decide utilizar el módulo mini sin puerto usb, luego puede Desconecte y quite el adaptador TTL. Esto le ahorra espacio y energía.

Código:

< p > #include //I2C comunicación biblioteca < br > #include "ds3231.h" //Real reloj biblioteca #include //Fast llevó la biblioteca #include //DHT humedad-temperatura sensor < /p >< p > #define LED_PIN 5 //Control pin para LEDs #define COLOR_ORDER GRB //Define color protocolo #define CHIPSET WS2811 //Chipset para WS2811 #define NUM_LEDS 12 //Declare número de leds #define brillo 35 //Declare llevó brillo < /p >< p > dht DHT; Inicializar el pin de //Data #define DHT11_PIN 2 DHT para DHT < /p >< p > CRGB leds [NUM_LEDS]; Número de conocimientos de leds sistema < /p >< p > ora bytes; Hora variable byte mindec; Diez minutos variable byte minmon; Unidad minutos bytes variable segundos = 0; Counter1 de variable int segundos; Variable contador para datos idex int = 0; Variable para arco iris índice int ihue = 0; Variable para la temperatura de flotador de color arco iris; Temperatura humedad int variable; Variable de humedad < /p >< p > void setup() {FastLED.addLeds (leds, NUM_LEDS); FastLED.setBrightness (brillo); Serial.Begin(9600); Inicializar el puerto serie Wire.begin(); Inicializar la biblioteca de comunicación I2C DS3231_init(0x00); Inicializar el reloj en tiempo Real para salida de onda cuadrada de 1 Hz pinMode (8, entrada); Pin set para botón hora/fecha para entrada digitalWrite (8, alto); Activar resistencias de pullup pinMode (9, entrada); Pin set para fecha/hora ajuste botón introducir digitalWrite (9, alto); Encienda resistencias de pullup //Initialize sistema con un arco iris para (int i = 0; i < 12; i ++) {rainbow();} para (int j = 0; j < 12; j ++) {LED [j] = CRGB::Black; FastLED.delay(100);} } < /p >< p > void loop() {if((DS3231_get_addr(0x0E) & 0 x 20) == 0){DS3231_init(0x20);} temperatura de sensor de temperatura //Init = DS3231_get_treg(); //Get temperatura de RTC estructura ts t; //Structure para recuperar y almacenar datos de tiempo de RTC DS3231_get(&t), //Get momento de t estructura int chk = DHT.read11(DHT11_PIN); //Obtain variable de humedad de humedad de línea de datos = DHT.humidity; //Get humedad y tienda a mindec variable = 0; //Initialize variable para diez minutos minmon = 0; //Initialize variable de minutos unidad < /p >< p > FastLED.clear(); Claro todos Mostrar tiempo real //Displaying si (t.hour > = 12) {LED [t.hour-12] = CRGB::Blue; ora=t.hour-12;} else {leds[t.hour]= CRGB::Blue; ora=t.hour;} si (t.min < 10 & & t.min!=0) {leds[t.min]=CRGB::Yellow;minmon=(t.min);} otro {mindec=int((t.min/10)*2); minmon=(t.min-((mindec/2)*10)); si (mindec == minmon & & minmon! = 0) {LED [mindec] = CRGB::Orange;} otro {leds [mindec] = CRGB :: Rojo, leds [minmon] = CRGB::Yellow; Si (minmon == 0) {LED [minmon] = CRGB::Black;}} } //Correcting superposición de colores/indicaciones si (ora == minmon) {leds [ora] = CRGB::Green;} si (ora == mindec) {leds [ora] = CRGB::Purple;} si (ora == minmon & & ora == mindec) {leds [ora] = CRGB::White;} //Toggle segundos segundos efecto si (segundos == 0) {.nscale8 leds[int(t.sec/5)]=CRGB::DimGrey;leds[int(t.sec/5)] (64); segundos ++;} persona {segundos--;} FastLED.show(); Delay(800); counter1 ++; Aumentar el contador para la visualización de temp/hum si (counter1 > 70) {//Time hasta la pantalla de temperatura y humedad counter1 = 0; //Initialize contador siguiente datos Mostrar //Display temperatura si (temperatura < = 0) {para (int j = NUM_LEDS; j > = 0; j--) {LED [j] = CRGB::White; leds[j].nscale8(64); delay(20);}} Bajo cero tempratures aparecen en fondo blanco más {para (int j = NUM_LEDS; j > = 0; j--) {leds [j] = CRGB::Green; leds[j].nscale8(64);delay(20);}} si (temperatura < 10) {leds[int(temperature)] = CRGB::Yellow;} otro {mindec=int((temperature/10)); minmon=(temperature-(mindec*10)); si (mindec == minmon) {LED [mindec] = CRGB::Orange;} otro {leds [mindec] = CRGB::Red; leds [minmon] = CRGB::Yellow;}} FastLED.show(); Mostrar temperatura en fondo verde para delay(4000) 4 segs; Humedad para la exhibición (int j = NUM_LEDS; j > = 0; j--) {leds [j] = CRGB::Teal; leds[j].nscale8(48);delay(20);} si (humedad < 10) {leds[int(humidity)] = CRGB::Yellow;} más {mindec=int((humidity/10)); minmon=(humidity-(mindec*10)); si (mindec == minmon) {leds [mindec] = CRGB::Orange;} otro {leds [mindec] = CRGB::Red; leds [minmon] = CRGB::Yellow;}} FastLED.show(); Mostrar humedad en fondo verde azulado para delay(4000) 4 seg; Llamada de efecto de arco iris para (int i = 0; i < 12; i ++) {rainbow();} para (int j = 0; j < 12; j ++) {LED [j] = CRGB::Black; FastLED.delay(100);} } / / Tiempo con botones < /p >< p > if(!digitalRead(8) & & digitalRead(9)) {//Increment hora si mantiene el pulsador dowm delay(100); //100ms de retardo para evitar accidental botón disparo t.hour = t.hour + 1; //Increment la hora si (t.hour > 23){t.hour=0;} Wire.beginTransmission(DS3231_I2C_ADDR); Wire.Write(2); Wire.Write((t.hour/10*16)+(t.hour%10)); Wire.endTransmission(); } < /p >< p > Si ()
! digitalRead(9) & & digitalRead(8)) {//Increment minutos si mantiene el botón de abajo delay(100); //100ms de retardo para evitar accidental botón disparo t.min t.min = 1; //Increment minutos si (t.min > 59){t.min=0;} Wire.beginTransmission(DS3231_I2C_ADDR); Wire.Write(1); Wire.Write((t.min/10*16)+(t.min%10)); Wire.endTransmission(); } < /p >< p > if(!digitalRead(9) & &! digitalRead(8)) {//Reset segundos si ambos botones pulsado delay(100); //100ms retraso para evitar accidental botón disparo t.sec = 0; //Reset segundos Wire.beginTransmission(DS3231_I2C_ADDR); Wire.Write(0); Wire.Write((t.sec/10*16)+(t.sec%10)); Wire.endTransmission(); } < /p >< p >} < /p >< p > rainbow() void //Rainbow función {idex ++; ihue = ihue + 22; si (idex > = NUM_LEDS) {idex = 0;} si (ihue > = 255) {ihue = 0;} leds[idex]=CHSV(ihue,255,255); FastLED.show(); FastLED.delay(100); } < /p >

Artículos Relacionados

Arco iris Neo reloj

Arco iris Neo reloj

Este reloj fue hecho como regalo pero estaba tan contento con lo que pensé que haría un instructable para él. El reloj utiliza 2 Neo Pixel anillos de Adafruit Industries , así como el microcontrolador Arduino Mini Pro y un Reloj de tiempo Real DS1307
Reloj 3D arco iris

Reloj 3D arco iris

Siempre he tenido una cosa para relojes inusuales y por lo tanto me encuentro siempre lo que sea para vender o como regalos. Y seamos sinceros, 'Relojes' son algo que es muy esencial en cada habitación! Sé que algunos dirán que tengo mi teléfono, per
Cómo hacer un reloj de alarma de arco iris de arcilla

Cómo hacer un reloj de alarma de arco iris de arcilla

este instyructable le mostrará cómo hacer un reloj de alarma de arco iris con la plastilina!!Paso 1: materiales Cualquier color de la arcilla que deseaPaso 2: Hacer los números: 1 Tomar una pieza de barro y hacer una pequeña línea recta.Paso 3: Hacer
Malla reloj de arena de arco iris telar

Malla reloj de arena de arco iris telar

Hola todos hoy les mostraré cómo hacer una pulsera de reloj de arena trenza telar del arco iris. Esto es lo que pasa cuando no apriete una trenza.Paso 1:No le dirá cuántas bandas necesitaDebido a la muñeca de todos tamaño es diferente.Pero voy a util
Arco iris Tie-Dye abrigo seda

Arco iris Tie-Dye abrigo seda

Proyecto de abrigo de seda de Tie-Dye de arco iris! Una manera simple de hacer algo especialmente agradable. ¿Donde mas puede usted conseguir atado en nudos, teñido, poner en agua caliente, que salen incluso más hermosa que antes? Aquí!Esta técnica s
Cómo hacer girar un hilo degradado arco iris

Cómo hacer girar un hilo degradado arco iris

Este Instructable demostrará cómo dar vuelta un hilo degradado. Un hilo degradado es uno donde el cambio de colores uniformemente de un color a otro y cada color se presenta una vez. En contraste con otros hilos multicolores donde cada color aparece
Pastel de helado arco iris

Pastel de helado arco iris

Pastel de helado son yummilicious congelados tratar. Sin duda, es gran éxito en todas las edades. Ayer hice este helado arco iris para mi hijo. Ella lo ama mucho :) Ella se siente atraída por los colores que utilicé en el pastel. Esto hice con sabor
Pulsera de Starburst de telar del arco iris

Pulsera de Starburst de telar del arco iris

Paso 1: fuentes de Los suministros que usted necesitará es el telar de arco iris haciendo juego, usted necesitará algunos elásticos.Paso 2: Colocar las bandas Empezar tomando el color más atrevido, un puesto que por un lado de la Junta.Paso 3: Coloca
Fuera de este mundo arco iris pastel experiencia

Fuera de este mundo arco iris pastel experiencia

Ingredientes:propagación de 500g de girasol o mantequilla, a temperatura ambiente500g de azúcar impalpable500g de harina self-raising10 huevos, a temperatura ambienteColores de comida de pasta de gel en azul, verde, amarillo, naranja y rosaPara el gl
Arco iris mantequilla

Arco iris mantequilla

Mantequilla es un ingrediente muy versátil y ha ganado su lugar en cada hogar. Cuando el concurso de arco iris, tengo esta idea de hacer mantequilla de arco iris y me alegro de que finalmente hice hoy. El resultado es tan bonito y lindo, apenas caí e
RainBoard - RGB LED arco iris Fader

RainBoard - RGB LED arco iris Fader

Nota: he fijado la confusión con algunos de los cables en los pasos 10 y 17 pasos. Algunos de los diagramas (el tablero ilustrado) son incorrectos, por favor asegúrese de seguir los esquemas y como siempre, edificio feliz!Introducción de la RainBoard
Lazos de frutas tarta de queso: una forma diferente para hornear un arco iris pastel de queso

Lazos de frutas tarta de queso: una forma diferente para hornear un arco iris pastel de queso

quería mostrar a la comunidad de instructables cómo fácilmente hornear un pastel desde cero. Mi inspiración vino de arco iris pastel de queso de Tolstoi78. ¡ Gracias!!!!!!Paso 1: El equipo adecuadoLa pieza más importante de equipos para la cocción de
Pastel arco iris la colmena torta

Pastel arco iris la colmena torta

esto oh tan bonito pastel arco iris la colmena la torta toma un poco de tiempo para armar, pero el factor wow, una vez que termine es así vale la pena. Puede utilizar glaseado y paquete mix pasteles o preparar sus propias recetas favoritas y luego só
Arco iris Tutu

Arco iris Tutu

primero, me encanta el arco iris. Mi compañera tiene un dicho, "mi color favorito es el arco iris". A menudo desafía a mí mismo para sacar combinaciones de colores y se profundizó en un nuevo medio recientemente - el mundo de Tul!Este año para H