Inhaltsverzeichnis:

Hausgemachte Stimmungslampe - Gunook
Hausgemachte Stimmungslampe - Gunook
Anonim
Image
Image

Una Mood Lamp ist eine Lampe mit einer ganz persönlichen Personalisierung und Farbe von luz. A Continuación se muestra como puedes hacer una con ein Kit de principiantes de Arduino y materiales caseros.

Schritt 1: Materialien

- 3 Potenziómetros de 10 kΩ

- 4 Widerstände von 210Ω

- 1 Boton

- 1 Sensor DHT11

- 1 Schalter SDSP

- 1 LED-RGB

- 1 Protoboard

- Arduino 1

- 27 Pullover Macho-Macho

- Plancha de duroport

- Silizium

- Objeto que sirva de bombilla

- Cautín (optional)

- Estaño (optional)

Schritt 2: Konstruktion

Diagramm Esquemático
Diagramm Esquemático

Schritte:

-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 de energía y el interrumptor.

-3 Hacer auf einer Basis von LED RGB.

-4 Pegar la bombilla.

Schritt 3: Diagramm Esquemático

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

Schritt 4: Diagramm von Flujo

Flujo-Diagramm
Flujo-Diagramm

Este diagrama de flujo muestra la lógica und 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 del y encorde humed humy eine esta información.

Schritt 5: Código

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

// Librería de Sensor DHT11 und Pin 10 #include "DHT.h"

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

// Definir-Pins #define BLAU 3 #define GRÜN 5 #define ROT 6

// Variablen definieren const int buttonPin = 8; int buttonState = 0; int lastButtonState = 0; int-Zählung = 1;

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

pinMode (ROT, AUSGANG); pinMode (GRÜN, AUSGANG); pinMode (BLAU, AUSGANG);

pinMode (buttonPin, INPUT);

}

// Programmación del estado del botón void loop () {buttonState = digitalRead (buttonPin); if (buttonState ==HIGH && lastButtonState ==LOW){ if (count == 0){ M(); zählen = 1; aufrechtzuerhalten. Sonst {A(); zählen = 0; } } //Mantener activo un modo a la vez lastButtonState = buttonState; Wenn (Anzahl = = 0) { M (); aufrechtzuerhalten. Sonst {A(); } }

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

// Zuordnen eines Potenziometers und einer Farbe von RGB analogWrite (BLAU, B); analogWrite (ROT, R); analogWrite (GRÜN, 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 temperature a humedad int HPMW = map(h, 0, 1024, 0, 255); int TPMW = map(t, 0, 1024, 0, 255);

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

// Conidción para cambiar de color if (y <29) {analogWrite (RED, 18); analogWrite (BLAU, 73); analogWrite (GRÜN, 4); } sonst { analogWrite (ROT, 191); analogWrite (BLAU, 8); analogWrite (GRÜN, 106); }

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

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

}

}

También se puede descargar aquí:

Empfohlen: