Indholdsfortegnelse:

Hjemmelavet stemningslampe: 6 trin
Hjemmelavet stemningslampe: 6 trin

Video: Hjemmelavet stemningslampe: 6 trin

Video: Hjemmelavet stemningslampe: 6 trin
Video: Hjemmelavet tomatsovs 2024, November
Anonim
Image
Image

Una Mood Lamp er en unik mulighed for personlig tilpasning af farverne. A continuación se muestra como puedes hacer una con un Kit de principiantes de Arduino y materiales caseros.

Trin 1: Materialer

- 3 Potenciómetros de 10 kΩ

- 4 modstande på 210Ω

- 1 bot

- 1 sensor DHT11

- 1 switch SDSP

- 1 LED RGB

- 1 Protoboard

- Arduino 1

- 27 Jumpere macho-macho

- Plancha de duroport

- Silikone

- Objeto que sirva de bombilla

- Cautín (valgfrit)

- Estaño (valgfrit)

Trin 2: Konstruktion

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 los 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.

Trin 3: Diagrama Esquemático

Vi kan præsentere en enhed, der er baseret på følgende komponenter:

Trin 4: Diagrama De Flujo

Diagram over De Flujo
Diagram over De Flujo

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

Esta lámpara tiene dos modos de funcionamiento. De la formamanual puedes escoger el color que tú quieras manipulando las luces de color rojo, verde y azul con tres potenciómetros, y con un botón puedes cambiar al modo automático, el cual mide la temperatura y humedad del habiente y emite luz con un color acorde en information.

Trin 5: Kodning

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

// Librería de sensor DHT11 og pin 10#inkluderer "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

// definitionsvariabler const int buttonPin = 8; int buttonState = 0; int lastButtonState = 0; int tæller = 1;

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

pinMode (RØD, OUTPUT); pinMode (GRØN, OUTPUT); pinMode (BLÅ, OUTPUT);

pinMode (buttonPin, INPUT);

}

// Programación del estado del botón void loop () {buttonState = digitalRead (buttonPin); if (buttonState == HIGH && lastButtonState == LOW) {if (count == 0) {M (); count = 1; } andet {A (); count = 0; }}} // Mantener activo un modo a la vez lastButtonState = buttonState; hvis (count == 0) {M (); } andet {A (); }}

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

// Betegnelse for en farve og farve i RGB analogWrite (BLÅ, B); analogWrite (RØD, R); analogWrite (GRØN, G);

}

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

// Oplysninger om temperatur og humedad i HPMW = map (h, 0, 1024, 0, 255); int TPMW = map (t, 0, 1024, 0, 255);

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

// Conidción para cambiar de color if (y <29) {analogWrite (RØD, 18); analogWrite (BLÅ, 73); analogWrite (GRØN, 4); } else {analogWrite (RØD, 191); analogWrite (BLÅ, 8); analogWrite (GRØN, 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")); Vend tilbage;

// Information om sensorer og monitorer seriel 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 download aquí:

Anbefalede: