İçindekiler:

Ev Yapımı Mood Lambası: 6 Adım
Ev Yapımı Mood Lambası: 6 Adım

Video: Ev Yapımı Mood Lambası: 6 Adım

Video: Ev Yapımı Mood Lambası: 6 Adım
Video: Solunum Maketi Yapımı ( Fen Bilimleri 6. Sınıf Solunum Deneyi ) 2024, Kasım
Anonim
Image
Image

Una Mood Lamp, son zamanlarda kişiselleştirilmiş bir renktir. Arduino ve Materyalleri'nin temel ilkelerinin bir devamı niteliğindedir.

Adım 1: Malzemeler

- 10 kΩ için 3 Potenciometros

- 210Ω için 4 direnç

- 1 boton

- 1 sensör DHT11

- 1 Anahtar SDSP

- 1 LED RGB

- 1 Protokol

- Arduino 1

- 27 Süveter maço-maço

- Plancha de duroport

- Silikon

- Objeto que sirva de bombilla

- Cautín (isteğe bağlı)

- Estaño (isteğe bağlı)

Adım 2: İnşaat

Diyagram Esquematico
Diyagram Esquematico

Paso:

-1 Cortar una caja con la plancha de duroport, doblarla y pegarla üç boyutlumente.

-2 Cortar los agujeros para los 3 potenciómetros, el botón, la LED RGB, el sensörü DHT11, el kablosu de enerji ve engelleyici.

-3 Hacer baz alredor de la LED RGB.

-4 Pegar la bombilla.

Adım 3: Şema Esquemático

Aquí se presenta la unión física de todos los bileşenleri:

Adım 4: Diyagram De Flujo

Diyagram De Flujo
Diyagram De Flujo

En iyi diyagrama de flujo muestra la lógica ve en iyi şekilde işlev gördü.

Daha fazla bilgi edinin. Renkleri değiştirmenin en iyi yollarından biridir. bir esta bilgi.

Adım 5: Codigo

El diagrama de flujo tracido bir código es el siguente:

// Sensör DHT11 ve pin 10#include "DHT.h" sensör kütüphanesi

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

// pin tanımla #BLUE 3 tanımla #YEŞİL tanımla 5 #KIRMIZI tanımla 6

// tanımlı değişkenler const int buttonPin = 8; int düğmeDurumu = 0; int lastButtonState = 0; int sayı = 1;

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

pinMode(KIRMIZI, ÇIKIŞ); pinMode(YEŞİL, ÇIKIŞ); pinMode(MAVİ, ÇIKIŞ);

pinMode(buttonPin, INPUT);

}

// void loop'u programlamak için programlama() { buttonState = digitalRead(buttonPin); if (buttonState ==HIGH && lastButtonState ==LOW){ if (sayım == 0){ M(); sayı = 1; } başka { A(); sayı = 0; } } //Mantener etkinleştirme ve modo a la vez lastButtonState = buttonState; if (sayım== 0){ M(); } başka{ A(); } }

// Programlama del modo manual void 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(KIRMIZI, R); analogWrite(YEŞİL, G);

}

// Programlama del modo automático void A(){ // Sıcaklık kontrolü ve gecikme gecikmesi(500); float h = dht.readHumidity(); float t = dht.readTemperature();

// Sıcaklığı en iyi şekilde göster int HPMW = harita(h, 0, 1024, 0, 255); int TPMW = harita(t, 0, 1024, 0, 255);

// Değişken única con la información anterior int y = (HPMW + TPMW);

// Conidción para cambiar de color if (y <29){ analogWrite(RED, 18); analogWrite(MAVİ, 73); analogWrite(YEŞİL, 4); }else { analogWrite(RED, 191); analogWrite(MAVİ, 8); analogWrite(YEŞİL, 106); }

// Manejo de error en la toma de humedad y temperatura if (isnan(h) || isnan(t)) { Serial.println(F("Hata en la lectura del sensor")); dönüş;

// Mostrar la bilgi sensörü en el monitör seri Serial.print(F("Humedad: ")); Seri.baskı(h); Serial.print(F("% Sıcaklık: ")); Seri.baskı(t); Serial.print(F("°C ")); Seri.println(y);

}

}

También se puede indir aquí:

Önerilen: