תוכן עניינים:
וִידֵאוֹ: בקרת תאורה אחורית של מצלמת RGB עם נייד אנדרואיד: 6 שלבים
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
אורות RGB המשווים לשלוש נורות LED אדום, ירוק וכחול. אנו מתאימים את בהירות הנורית הוא יוצר צבע חדש. אז LED התאמת הבהירות באמצעות קודים (0-255).
► מכיוון שהנוריות קרובות מאוד זו לזו, אנו יכולים לראות רק את התוצאה של הצבעים הסופיים ולא את שלושת הצבעים בנפרד. ► כדי לקבל מושג כיצד לשלב את הצבעים, עיין בתרשים הבא. זהו תרשים ערבוב הצבעים הפשוט ביותר, באינטרנט יש תרשימי צבעים מורכבים יותר. ► נוריות נוריות RGB כוללות 4 סיכות שניתן להבחין באורכן. הארוך ביותר הוא הקרקע (-) או המתח (+) תלוי אם מדובר בקתודה נפוצה או LED אנודה משותפת, בהתאמה.
RGB LED הוא שילוב של 3 נוריות בחבילה אחת בלבד · 1x אדום LED
· 1x LED ירוק
· 1x כחול LED
הצבע המיוצר על ידי ה- RGB LED הוא שילוב של הצבעים של כל אחד משלושת הנורות הללו.
שלב 1: ערבוב צבעים
כדי לייצר צבעים אחרים, ניתן לשלב את שלושת הצבעים בעוצמות שונות. כדי ליצור צבעים שונים אתה יכול להשתמש ב- PWM כדי להתאים את בהירות כל LED. מכיוון שהנוריות קרובות מאוד זו לזו, אנו יכולים לראות רק את התוצאה של הצבעים הסופיים ולא את שלושת הצבעים בנפרד.
R G B (255, 255, 255) = צבע לבן 255 הוא בהירות מלאה של האור המוביל
שלב 2: RGB LED שני סוגים:
שלב 3: מהבהב LED RGB:
int redPin = 11; int greenPin = 10; int bluePin = 9; הגדרת void () {pinMode (redPin, OUTPUT); pinMode (greenPin, OUTPUT); pinMode (bluePin, OUTPUT); } לולאת חלל () {setColor (255, 0, 0); // עיכוב אדום (1000); setColor (0, 255, 0); // עיכוב ירוק (1000); setColor (0, 0, 255); // עיכוב כחול (1000); setColor (255, 255, 0); // עיכוב צהוב (1000); setColor (80, 0, 80); // עיכוב סגול (1000); setColor (0, 255, 255); // עיכוב אקווה (1000); } void setColor (int אדום, int ירוק, int כחול) {#ifdef COMMON_ANODE אדום = 255 - אדום; ירוק = 255 - ירוק; כחול = 255 - כחול; #endif analogWrite (redPin, אדום); analogWrite (greenPin, ירוק); analogWrite (bluePin, כחול); }
שלב 4: ARDUINO ללא שימוש בבקר RGB של BLUETOOTH:
int color = 0; int אדום = 12; int ירוק = 11; int כחול = 10;
צ'ארל התקבל;
הגדרת בטל () {
Serial.begin (9600); pinMode (אדום, OUTPUT); pinMode (ירוק, OUTPUT); pinMode (כחול, OUTPUT);
analogWrite (אדום, 0);
analogWrite (ירוק, 0); analogWrite (כחול, 0); }
לולאת חלל () {
אם (Serial.available ()> 0) {color = Serial.read (); char Rec = char (color); if (Rec! = '0') {Serial.println (Rec); }}} // שחור אם (color == 'B') {analogWrite (אדום, 0); analogWrite (ירוק, 0); analogWrite (כחול, 0); }
//לבן
if (color == 'W') {analogWrite (אדום, 255); analogWrite (ירוק, 255); analogWrite (כחול, 255); }
//אָדוֹם
if (color == 'R') {analogWrite (אדום, 255); analogWrite (ירוק, 0); analogWrite (כחול, 0); }
//ליים
if (color == 'L') {analogWrite (אדום, 0); analogWrite (ירוק, 255); analogWrite (כחול, 0); }
//כָּחוֹל
if (color == 'E') {analogWrite (אדום, 0); analogWrite (ירוק, 0); analogWrite (כחול, 255); }
//צהוב
if (color == 'Y') {analogWrite (אדום, 255); analogWrite (ירוק, 255); analogWrite (כחול, 0); }
// ציאן/אקווה
if (color == 'C') {analogWrite (אדום, 0); analogWrite (ירוק, 255); analogWrite (כחול, 255); }
// מג'נטה /פוקסיה
if (color == 'M') {analogWrite (אדום, 255); analogWrite (ירוק, 0); analogWrite (כחול, 255); }
// חום
if (color == 'F') {analogWrite (אדום, 128); analogWrite (ירוק, 0); analogWrite (כחול, 0); }
// זית
if (color == 'O') {analogWrite (אדום, 128); analogWrite (ירוק, 128); analogWrite (כחול, 0); }
//ירוק
if (color == 'G') {analogWrite (אדום, 0); analogWrite (ירוק, 128); analogWrite (כחול, 0); }
// סגול
if (color == 'P') {analogWrite (אדום, 128); analogWrite (ירוק, 0); analogWrite (כחול, 128); }
// חיל הים
if (color == 'N') {analogWrite (אדום, 0); analogWrite (ירוק, 0); analogWrite (כחול, 128); }
// אלמוגים בהירים
if (color == 'J') {analogWrite (אדום, 240); analogWrite (ירוק, 128); analogWrite (כחול, 128); }
//כתום אדום
if (color == 'X') {analogWrite (אדום, 255); analogWrite (ירוק, 69); analogWrite (כחול, 0); }
//ירוק צהוב
if (color == 'G') {analogWrite (אדום, 173); analogWrite (ירוק, 255); analogWrite (כחול, 47); }
// ירוק אביב
if (color == 'S') {analogWrite (אדום, 0); analogWrite (ירוק, 255); analogWrite (כחול, 127); }
// אקווה ימית
if (color == 'A') {analogWrite (אדום, 127); analogWrite (ירוק, 255); analogWrite (כחול, 212); }
// ורוד עז
if (color == 'H') {analogWrite (אדום, 255); analogWrite (ירוק, 105); analogWrite (כחול, 180); }
// טל דבש
if (color == 'D') {analogWrite (אדום, 240); analogWrite (ירוק, 255); analogWrite (כחול, 240); }
// אפור בהיר / אפור בהיר
if (color == 'U') {analogWrite (אדום, 211); analogWrite (ירוק, 211); analogWrite (כחול, 211); }}
שלב 5: ARDUINO NANO באמצעות בקרת RGB של BLUETOOTH:
שלב 6: הורדה: קוד Arduino ואפליקציית אנדרואיד
לחץ עלי