Sadržaj:

Domaća svjetiljka za raspoloženje: 6 koraka
Domaća svjetiljka za raspoloženje: 6 koraka

Video: Domaća svjetiljka za raspoloženje: 6 koraka

Video: Domaća svjetiljka za raspoloženje: 6 koraka
Video: Moj posao je promatrati šumu i ovdje se događa nešto čudno. 2024, Novembar
Anonim
Image
Image

Una Mood Lamp je jedna od najboljih svjetskih personaliziranih boja u boji. Nastavak se muestra como puedes hacer una con un Kit de principiantes de Arduino y materiales caseros.

Korak 1: Materijali

- 3 potenciometra od 10 kΩ

- 4 otpornosti od 210 Ω

- 1 boton

- 1 senzor DHT11

- 1 Prebacite SDSP

- 1 LED RGB

- 1 Protoboard

- Arduino 1

- 27 Džemperi mačo-mačo

- Plancha de duroport

- Silicijum

- Objeto que sirva de bombilla

- Cautín (opcionalno)

- Estaño (opcionalno)

Korak 2: Konstrukcija

Diagrama Esquemático
Diagrama Esquemático

Pasos:

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

-2 Kortator za napajanje sa 3 potenciometra, na botu, sa LED RGB, senzorom DHT11, kablom za napajanje i prekidačem.

-3 Hacer una base alrededor de la LED RGB.

-4 Pegar la bombilla.

Korak 3: Diagrama Esquemático

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

Korak 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 botton puedes cambiar al modo automático, el cual mide la temperatura i humedad del habiente y emite luz con un color acorde a esta información.

Korak 5: Código

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

// Librería de sensor DHT11 en pin 10#include "DHT.h"

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

// definitivni pinovi #define BLUE 3 #define GREEN 5 #define RED 6

// definitivne varijable const int buttonPin = 8; int buttonState = 0; int lastButtonState = 0; int broj = 1;

// Funkcija početne inicijalizacije void setup () {Serial.begin (9600); Serial.println (F ("DHT11 TEST")); dht.begin ();

pinMode (CRVENO, OUTPUT); pinMode (ZELENO, OUTPUT); pinMode (PLAVI, OUTPUT);

pinMode (buttonPin, INPUT);

}

// Programiranje osnovnog statusa void loop () {buttonState = digitalRead (buttonPin); if (buttonState == HIGH && lastButtonState == LOW) {if (count == 0) {M (); count = 1; } else {A (); count = 0; }} // Aktiviranje načina rada sa modom lastButtonState = buttonState; if (broj == 0) {M (); } else {A (); }}

// Programiranje modo ručnog void M () {int B = analogRead (A3); int R = analogRead (A5); int G = analogRead (A0);

// Asignar un potenciómetro and cada color of RGB analogWrite (BLUE, B); analogWrite (CRVENO, R); analogWrite (ZELENO, G);

}

// Programiranje modo automatskog void A () {// Toma de temperature y humedad delay (500); float h = dht.readHumidity (); float t = dht.readTemperature ();

// Podaci o temperaturi i humanoj vrijednosti HPMW = karta (h, 0, 1024, 0, 255); int TPMW = karta (t, 0, 1024, 0, 255);

// Promjenjiva vrijednost sa prethodnom int y = (HPMW + TPMW);

// Conidción para cambiar de color if (y <29) {analogWrite (RED, 18); analogWrite (PLAVO, 73); analogWrite (ZELENO, 4); } else {analogWrite (CRVENO, 191); analogWrite (PLAVO, 8); analogWrite (ZELENO, 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")); return;

// Podaci o senzoru i monitoru serijskog 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í:

Preporučuje se: