Home Made Mood Lamp: 6 ขั้นตอน
Home Made Mood Lamp: 6 ขั้นตอน
Anonim
Image
Image

Una Mood Lamp es una lámpara a las cual le puedes Personalizar el color de la luz A Continuación se muestra como puedes hacer una con un Kit de principiantes de Arduino และ materiales caseros.

ขั้นตอนที่ 1: วัสดุ

- 3 Potenciómetros de 10 kΩ

- ความต้านทาน 4 ที่ 210Ω

- 1 บอต

- 1 เซ็นเซอร์ DHT11

- 1 สวิตช์ SDSP

- 1 LED RGB

- 1 โปรโตบอร์ด

- Arduino 1

- 27 Jumpers มาโชมาโช

- Plancha de duroport

- ซิลิกอน

- Objeto que sirva de bombilla

- Cautín (ไม่จำเป็น)

- Estaño (ไม่จำเป็น)

ขั้นตอนที่ 2: โครงสร้าง

ไดอะแกรม Esquemático
ไดอะแกรม Esquemático

พาซอส:

-1 Cortar una caja con la plancha de duroport, doblarla y pegarla สามมิติ

-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 ฐาน alrededor de la LED RGB

-4 Pegar la bombilla.

ขั้นตอนที่ 3: Diagrama Esquemático

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

ขั้นตอนที่ 4: แผนภาพ De Flujo

ไดอะแกรม De Flujo
ไดอะแกรม De Flujo

เอสเตไดอะแกรมของ flujo muestra la lógica y el sentido del funcionamiento del proyecto

Esta lámpara tiene dos modos de funcionamiento. อย่างเป็นทางการ 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 color mide la temperedatury del habientura ข้อมูลเอสตา

ขั้นตอนที่ 5: Código

เอลไดอะแกรมของ flujo tracido a código es el siguiente:

// Librería de sensor DHT11 en pin 10#include "DHT.h"

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

// กำหนดหมุด #define BLUE 3 #define GREEN 5 #define RED 6

// กำหนดตัวแปร const int buttonPin = 8; int buttonState = 0; int lastButtonState = 0; จำนวน int = 1;

// Función de inicialización การตั้งค่าโมฆะ () { Serial.begin (9600); Serial.println(F("DHT11 TEST")); dht.begin();

โหมดพิน (สีแดง, เอาต์พุต); โหมดพิน (สีเขียว, เอาต์พุต); โหมดพิน (สีน้ำเงิน, เอาต์พุต);

pinMode (ปุ่มพิน, อินพุต);

}

// Programación del estado del botón วงเป็นโมฆะ () { buttonState = digitalRead (buttonPin); if (buttonState ==HIGH && lastButtonState ==LOW){ if (นับ == 0){ M(); นับ = 1; } อื่น ๆ { A(); นับ = 0; } } //Mantener activo un modo a la vez lastButtonState = buttonState; ถ้า (นับ== 0){ M(); } อื่น ๆ { A(); } }

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

// Assignar un potenciómetro a cada color del RGB analogWrite(สีน้ำเงิน, B); analogWrite (สีแดง, R); analogWrite (สีเขียว, G);

}

// Programación del modo automático void A(){ // Toma de temperatura y humedad ล่าช้า (500); ลอย h = dht.readHumidity(); float t = dht.readTemperature();

// Mapear la información de temperatura a humedad int HPMW = map(h, 0, 1024, 0, 255); int TPMW = แผนที่ (t, 0, 1024, 0, 255);

// ตัวแปร única con la Información anterior int y = (HPMW + TPMW);

// Conidción para cambiar de color if (y <29) { analogWrite (RED, 18); analogWrite (สีน้ำเงิน 73); analogWrite (สีเขียว 4); } อื่น ๆ { analogWrite (RED, 191); analogWrite (สีน้ำเงิน, 8); analogWrite (สีเขียว 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")); กลับ;

// Mostrar la información del sensor en el monitor serial Serial.print(F("Humedad: ")); Serial.print(h); Serial.print(F("% อุณหภูมิ: ")); Serial.print(t); Serial.print(F("°C ")); Serial.println(y);

}

}

También se puede descargar aqui: