Оглавление:

Лампа для самодельного настроения: 6 шагов
Лампа для самодельного настроения: 6 шагов

Видео: Лампа для самодельного настроения: 6 шагов

Видео: Лампа для самодельного настроения: 6 шагов
Видео: #4 Лампы ДНАТ, ЭСЛ, LED: краткий обзор / Mr.GrowChannel 2024, Ноябрь
Anonim
Image
Image

Una Mood Lamp - это лазерная лампа, которая позволяет персонализировать цвета в лучах света. Продолжение се муэстра como puedes hacer una con un Kit de Principiantes de Arduino y materiales caseros.

Шаг 1: Materiales

- 3 потенциала 10 кОм

- 4 сопротивления 210 Ом

- 1 ботон

- 1 датчик DHT11

- 1 коммутатор SDSP

- 1 светодиод RGB

- 1 Протоборд

- Ардуино 1

- 27 джемперов мачо-мачо

- Планча-де-дюропор

- Силикон

- Objeto que sirva de bombilla

- Каутин (опционально)

- Estaño (опционально)

Шаг 2: Конструкция

Diagrama Esquemático
Diagrama Esquemático

Пасос:

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

-2 Cortar los agujeros для 3-х потенциометров, el botón, la LED RGB, el sensor DHT11, el cable de energía y el interrumptor.

-3 Hacer - это базовый светодиодный индикатор RGB.

-4 Пегар ла бомбилья.

Шаг 3: Diagrama Esquemático

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

Шаг 4: Diagrama De Flujo

Diagrama De Flujo
Diagrama De Flujo

Это диаграмма-де-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 манипуландо las luces de color rojo, verde y azul con tres потенциометры, 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 a esta información.

Шаг 5: Código

El diagrama de 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 count = 1;

// Функция инициализации void setup () {Serial.begin (9600); Serial.println (F ("ТЕСТ DHT11")); dht.begin ();

pinMode (КРАСНЫЙ, ВЫХОД); pinMode (ЗЕЛЕНЫЙ, ВЫХОД); pinMode (СИНИЙ, ВЫХОД);

pinMode (buttonPin, ВВОД);

}

// Программа запуска ботона void loop () {buttonState = digitalRead (buttonPin); если (buttonState == HIGH && lastButtonState == LOW) {если (count == 0) {M (); count = 1; } else {A (); count = 0; }} // Человек активен в режиме работы lastButtonState = buttonState; если (счетчик == 0) {M (); } else {A (); }}

// Ручная программа для режима void M () {int B = analogRead (A3); int R = аналоговое чтение (A5); int G = аналоговое чтение (A0);

// Назначение потенциометра кадра цвета RGB analogWrite (СИНИЙ, B); analogWrite (КРАСНЫЙ, КРАСНЫЙ); analogWrite (ЗЕЛЕНЫЙ, G);

}

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

// Отображение информации о температуре в humedad int HPMW = map (h, 0, 1024, 0, 255); int TPMW = карта (t, 0, 1024, 0, 255);

// Переменная связана с предшествующей информацией int y = (HPMW + TPMW);

// Определение цвета if (y <29) {analogWrite (RED, 18); analogWrite (СИНИЙ, 73); analogWrite (ЗЕЛЕНЫЙ, 4); } else {analogWrite (КРАСНЫЙ, 191); analogWrite (СИНИЙ, 8); analogWrite (ЗЕЛЕНЫЙ, 106); }

// Исправление ошибки при работе с температурой if (isnan (h) || isnan (t)) {Serial.println (F ("Error en la lectura del sensor")); возвращение;

// Основная информация о датчике на последовательном мониторе Serial.print (F ("Humedad:")); Серийный отпечаток (ч); Serial.print (F ("% температуры:")); Serial.print (t); Serial.print (F («° C»)); Serial.println (y);

}

}

También se puede descargar aquí:

Рекомендуемые: