Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Una Mood Lamp on ainulaadne ja kohandatud värvidega. A Continueción se muestra como puedes hacer una con un Kit de principiantes de Arduino y materiales caseros.
Samm: materjalid
- 3 võimsust 10 kΩ
- 4 takistust 210Ω
- 1 bot
- 1 andur DHT11
- 1 Lülitage SDSP
- 1 LED RGB
- 1 protoboard
- Arduino 1
- 27 džemprid macho-macho
- Plancha de duroport
- Silicón
- Objeto que sirva de bombilla
- Cautín (optsioon)
- Estaño (valikuline)
2. samm: ehitamine
Pasos:
-1 Cortar una caja con la plancha de duroport, doblarla y pegarla kolmemõõtmeline.
-2 Cortar los agujeros para los 3 potentsiosmetros, bot, LED RGB, DHT11 andur, energiakaabel ja vaheseade.
-3 Hacer, millel on LED -RGB baas.
-4 Pegar la bombilla.
3. samm: Diagrama Esquemático
Ainulaadne ainulaadne koostisosade esitlus:
Samm: 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 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 esta informatsioon.
Samm: Código
Flujo tracido diagrama ja código es eliguur:
// Anduri DHT11 ja pin 10#tasuta lisad "DHT.h"
#define DHTPIN 10 #define DHTTYPE DHT11 // DHT 11 DHT dht (DHTPIN, DHTTYPE);
// definir pins #define BLUE 3 #define GREEN 5 #define RED 6
// define muutujad const int nuppPin = 8; int buttonState = 0; int lastButtonState = 0; int loend = 1;
// Función de inicialización void setup () {Serial.begin (9600); Serial.println (F ("DHT11 TEST")); dht.begin ();
pinMode (PUNANE, VÄLJUND); pinMode (ROHELINE, VÄLJUND); pinMode (SININE, VÄLJUND);
pinMode (buttonPin, INPUT);
}
// Programación del estado del botón void loop () {buttonState = digitalRead (buttonPin); if (buttonState == HIGH && lastButtonState == LOW) {if (count == 0) {M (); loendus = 1; } muu {A (); loendus = 0; }} // Mantener activo un modo a la vez lastButtonState = buttonState; kui (loend == 0) {M (); } muu {A (); }}
// Programación del modo manual void M () {int B = analogRead (A3); int R = analogRead (A5); int G = analogRead (A0);
// RGB analogWrite (SININE, B) värvide ja võimaluste määramine; analogWrite (RED, R); analogWrite (GREEN, G);
}
// Programación del modo automático void A () {// Toma de temperatura y humedad delay (500); ujuk h = dht.readHumidity (); ujuk t = dht.readTemperature ();
// Mapear la informationción de temperatura a humedad int HPMW = map (h, 0, 1024, 0, 255); int TPMW = kaart (t, 0, 1024, 0, 255);
// Variable única con la informationción anterior int y = (HPMW + TPMW);
// Conidción para cambiar de color if (y <29) {analogWrite (RED, 18); analogWrite (SININE, 73); analogWrite (GREEN, 4); } else {analogWrite (RED, 191); analogWrite (SININE, 8); analogWrite (GREEN, 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")); tagasipöördumine;
// Andurite info ja seeria jadaseeriad.print (F ("Humedad:")); Seeriatrükk (h); Serial.print (F ("% temperatuur:")); Jadajälg (t); Seeriatrükk (F ("° C")); Seeria.println (y);
}
}
También se puede descargar aquí: