תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
מנורת מצב הרוח U una lampara a las cual le puedes personalizar el color de la luz. המשך של כל המאמרים יכול להיות una con un Kit de principiantes de Arduino y materiales caseros.
שלב 1: חומרים
- 3 Potenciómetros de 10 kΩ
- 4 התנגדות של 210Ω
- 1 בוטון
- חיישן DHT11
- מתג SDSP אחד
- 1 RGB LED
- 1 פרוטובארד
- ארדואינו 1
- 27 מגשרים מאצ'ו מאצ'ו
- פלאנצ'ה דה דורופורט
- סיליקון
- Objeto que sirva de bombilla
- קאוטין (אופציונלי)
- Estaño (אופציונלי)
שלב 2: בנייה
פאסוס:
-1 Cortar una caja con la plancha de duroport, doblarla y pegarla tridimensionalmente.
-2 Cortar los agujeros for los 3 potenciómetros, el botón, la LED RGB, el sensor DHT11, el cable de energía y el interrumptor.
-3 Hacer una base alrededor de la RGB LED.
-4 פגר לה בומבלה.
שלב 3: תרשים Esquemático
ניתן להציג בפנינו את המרכיבים הבאים:
שלב 4: תרשים דה פלוג'ו
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 מידע אודותינו.
שלב 5: Código
El diagrama de flujo tracido a código es el siguiente:
// Librería de sensor DHT11 ופין 10#כולל "DHT.h"
#define DHTPIN 10 #define DHTTYPE DHT11 // DHT 11 DHT dht (DHTPIN, DHTTYPE);
// הגדר סיכות #הגדר כחול 3 #הגדר ירוק 5 #הגדר אדום 6
// משתנים defin defin const int buttonPin = 8; int buttonState = 0; int lastButtonState = 0; int int = 1;
// הגדרת בטל הפונקציה של הרשאה () {Serial.begin (9600); Serial.println (F ("בדיקת DHT11")); dht.begin ();
pinMode (אדום, פלט); pinMode (ירוק, פלט); pinMode (כחול, פלט);
pinMode (buttonPin, INPUT);
}
// תכנית del estado del botón לולאת ריק () {buttonState = digitalRead (buttonPin); if (buttonState == HIGH && lastButtonState == LOW) {if (count == 0) {M (); ספירה = 1; } אחר {A (); ספירה = 0; }}} // Mantener activo un modo a la vez lastButtonState = buttonState; אם (count == 0) {M (); } אחר {A (); }}
// Programación del modo 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 (RED, R); 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 ();
// מידע על הטמפרטורה וההנפקה HPMW = מפה (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); } else {analogWrite (אדום, 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")); לַחֲזוֹר;
// מידע על החיישן והצג הטורי Serial.print (F ("Humedad:")); Serial.print (ח); Serial.print (F ("% Temperatura:")); Serial.print (t); Serial.print (F ("° C")); Serial.println (y);
}
}
הורד את También se puede: