במאמר זה נשקול כמה אפקטים שימושיים מאוד עבור הפנים שיכולים להיווצר באמצעות רצועת LED. נדבר גם על אלגוריתמים, על האופן בו חישובים מתמטיים מאפשרים לדלדים ליצור אשליה של חום ונוחות, כלומר להבה, להבה דיגיטלית אמיתית.
כל קודי המקור שינותחו בהמשך יכולים הורד מדף הפרויקט מחבר (AlexGyver).
ראשית, בואו להתמודד ה רכיב. לעצמך עשה זאת בעצמך לעשות יופי כזה בבית המרכיבים הבאים נדרשים:
- מנהל התקן לקלטת RGB;
- קלטת RGB;
- ספק כוח 12 וולט לקלטת RGB;
- ארדואינו ננו.
כל אחד מכם יכול להוריד ולהוריד את הקושחה ולקבל את האח הדיגיטלי. אנו נשלט על פסי LED ממיקרו-בקר, בדוגמה זו ארדואינו ננו.
נתחיל בממד הפשוט ביותר, האפס - נקודה (או קלטת שלמות של נקודות).
זוהי רצועת LED רגילה ביותר של RGB, המופעלת על ידי 12V ובעלת שליטה בת שלושה ערוצים לכל צבע.
באמצעות האות PWM (יש לנו אותו 8 סיביות), אתה יכול להגדיר את הבהירות של כל צבע, וכך לקבל 16.7 מיליון צבעים וגוונים. אבל אנו מעוניינים באש, או ליתר דיוק בחיקוי שלה. כדי לדמות להבה הוחלט לעבוד במרחב הצבעים hsv (צבע, רוויה, בהירות).
שלושת הפרמטרים הללו מאפשרים לך להשיג 255 גוונים בסיסיים, בתוספת כל גוון לבצע 255 מדרגות של רוויה, כלומר מתערבב עם צבע לבן. ובכן, הפרמטר השלישי הוא בהירות, בשפה פשוטה - תערובת של צל עם צבע שחור.
ישנם מספר אלגוריתמים להמרה ממרחב hsv נוח ל- RGB, פשוט השתמש באחד מהם.
בשלב הבא עליך לציין את התנהגות האש. נניח שחוזק הלהבה הוא כמות מסוימת, אשר בערך המינימלי מעניקה לנורות הלד צבע אדום רווי ובהירות נמוכה, ובערך המקסימאלי מעניק צבע לבן-צהוב ומקסימום בהיר.
כדי לקבל את אפקט הלהבה, עלינו לגרום לערך הזה לבצע תנועות מתנדנדות אקראיות, התנועות צריכות להיות אקראיות, אך יחד עם זאת חלקות למדי, כלומר משהו דומה לאור רועד. בעקבות ערך זה, בהתאמה, צבע ובהירותה של הלהבה לאורך שיפוע ישתנו.
הכותב מציע לפתור את הבעיה באופן הבא: יש אלגוריתם כל כך פשוט לסינון, ממוצע רץ, שהופך שינוי חד בערך לתהליך חלק, רק מקדם אחד וחישוב פשוט למדי.
הרעיון הוא זה: יש צורך, נניח 5 פעמים בשנייה, להגדיר מיקום אקראי חדש לערך האש, ואיפשהו סביב 50 פעמים בשנייה לסנן ערך זה, לשנות אותו בהדרגה. כתוצאה מכך נוצר תהליך אקראי כזה.
בדוגמה בחיים האמיתיים, הכל עובד כמתוכנן.
כעת עלינו לתרגם את ערכנו לצבע הלהבה על פי החוק שהוזכר לעיל, ולקבל אש חד ממדית.
רצועת הלד שתוכנתה בדרך זו יכולה להיות מוסתרת, למשל, על ידי לוח הזבל או על ידי בליטה כלשהי. כמו כן, סרט כזה יכול לספק תאורת רקע, הוא נראה די מעניין ויוצא דופן.
כמו כן, ניתן לשלוח את הקלטת לרצפה ממרחק קצר, וכך להשיג אפקט די מעניין.
וכמובן, ניתן להשתמש בפיסת סרט כדי להאיר אח או לדמות אותה. ואם תסיר את הצבע הבהיר מצהוב לכתום, תקבל חיקוי של גחלים מסריחות.
מכיוון שיש לנו קלטת RGB, אנו יכולים לעשות כל צבע אש בפני עצמו. אתה רוצה ירוק מת - כל כך בקלות!
אנחנו צריכים אש כחולה קסומה - אין בעיה!
לאחר מכן התקן את התוכנית ואת מנהלי ההתקנים, כפי שנכתב בהוראות על עמוד הפרויקט, הורד והפעל את הקושחה.
כבר בהתחלה יש את כל ההגדרות הדרושות. בעזרתם תוכלו להתאים באופן מלא את האש לעצמכם, כלומר: צבע, התנהגות וכדומה.
למעשה, זו הייתה הדרך הקלה ביותר לגרום לרצועת ה- LED "לשרוף". עכשיו בואו נסתכל על דוגמאות מעניינות יותר. להמשך עבודה תצטרך רצועת כתובת כתובת.
קלטת זו מאפשרת לך לשלוט בנפרד על כל נוריות ה- LED שלה וכל אחת מהן כוללת אחד מ -16.7 מיליון גווני צבע.
הכל מחובר בפשטות מאוד, בהתאם לתכנית זו:
אין צורך במנהלי התקנים, אך מומלץ להתנגד. אתה יכול להסתדר בלעדיו, אבל יש סיכוי לשחיקה של הנורית הראשונה, ואם זה יקרה, גם הבאים לא יעבדו.
עם תאורה ישירה, למשל, מתחת לספה, מקבלים ספה מעליבה מצויינת עם השפעה של גחמות מסריחות.
כמו כן, קלטת כזו ניתנת לדחיפה לתקן רגיל פרופיל קל ומשתמשים כאלמנט עצמאי בפנים.
זה נראה די טוב, מסכים, אבל בואו וננסה עדיין להשיג להבות אינדיבידואליות.
אנו נשאיר את האלגוריתם אותו דבר. אנו מפרקים את הקלטת לאזורים ברוחבים שונים, לכל אזור יהיה תהליך אקראי משלו. בכדי להפוך את התהליך הזה ליותר כמו להבה של ממש, נמלא את האזורים מהקצוות למרכז, ונעלה בהדרגה את הערך האקראי שלנו לערכו הנוכחי. גם בתהליך "צריבה", גודל האזורים צריך להשתנות באופן אקראי.
כך זה נראה:
עכשיו בואו נסתכל על תהליך אקראי מעניין נוסף שנקרא רעש פרלין, שקן פרלין עלה איתו בשנת 1983.
הרעש של פרלין מאפשר לך ליצור חלוקה מוחלקת אקראית של הכמות בכל מספר ממדים. פילטר הענן הידוע בפוטושופ הוא דוגמא לרעש פרלין דו-ממדי.
אבל הרעש התלת מימדי של פרלין מאפשר לייצר, למשל, נוף הררי, ולהפיק אותו באופן מאוד אקראי ובלי סוף, ובאותו הזמן באופן מעשי מבלי ליצור עומס על רכיבי מחשב, מכיוון שהאלגוריתם שם אינו יקר מאוד לחישוב.
תוכנית הפעולה היא כדלקמן: ראשית, צור אזור רעש פרלין דו-ממדי ונעה לאורכו בדרך מסוימת, סרוק את קו הפיקסלים ויצא אותו לנורות הלד.
האלגוריתם כאמור אינו מסובך במיוחד ארדואינו תתמודד איתו בנחת.התוצאה היא אפקט כל כך מגניב, חלק ככל האפשר, אקראי, וכבר דומה מאוד ללהבה האמיתית עם תאורת הקצה.
עם תאורה ישירה זה נראה כך:
אבל כל אלה היו אלגוריתמי אש לקלטת אחת. ומה עם להדביק את הקלטת בתבנית זיגזג ולנסות להבעיר אש דו ממדית על המטריצה?
מטריות כאלה ניתן לקנות מהסינים. מעל המטריצה אנו מציבים מפזר וזכוכית שזוהו בסרט רכב, כלומר מדובר בתצוגה אמיתית אמולטורית בעלת רזולוציה נמוכה במיוחד.
אגב, זה נראה די מציאותי. לפרטים נוספים ראו את הסרטון המקורי של המחבר:
זה הכל. תודה על תשומת הלב. נתראה בקרוב!