Tartalomjegyzék:

Házi hangulatjelző lámpa: 6 lépés
Házi hangulatjelző lámpa: 6 lépés

Videó: Házi hangulatjelző lámpa: 6 lépés

Videó: Házi hangulatjelző lámpa: 6 lépés
Videó: Kiderült: Így keresi a pénzét PSGOgli7 2024, November
Anonim
Image
Image

Az Una Mood Lamp egy univerzális lámpa, amely személyre szabja a színeket. A Continuación se muestra como puedes hacer una con Un Kit de principiantes de Arduino y materiales caseros.

1. lépés: Anyagok

- 3 Potenciómetros de 10 kΩ

- 4 ellenállás 210Ω

- 1 bot

- 1 érzékelő DHT11

- 1 Kapcsolja az SDSP -t

- 1 LED RGB

- 1 Protoboard

- Arduino 1

- 27 jumper macho-macho

- Plancha de duroport

- Silicón

- Objeto que sirva de bombilla

- Cautín (opcionális)

- Estaño (opcionális)

2. lépés: Konstrukció

Diagrama Esquemático
Diagrama Esquemático

Passz:

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

-2 Cortar los agujeros para los 3 potenciametros, bot, LED RGB, DHT11 szenzor, energia és kábel interfész.

-3 Hacer alapú LED RGB.

-4 Pegar la bombilla.

3. lépés: Diagrama Esquemático

Aquí se presenta la unión física de todos los komponensek:

4. lépés: 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. 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 a esta información.

5. lépés: Código

Flujo tracido diagrama és código es el siguiente:

// A DHT11 szenzor Libreríaa de DHT11 en pin 10#include "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 változók const int gombPin = 8; int buttonState = 0; int lastButtonState = 0; int count = 1;

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

pinMode (PIROS, KIMENET); pinMode (ZÖLD, KIMENET); pinMode (KÉK, KIMENET);

pinMode (buttonPin, INPUT);

}

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

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

// Asignar un potenciómetro a cada color del RGB analogWrite (BLUE, B); analogWrite (PIROS, R); analogWrite (ZÖLD, 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 = map (h, 0, 1024, 0, 255); int TPMW = térkép (t, 0, 1024, 0, 255);

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

// Conidción para cambiar de color if (y <29) {analogWrite (RED, 18); analogWrite (KÉK, 73); analogWrite (ZÖLD, 4); } else {analogWrite (PIROS, 191); analogWrite (KÉK, 8); analogWrite (ZÖLD, 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")); Visszatérés;

// A legtöbb információ a szenzorról és a monitor Serial.print (F ("Humedad:")); Soros.nyomat (h); Sorozatnyomat (F ("% hőmérséklet:")); Soros.nyomat (t); Soros.nyomat (F ("° C")); Soros.println (y);

}

}

También se puede descargar aquí:

Ajánlott: