Innehållsförteckning:

Hemgjord humörlampa: 6 steg
Hemgjord humörlampa: 6 steg

Video: Hemgjord humörlampa: 6 steg

Video: Hemgjord humörlampa: 6 steg
Video: Fredrik Wikingsson upptäcker nya grejjer 2024, November
Anonim
Image
Image

Una Mood Lamp är en unik modell för personliga färger. A continuación se muestra como puedes hacer una con un Kit de principiantes de Arduino y materiales caseros.

Steg 1: Material

- 3 Potenciómetros de 10 kΩ

- 4 motstånd på 210Ω

- 1 bot

- 1 sensor DHT11

- 1 switch SDSP

- 1 LED RGB

- 1 Protoboard

- Arduino 1

- 27 hoppare macho-macho

- Plancha de duroport

- Silikon

- Objeto que sirva de bombilla

- Cautín (valfritt)

- Estaño (valfritt)

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

Steg 3: Diagrama Esquemático

Här kan du läsa mer om de olika komponenterna:

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

Steg 5: Kodning

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

// Librería de sensor DHT11 och pin 10#inkluderar "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 count = 1;

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

pinMode (RÖD, UTGÅNG); pinMode (GRÖN, UTGÅNG); pinMode (BLÅ, UTGÅNG);

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; } annat {A (); count = 0; }}} // Mantener activo un modo a la vez lastButtonState = buttonState; if (count == 0) {M (); } annat {A (); }}

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

// Ange en potential för 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 ();

// Information om temperatur och humedad int HPMW = map (h, 0, 1024, 0, 255); int TPMW = karta (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 (RED, 18); analogWrite (BLÅ, 73); analogWrite (GRÖN, 4); } annat {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")); lämna tillbaka;

// Mostrar la información del sensor and 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 ladda ner vatten:

Rekommenderad: