Daftar Isi:

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

Video: Lampu Suasana Hati Buatan Rumah: 6 Langkah

Video: Lampu Suasana Hati Buatan Rumah: 6 Langkah
Video: NYOBA BIKIN LAMPU TIDUR ALA PINTEREST👺 2024, November
Anonim
Image
Image

Una Mood Lamp es una lámpara a las cual le puedes personalizar el color de la luz. Sebuah kelanjutan dari perangkat lunak untuk Arduino y materiales caseros.

Langkah 1: Materi

- 3 Potenciómetro de 10 kΩ

- 4 resistencias de 210Ω

- 1 boton

- 1 sensor DHT11

- 1 Saklar SDSP

- 1 LED RGB

- 1 Protoboard

-Arduino 1

- 27 Jumper macho-macho

-Plancha de duroport

- silikon

- Objeto que sirva de bombilla

- Cautín (opsional)

- Estaño (opsional)

Langkah 2: Konstruksi

Diagrama Esquemático
Diagrama Esquemático

Paso:

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

-2 Cortar los agujeros para los 3 potensi, el botón, la LED RGB, el sensor DHT11, el kabel de energi dan 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

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 formanual 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 temperatur a y humedad color emite del habiente con sebuah esta informasi.

Langkah 5: Codigo

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);

// menentukan pin #menentukan BIRU 3 #menentukan HIJAU 5 #menentukan MERAH 6

// variabel pasti const int buttonPin = 8; int keadaan tombol = 0; int lastButtonState = 0; int jumlah = 1;

// Fungsikan inicialización void setup() { Serial.begin(9600); Serial.println(F("UJI DHT11")); dht.mulai();

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

pinMode(tombolPin, INPUT);

}

// Programación del estado del botón void loop() { buttonState = digitalRead(buttonPin); if (buttonState ==HIGH && lastButtonState ==LOW){ if (hitung == 0){ M(); menghitung = 1; } lain { A(); menghitung = 0; } } //Mantener activo un modo a la vez lastButtonState = buttonState; jika (hitung== 0){ M(); } lain{ A(); } }

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

// Tetapkan potensi untuk warna kada del RGB analogWrite(BLUE, B); analogWrite(MERAH, R); analogWrite(HIJAU, G);

}

// Programación del modo automático void A(){ // Toma de temperatur y humedad delay(500); float h = dht.readHumidity(); float t = dht.readTemperature();

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

// Variabel 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); }else { analogWrite(RED, 191); analogWrite(BIRU, 8); analogWrite(HIJAU, 106); }

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

// Paling banyak informasi dan sensor dan monitor serial Serial.print(F("Humedad: ")); Serial.print(h); Serial.print(F("% Temperatur: ")); Serial.print(t); Serial.print(F("°C")); Serial.println(y);

}

}

También se puede descargar aquí:

Direkomendasikan: