תוכן עניינים:
וִידֵאוֹ: מנורת LED אלחוטית תואמת אור Arduino באמצעות פוטורסיסטור: 4 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:16
מדריך זה מפרט את השלבים הדרושים לבניית מנורת לד חישה אור אלחוטית בסיסית באמצעות Arduino Unos ופוטורסיסטור. יישום אפשרי למכשיר זה יהיה תאורה של חדר שאין בו חלונות עם אור שמש מלאכותי, התואם את תנאי התאורה בפועל בחוץ בזמן אמת. בואו נתחיל!
רשימת אספקה:
Arduino Uno x2
מקלט אלחוטי NR224L01 x2 (אופציונלי - תיק גב NRF24L01 x2)
טרנזיסטור דרלינגטון TIP120
פוטורסיסטור
נוריות 5 מ מ x3
לחץ על הכפתור
נגד 100 אוהם x3
נגד 10k אוהם x3
חוטי מגשר שונים
שלב 1: חיווט המודולים והמעגל NRF24L01
בפרויקט זה, ארדואינו אחד יפעל כמשדר, וישלח נתוני רמת אור מהפוטורזיסטור בעת לחיצה על כפתור הלחיצה. הארדואינו השני ישמש כמקלט, ייקח את הנתונים האלה ויהפוך אותם לאות לנוריות. התמונה הראשונה מציגה את תרשים המשדר, והשנייה מציגה את המקלט.
הערה: בתמונות של הפרויקט שלי, תבחין כי משדרי NRF24L01 מחוברים למכשיר PCB אחר. זהו מודול תרמיל למקלטים המשדרים, המתפקד כווסת כוח. בנוסף להקלת החיווט, תיקי גב אלה מסדירים את כניסת החשמל ל- NRF24L01, ומאפשרים שימוש באספקת חשמל של 5V. השמטתי תרמילים אלה בתרשים שלי למען הבהירות.
(אם תחליט להשתמש בתרמילי הגב, עיין בקישור זה לקבלת תרשים של מיקומי הפינים בהתייחס למלאי NRF24L01).
להלן מצורף עותק PDF של המעגל, לצורך התקרבות/צפייה קלה יותר.
שלב 2: קידוד המשדר
השלב האחרון הוא קידוד. יהיה עליך להתקין את ספריית RadioHead או ספרייה מקבילה לשימוש עם המודולים NRF24L01.
עבור פרויקט זה, המשדר והמקלט Arduinos משתמשים בקוד שונה על כל אחד. להלן הקוד למשדר:
צירפתי גם את קובץ ה-.ino (NRF_Send) מטעמי נוחות.
#לִכלוֹל
#לִכלוֹל
RH_NRF24 nrf24; // אתחול משדר כ- nrf24
כפתור int = 5; // הגדרת ערכי סיכה לכפתור ולפוטוריסטור
int pResistor = A0; int int = 0; // ערך האור בין 0-1023
הגדרת חלל ()
{Serial.begin (9600); pinMode (כפתור, INPUT); pinMode (pResistor, INPUT); if (! nrf24.init ()) // מתריע בפני המשתמש אם האתחול של המודול נכשל Serial.println ("init failed"); // ברירות מחדל לאחר init הן 2.402 GHz (ערוץ 2), 2Mbps, 0dBm אם (! Nrf24.setChannel (1)) Serial.println ("setChannel נכשל"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF נכשל"); }
לולאת חלל ()
{if (digitalRead (כפתור)) {// שלח הודעה אם הכפתור נלחץ value = analogRead (pResistor); // קרא את הערך של הפוטורזיסטור (0-1023) uint8_t data = {value}; // קובע מערך בשם "data " המכיל את ערך האור nrf24.send (data, sizeof (data)); // שלח את המערך למקבל nrf24.waitPacketSent (); // המתן עד שהחבילה נשלחה Serial.println ("ערך קל:" +מחרוזת (ערך)); // הדפס את ערך האור במסך הטורי}}
שלב 3: קידוד המקלט
עבור המקלט, הקוד משתמש גם בספריית RadioHead.
#לִכלוֹל
#לִכלוֹל
RH_NRF24 nrf24;
int LEDPin = 3;
int int = 0; // ערך האור בין 0-1023
הגדרת חלל ()
{Serial.begin (9600); pinMode (LEDPin, OUTPUT); if (! nrf24.init ()) Serial.println ("init נכשל"); // ברירות מחדל לאחר init הן 2.402 GHz (ערוץ 2), 2Mbps, 0dBm אם (! Nrf24.setChannel (1)) Serial.println ("setChannel נכשל"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF נכשל"); }
לולאת חלל ()
{// המתן להודעה uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; // אחסן את ההודעה שהתקבלה כמערך בשם "buf " uint8_t len = sizeof (buf); // אחסן את גודל ה- buf כ- "len" בעוד (nrf24.waitAvailableTimeout (200) && nrf24.recv (buf, & len)) // מקבל את ההודעה במשך 200 אלפיות השנייה או עד שכל ההודעה תתקבל {value = buf [0]; // קובע ערך למדד הראשון של buf , שהוא האינט מהפוטורזיסטור analogWrite (LEDPin, מפה (ערך, 0, 1023, 0, 255)); // מגדיר את סיכת ה- PWM להפיק ערך מדורג בין 0-255 עבור בהירות ה- LED Serial.println (מחרוזת (ערך)); } analogWrite (LEDPin, 0); }
שלב 4: בוצע
תהנה לשחק עם רמות אור שונות וצפה בנורות ה- LED תואמות אותן! הפוטורזיסטור יכול להיות מסובך לפעמים, ועובד בצורה הטובה ביותר בחדר חשוך עם מקור אור מקומי (אך יכול לעבוד גם בחוץ עם השמש).
מוּמלָץ:
תאורת לילה תואמת לגו: 3 שלבים
תאורת לילה תואמת לגו: פרויקט זה הוא מנורת לילה מהירה באמצעות Lunchbox Electronics PTH LED לבנים כדי להציג כמה מהלגו האהובה עליכם ואינו דורש הלחמה! בואו נתחיל
אור אופניים בהיר מאוד באמצעות מחשבי לוח מותאמים אישית של לוח אור: 8 שלבים (עם תמונות)
אור אופניים בהיר מאוד באמצעות מחשבי לוח מותאם אישית של לוח אור: אם אתה בעל אופניים, אתה יודע עד כמה בורות לא נעימים יכולים להיות על הצמיגים והגוף שלך. הספיק לי לפוצץ את הצמיגים אז החלטתי לעצב פנל לד משלי מתוך כוונה להשתמש בו כמנורת אופניים. כזה שמתמקד בלהיות E
מנורת לד מונפשת LED מנורת LED עם אפקט אור: 11 שלבים (עם תמונות)
מנורת לד מונפשת של Arduino אנימטית עם אפקט אור: הרגע ילדתי ואחרי שעשיתי את חדר השינה שלו, הייתי צריך אור על קיר. מכיוון שאני מאוד אוהב LED החלטתי ליצור משהו. אני אוהב גם מטוס באופן כללי, אז למה לא לשים מטוס מצויר על הקיר, הנה כפי שהוא מתחיל ואיך עשיתי
אור אור ESP2866 עם טעינה אלחוטית: 5 שלבים (עם תמונות)
אור אור ESP2866 עם טעינה אלחוטית: מטרת הפרויקט היא ליצור מנורה פשוטה מבוקרת Wi-Fi עם טעינה אלחוטית. הכוונה היא לעשות משהו מדהים עם כמה רכיבים. זה יכול לשמש למשל כמתנה או מנורת לילה אלחוטית (או שניהם אם תרצה)
מנורת טיפול אור אור רב-צבעונית רכוב על מצחייה: 9 שלבים (עם תמונות)
מנורת טיפול באור LED מרובת צבעים המותקנת במגנים: עם מנורת טיפול באור על הכובע, אתה יכול להשתמש בה תוך ביצוע פעילויות הדורשות תנועה כמו אימון ועבודה. למנורה זו יש נוריות אדום, צהוב, ציאן וכחול עם בקרת בהירות. הוא נכבה לאחר 15 או 45 דקות. זה