Talaan ng mga Nilalaman:

Home Made Mood Lamp: 6 na Hakbang
Home Made Mood Lamp: 6 na Hakbang

Video: Home Made Mood Lamp: 6 na Hakbang

Video: Home Made Mood Lamp: 6 na Hakbang
Video: 11 идей как сделать сказочный домик-светильник своими руками из бутылок, стеклянных банок, картона 2024, Nobyembre
Anonim
Image
Image

Una Mood Lamp es una lámpara a las cual le puedes personalizar el color de la luz. Ang isang pagpapatuloy ay maaari kang mag-isip ng isang tagapag-alaga ng Arduino at mga materyal na caseros.

Hakbang 1: Mga Materyales

- 3 Potenciómetros de 10 kΩ

- 4 resistencias de 210Ω

- 1 botón

- 1 sensor DHT11

- 1 Lumipat SDSP

- 1 LED RGB

- 1 Protoboard

- Arduino 1

- 27 Jumpers macho-macho

- Plancha de duroport

- Silicón

- Mag-isip ng sirva de bombilla

- Cautín (opcional)

- Estaño (opcional)

Hakbang 2: Construcción

Diagrama Esquemático
Diagrama Esquemático

Pasos:

-1 Cortar una caja con la plancha de duroport, doblarla y pegarla tridimensionalmente.

-2 Cortar los agujeros para sa 3 potenciómetros, el botón, la LED RGB, el sensor DHT11, el cable de energía y el interrumptor.

-3 Hacer una base alrededor de la LED RGB.

-4 Pegar la bombilla.

Hakbang 3: Diagrama Esquemático

Narito ang isang union física de todos los mga bahagi:

Hakbang 4: Diagrama De Flujo

Diagrama De Flujo
Diagrama De Flujo

Este diagrama de flujo muestra la lógica y el sentido del funcionamiento del proyecto.

Esta lámpara tiene dos modos de funcionamiento. Ang pormularyo ng mga tagapag-ugnay na ito ay may kulay na kulay sa pamamagitan ng pagmamanupaktura ng kulay rojo, verde y azul con tres potenciómetros, y un un botón puedes cambiar al modo automático, el cual mide la temperatura at humedad del habiente y emite luz con un color acorde isang esta información.

Hakbang 5: Código

El diagrama de flujo tracido a código es el siguiente:

// Libraryería de sensor DHT11 en pin 10 # isama ang "DHT.h"

#define DHTPIN 10 #define DHTTYPE DHT11 // DHT 11 DHT dht (DHTPIN, DHTTYPE);

// definir pins #define BLUE 3 #define GREEN 5 #define RED 6

// definit variable na int int buttonPin = 8; int buttonState = 0; int lastButtonState = 0; int count = 1;

// Función de inicialización void setup () {Serial.begin (9600); Serial.println (F ("DHT11 TEST")); dht.begin ();

pinMode (PULA, OUTPUT); pinMode (GREEN, OUTPUT); pinMode (BLUE, OUTPUT);

pinMode (buttonPin, INPUT);

}

// Programación del estado del botón void loop () {buttonState = digitalRead (buttonPin); kung (buttonState == MATAAS && last ButtonState == LOW) {kung (count == 0) {M (); bilangin = 1; } iba pa {A (); bilangin = 0; }} // Mantener activo un modo a la vez last ButtonState = buttonState; kung (bilangin == 0) {M (); } iba pa {A (); }}

// Programación del modo manual void M () {int B = analogRead (A3); int R = analogRead (A5); int G = analogRead (A0);

// Asignar un potenciómetro a cada color del RGB analogWrite (BLUE, B); analogWrite (RED, R); analogWrite (GREEN, G);

}

// Programación del modo automático void A () {// Toma de temperatura y humedad delay (500); float h = dht.readHumidity (); float t = dht.readTemperature ();

// Mapear la información de temperatura a humedad int HPMW = mapa (h, 0, 1024, 0, 255); int TPMW = mapa (t, 0, 1024, 0, 255);

// Variable única con la información anterior int y = (HPMW + TPMW);

// Conidción para cambiar de color kung (y <29) {analogWrite (RED, 18); analogWrite (BLUE, 73); analogWrite (GREEN, 4); } iba pa {analogWrite (RED, 191); analogWrite (BLUE, 8); analogWrite (GREEN, 106); }

// Manejo de error en la toma de humedad y temperatura if (isnan (h) || isnan (t)) {Serial.println (F ("Error en la lectura del sensor")); bumalik;

// Mostrar la información del sensor en el monitor serial Serial.print (F ("Humedad:")); Serial.print (h); Serial.print (F ("% Temperatura:")); Serial.print (t); Serial.print (F ("° C")); Serial.println (y);

}

}

También se puede descargar aquí:

Inirerekumendang: