Isi kandungan:

Lampu Suasana Buatan Rumah: 6 Langkah
Lampu Suasana Buatan Rumah: 6 Langkah

Video: Lampu Suasana Buatan Rumah: 6 Langkah

Video: Lampu Suasana Buatan Rumah: 6 Langkah
Video: Design rumah minimalis || Rooftop with angin kenceng 2024, November
Anonim
Image
Image

Una Mood Lamp es una lámpara a las cual le puedes personalizar el color de la luz. Komen yang berterusan dan terus menerus dibaca oleh Kit de Principiantes de Arduino y materiales caseros.

Langkah 1: Bahan

- 3 Potenciómetros de 10 kΩ

- 4 resistencias de 210Ω

- 1 boton

- 1 sensor DHT11

- 1 Tukar SDSP

- 1 RGB LED

- 1 Protoboard

- Arduino 1

- 27 pelompat macho-macho

- Plancha de duroport

- Silicón

- Objeto que sirva de bombilla

- Cautín (pilihan)

- Estaño (pilihan)

Langkah 2: Konstruksikan

Gambar rajah Esquemático
Gambar rajah 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.

Langkah 3: Diagrama Esquemático

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

Langkah 4: Diagrama De Flujo

Gambar rajah De Flujo
Gambar rajah De Flujo

Gambar rajah 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 temperatura y humedad del habiente y emite luz con un color acorde maklumat terkini.

Langkah 5: Código

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

// Librería de sensor DHT11 dan pin 10 # termasuk "DHT.h"

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

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

// pemboleh ubah pasti const int buttonPin = 8; int buttonState = 0; int lastButtonState = 0; kiraan int = 1;

// Función de inicialización batal persediaan () {Serial.begin (9600); Serial.println (F ("UJIAN DHT11")); dht.begin ();

pinMode (MERAH, OUTPUT); pinMode (HIJAU, OUTPUT); pinMode (BIRU, OUTPUT);

pinMode (buttonPin, INPUT);

}

// Programación del estado del botón gelung kosong () {buttonState = digitalRead (buttonPin); if (buttonState == TINGGI && lastButtonState == RENDAH) {if (hitung == 0) {M (); kiraan = 1; } lain {A (); kiraan = 0; }} // Mantener activo un modo a la vez lastButtonState = buttonState; jika (kiraan == 0) {M (); } lain {A (); }}

// Programación del modo manual batal M () {int B = analogRead (A3); int R = analogRead (A5); int G = analogRead (A0);

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

}

// Programación del modo automático batal A () {// Toma de temperatura y humedad delay (500); apungan h = dht.readHumidity (); terapung t = dht.readTemperature ();

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

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

// Conidción para cambiar de color if (y <29) {analogWrite (RED, 18); analogWrite (BIRU, 73); analogWrite (HIJAU, 4); } lain {analogWrite (MERAH, 191); analogWrite (BIRU, 8); analogWrite (HIJAU, 106); }

// Manejo de error en la toma de humedad y temperatura if (isnan (h) || isnan (t)) {Serial.println (F ("Kesalahan en la lectura del sensor")); kembali;

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

}

}

También se puede descargar aquí:

Disyorkan: