Índice:

Lâmpada de humor feita em casa: 6 etapas
Lâmpada de humor feita em casa: 6 etapas

Vídeo: Lâmpada de humor feita em casa: 6 etapas

Vídeo: Lâmpada de humor feita em casa: 6 etapas
Vídeo: GRU VIROU TUBARÃO E SE REVOLTOU 2024, Novembro
Anonim
Image
Image

Una Mood Lamp es una lámpara a las cual le puedes personalizar el color de la luz. A continuação se muestra como puedes hacer una con un Kit de principiantes de Arduino y materiales caseros.

Etapa 1: materiais

- 3 Potenciómetros de 10 kΩ

- 4 resistencias de 210Ω

- 1 botón

- 1 sensor DHT11

- 1 Switch SDSP

- 1 LED RGB

- 1 protoboard

- Arduino 1

- 27 Jumpers macho-macho

- Plancha de duroport

- Silicón

- Objeto que sirva de bombilla

- Cautín (opcional)

- Estaño (opcional)

Etapa 2: construção

Diagrama Esquemático
Diagrama Esquemático

Pasos:

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

-2 Cortar os agujeros para os 3 potenciómetros, o botão, o LED RGB, o sensor DHT11, o cabo de energia e o interrumptor.

-3 Hacer una base alrededor de la LED RGB.

-4 Pegar la bombilla.

Etapa 3: Diagrama Esquemático

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

Etapa 4: Diagrama De Flujo

Diagrama De Flujo
Diagrama De Flujo

Este diagrama de fluxo muestra a lógica e o sentido do funcionamento do projeto.

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 a esta información.

Etapa 5: Código

O diagrama de flujo tracido um código é o siguiente:

// Biblioteca do sensor DHT11 en pino 10 # incluem "DHT.h"

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

// definir pinos #define AZUL 3 #define VERDE 5 #define VERMELHO 6

// variáveis definidas const int buttonPin = 8; int buttonState = 0; int lastButtonState = 0; contagem interna = 1;

// Função de inicialização void setup () {Serial.begin (9600); Serial.println (F ("TESTE DHT11")); dht.begin ();

pinMode (RED, OUTPUT); pinMode (VERDE, SAÍDA); pinMode (AZUL, SAÍDA);

pinMode (buttonPin, INPUT);

}

// Programação do estado do botão void loop () {buttonState = digitalRead (buttonPin); if (buttonState == HIGH && lastButtonState == LOW) {if (count == 0) {M (); contagem = 1; } else {A (); contagem = 0; }} // Mantener activo un modo à la vez lastButtonState = buttonState; if (contagem == 0) {M (); } else {A (); }}

// Programação do modo manual void M () {int B = analogRead (A3); int R = AnalRead (A5); int G = analogRead (A0);

// Atribuir um potenciômetro a cada cor do RGB analogWrite (BLUE, B); analogWrite (RED, R); analogWrite (VERDE, G);

}

// Programação do modo automático void A () {// Toma de temperatura y humedad delay (500); float h = dht.readHumidity (); float t = dht.readTemperature ();

// Mapear a informação de temperatura a humedad int HPMW = map (h, 0, 1024, 0, 255); int TPMW = mapa (t, 0, 1024, 0, 255);

// Variável única com a informação anterior int y = (HPMW + TPMW);

// Conidción para cambiar de color if (y <29) {analogWrite (RED, 18); analogWrite (AZUL, 73); analogWrite (VERDE, 4); } else {analogWrite (RED, 191); analogWrite (AZUL, 8); analogWrite (VERDE, 106); }

// Manejo de erro na toma de humedad y temperatura if (isnan (h) || isnan (t)) {Serial.println (F ("Error en la lectura del sensor")); Retorna;

// Mostrar a informação do sensor no 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 descargar aquí:

Recomendado: