Cuprins:

Lampă Home Mood: 6 pași
Lampă Home Mood: 6 pași

Video: Lampă Home Mood: 6 pași

Video: Lampă Home Mood: 6 pași
Video: Cum suna vocea lui Velea in realitate 2024, Noiembrie
Anonim
Image
Image

Una Mood Lamp es una lámpara la cual te poți personaliza el color de la luz. A continuación se sample as you can make one with a Kit de principiantes de Arduino y materiales caseros.

Pasul 1: Materiale

- 3 Potenciómetros de 10 kΩ

- 4 rezistențe de 210Ω

- 1 buton

- 1 senzor DHT11

- 1 comutator SDSP

- 1 LED RGB

- 1 Protoboard

- Arduino 1

- 27 jumperi macho-macho

- Plancha de duroport

- Silicon

- Objeto que sirva de bombilla

- Cautín (opțional)

- Estaño (opțional)

Pasul 2: Construcție

Diagrama Esquemático
Diagrama Esquemático

Pasos:

-1 Cortar o cutie cu plancha de duroport, doblarla și pegarla tridimensională.

-2 Cortează agujeros pentru 3 potențiatori, buton, LED RGB, senzor DHT11, cablu de energie și interrumptor.

-3 Hacer o bază în jurul LED-ului RGB.

-4 Pegar la bombilla.

Pasul 3: Diagrama Esquemático

Aici se prezintă uniunea fizică a tuturor componentelor:

Pasul 4: Diagrama De Flujo

Diagrama De Flujo
Diagrama De Flujo

Este diagrama de flujo mostră la logică și sensul funcționării proiectului.

Această lămpară are două moduri de funcționare. De la formamanual puteți escoger el color care tú quieras manipulando las luces de color rojo, verde și azul cu trei potențiometri, și cu un buton puteți schimba modul automat, cu orice temperatură și umiditate a locului și emite lumină cu un color acorde a esta información.

Pasul 5: Cod

Diagrama flujo a fost trasată la codul următor:

// Libreria de senzor DHT11 în 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

// defin variabile const int buttonPin = 8; int buttonState = 0; int lastButtonState = 0; int count = 1;

// Funcția de inițializare void setup () {Serial.begin (9600); Serial.println (F ("DHT11 TEST")); dht.begin ();

pinMode (RED, OUTPUT); pinMode (VERDE, IEȘIRE); pinMode (ALBASTRU, IEȘIRE);

pinMode (buttonPin, INPUT);

}

// Programarea stării butonului void loop () {buttonState = digitalRead (buttonPin); if (buttonState == HIGH && lastButtonState == LOW) {if (count == 0) {M (); număr = 1; } else {A (); număr = 0; }} // Mantener activo un modo a la vez lastButtonState = buttonState; if (count == 0) {M (); } else {A (); }}

// Programarea modului manual void M () {int B = analogRead (A3); int R = analogRead (A5); int G = analogRead (A0);

// Asignare un potenciómetro la fiecare culoare a RGB analogWrite (BLUE, B); analogWrite (RED, R); analogWrite (VERDE, 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 the information de temperatura a humedad int HPMW = map (h, 0, 1024, 0, 255); int TPMW = hartă (t, 0, 1024, 0, 255);

// Variable única with the information anterior int y = (HPMW + TPMW);

// Concepție pentru schimbarea culorii if (y <29) {analogWrite (RED, 18); analogWrite (ALBASTRU, 73); analogWrite (VERDE, 4); } else {analogWrite (RED, 191); analogWrite (ALBASTRU, 8); analogWrite (VERDE, 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")); întoarcere;

// Afișați informația senzorului pe monitorul serial Serial.print (F ("Humedad:")); Serial.print (h); Serial.print (F ("% Temperatura:")); Serial.print (t); Serial.print (F ("° C")); Serial.println (y);

}

}

De asemenea, se poate descărca aici:

Recomandat: