Spisu treści:

Domowa lampa nastrojowa: 6 kroków
Domowa lampa nastrojowa: 6 kroków

Wideo: Domowa lampa nastrojowa: 6 kroków

Wideo: Domowa lampa nastrojowa: 6 kroków
Wideo: Odc. 53 - Lampy LED do naświetlania roślin. Dobry sposób na przezimowanie cytrusów. 2024, Wrzesień
Anonim
Image
Image

Una Mood Lamp to jedna z lamp, które pozwalają na personalizację światła i koloru światła. A continuación se muestra como puedes hacer una con un un kit de principiantes de Arduino y materiales caseros.

Krok 1: Materiały

- 3 Potencjometry 10 kΩ

- 4 rezystory 210Ω

- 1 boton

- 1 czujnik DHT11

-1 przełącznik SDSP

- 1 dioda LED RGB

- 1 płyta prototypowa

- Arduino 1

- 27 skoczków macho-macho

- Plancha de duroport

- Krzem

- Objeto que sirva de bombilla

- Cautín (opcjonalnie)

- Estańo (nieobowiązkowo)

Krok 2: Budowanie

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.

Krok 3: Diagrama Esquemático

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

Krok 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 y humedy un emite acord habiente temperatura a esta información.

Krok 5: Kodigo

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

// Biblioteka czujnika DHT11 i pin 10#zawiera "DHT.h"

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

// definiuj piny #define NIEBIESKI 3 #define ZIELONY 5 #define CZERWONY 6

// zmienne zdefiniowane const int buttonPin = 8; int Stan przycisku = 0; int lastButtonState = 0; liczba int = 1;

// Funkcja inicjacji void setup() { Serial.begin(9600); Serial.println(F("TEST DHT11")); dht.początek();

pinMode (CZERWONY, WYJŚCIE); pinMode(ZIELONY, WYJŚCIE); pinMode (NIEBIESKI, WYJŚCIE);

pinMode(buttonPin, INPUT);

}

// Programowanie stanu bota void loop() { buttonState = digitalRead(buttonPin); if (buttonState ==HIGH && lastButtonState ==LOW){ if (count == 0){ M(); liczba = 1; } inny { A(); liczba = 0; } } //Mantener activo un modo a la vez lastButtonState = buttonState; if (liczba== 0){ M(); } inny{ A(); } }

// Ręczne programowanie modu void M(){ int B = analogRead(A3); int R = odczyt analogowy (A5); int G = odczyt analogowy(A0);

// Asignar un potenciómetro a cada color del RGB analogWrite(BLUE, B); analogZapis(CZERWONY, R); analogZapis(ZIELONY, G);

}

// Programación del modo automático void A(){ // Toma de temperatura y humedad delay(500); float h = dht.odczytWilgotność(); float t = dht.odczytTemperatura();

//Mapear la información de temperatura a humedad int HPMW = mapa(h, 0, 1024, 0, 255); int TPMW = mapa(t, 0, 1024, 0, 255);

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

// Conidción para cambiar de color if (y <29){ analogWrite(RED, 18); analogZapis(NIEBIESKI, 73); analogZapis(ZIELONY, 4); }else { analogWrite(RED, 191); analogZapis(NIEBIESKI, 8); analogZapis(ZIELONY, 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")); powrót;

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

}

}

También se puede descargar aquí:

Zalecana: