Sommario:

Lampada d'atmosfera fatta in casa: 6 passaggi
Lampada d'atmosfera fatta in casa: 6 passaggi

Video: Lampada d'atmosfera fatta in casa: 6 passaggi

Video: Lampada d'atmosfera fatta in casa: 6 passaggi
Video: 6 paralumi e un po' di ovatta animano qualsiasi festa 2024, Luglio
Anonim
Image
Image

Una Mood Lamp es una lámpara a las cual le puedes personalizar el color de la luz. Una continuazione della musica come può essere una con un kit di principiante di Arduino e caseros di materiale.

Passaggio 1: materiale

- 3 Potenziometri da 10 kΩ

- 4 resistenze da 210Ω

- 1 bottone

- 1 sensore DHT11

- 1 Switch SDSP

- 1 LED RGB

- 1 scheda prototipi

- Arduino 1

- 27 Maglioni macho-macho

- Plancha de duroport

- Silicone

- Objeto que sirva de bombilla

- Cautín (opzionale)

- Estano (opzionale)

Fase 2: Costruzione

Diagrama Esquemático
Diagrama Esquemático

passi:

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

-2 Corrisponde a 3 potenziometri, il pulsante, il LED RGB, il sensore DHT11, il cavo di alimentazione e l'interruttore.

-3 Hacer una base simile al LED RGB.

-4 Pegar la bombilla.

Fase 3: Diagrama Esquemático

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

Fase 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 modes 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 una esta información.

Passaggio 5: codice

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

// Libreria del sensore DHT11 nel pin 10#include "DHT.h"

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

// definir pin #define BLUE 3 #define GREEN 5 #define RED 6

// variabili definite const int buttonPin = 8; int buttonState = 0; int lastButtonState = 0; int conteggio = 1;

// Funzione di inizializzazione void setup() { Serial.begin(9600); Serial.println(F("TEST DHT11")); dht.begin();

pinMode(ROSSO, USCITA); pinMode(VERDE, USCITA); pinMode(BLU, USCITA);

pinMode(pulsantePin, INPUT);

}

// Programmazione dello stato del pulsante void loop() { buttonState = digitalRead(buttonPin); if (buttonState ==HIGH && lastButtonState ==LOW){ if (count == 0){ M(); conteggio = 1; } altrimenti { A(); conteggio = 0; } } //Mantenere attivo un modo alla volta lastButtonState = buttonState; if (conta== 0){ M(); } altrimenti{ A(); } }

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

// Assegna un potere a un colore del colore RGB analogWrite(BLUE, B); analogWrite(ROSSO, R); analogWrite(VERDE, G);

}

// Programmazione del modo automatico void A(){ // Toma de temperatura y humedad delay(500); float h = dht.readHumidity(); float t = dht.readTemperature();

//Mapear l'informazione di temperatura a humedad int HPMW = map(h, 0, 1024, 0, 255); int TPMW = map(t, 0, 1024, 0, 255);

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

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

// Mostra le informazioni del sensore nel 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í:

Consigliato: