Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
Una Mood Lamp është una lámpara a las cual le puedes personalizar el ngjyra e la luz. Një vazhdimësi e veprimtarisë së tij mund të krijojë një mundësi unike në Kit de principiantes de Arduino y materiales caseros.
Hapi 1: Materialet
- 3 Potenciometra nga 10 kΩ
- 4 rezistenca prej 210Ω
- 1 boton
- 1 sensor DHT11
- 1 Kaloni SDSP
- 1 LED RGB
- 1 Protoboard
- Arduino 1
- 27 kërcyes macho-macho
- Plancha de duroport
- silikon
- Objecto que sirva de bombilla
- Cautín (opcional)
- Estaño (opcional)
Hapi 2: Ndërtimi
Pasos:
-1 Cortar una caja con la plancha de duroport, doblarla y pegarla tridimensionalmente.
-2 Korrigjimet e përdorimit për 3 humbje të mundshme, në bot, në LED RGB, në sensor DHT11, në kabllo të energjisë dhe ndërprerës.
-3 Hacer una bazë alrededor de la LED RGB.
-4 Pegar la bombilla.
Hapi 3: Diagrama Esquemático
Aquí se presenta la unión física de todos los componentes:
Hapi 4: Diagrama De Flujo
Kjo diagrama e 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 dhe humedad del habiente y emite luz con un color acord një informacion informativ.
Hapi 5: Código
Diagrami i rrjedhës së trafikimit të një kodi i përdorimit është një siguiente:
// Libreria e sensorit DHT11 dhe pin 10#përfshijnë "DHT.h"
#define DHTPIN 10 #define DHTTYPE DHT11 // DHT 11 DHT dht (DHTPIN, DHTTYPE);
// definoni kunjat #përcaktoni BLU 3 #përcaktoni GREEN 5 #përcaktoni KUQ 6
// ndryshoret e përcaktuara const int buttonPin = 8; butoni int Shteti = 0; int lastButtonState = 0; int numërimi = 1;
// Funksioni i inicializimit të pavlefshëm të konfigurimit () {Serial.begin (9600); Serial.println (F ("DHT11 TEST")); dht.filloj ();
pinMode (e kuqe, dalje); pinMode (E gjelbër, e dalë); pinMode (BLUE, OUTPUT);
pinMode (buttonPin, INPUT);
}
// Programación del estado del botón void loop () {buttonState = digitalRead (buttonPin); if (buttonState == LART && lastButtonState == LOW) {if (numëroni == 0) {M (); numërimi = 1; } tjetër {A (); numërimi = 0; }} // Mantener activo un modo a la vez lastButtonState = buttonState; nëse (numëroni == 0) {M (); } tjetër {A (); }}
// Programación 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 (KUQ, R); analogWrite (GREEN, G);
}
// Programación del modo automático void A () {// Toma de temperatura y humedad vonesë (500); noton h = dht.readHumidity (); noton t = dht.readTemperatura ();
// Mapear la información de temperatura a humedad int HPMW = hartë (h, 0, 1024, 0, 255); int TPMW = harta (t, 0, 1024, 0, 255);
// Variabla connica con la información anterior int y = (HPMW + TPMW);
// Conidción para cambiar de color nëse (y <29) {analogWrite (KUQ, 18); analogWrite (BLUE, 73); analogWrite (GREEN, 4); } else {analogWrite (KUQ, 191); analogWrite (BLUE, 8); analogWrite (GREEN, 106); }
// Manejo de error en la toma de humedad y temperatura if (isnan (h) || isnan (t)) {Serial.println (F ("Gabim në lectura del sensor")); kthim;
// Shumica e informacionit të sensorit dhe monitorit serial Serial.print (F ("Humedad:")); Serial.print (h); Serial.print (F ("% Temperatura:")); Serial.print (t); Serial.print (F ("° C")); Serial.println (y);
}
}
También pu puede descargar aquí: