תוכן עניינים:

שן הארי אינטראקטיבי: 11 שלבים (עם תמונות)
שן הארי אינטראקטיבי: 11 שלבים (עם תמונות)

וִידֵאוֹ: שן הארי אינטראקטיבי: 11 שלבים (עם תמונות)

וִידֵאוֹ: שן הארי אינטראקטיבי: 11 שלבים (עם תמונות)
וִידֵאוֹ: אתגר קרת | הפודקאסט של דניאל דושי 52# 2024, יולי
Anonim
Image
Image
הכינו את טבעת NeoPixel
הכינו את טבעת NeoPixel

פרויקט זה מראה כיצד ליצור תמונה אינטראקטיבית של שן הארי. זה מתחיל כפרח צהוב עם נוריות LED לעלי כותרת ואז משתנה לשעון שן הארי לבן, שאפשר לנשוף עליו כדי לגרום לזרעים להתפזר.

הוא מבוסס על יצירות אמנות יפות של צ'י ג'י, שתמונתו עוצבה בהשראת עיצוב פרח אחד של ג'סי תומפסון וזכורי ברטה. הכנתי את שלי על בד וסיגרתי אותו בחישוק שטיח כדי להתקדם על הקיר של המרחב הטכנולוגי והטקסטיל בדבון, אנגליה, כדוגמה לפרויקט למתחילים המשלב תפירה עם ארדואינו.

סרטון של ציור קל מאת צ'י ג'י

סרטון של עיצוב פרחים בודדים מאת ג'סי תומפסון וזכורי ברטה

הקוד לשני הפרויקטים הקיימים זמין וחשבתי שיהיה קל לבצע אותו, אך ההנחיות היו מינימליות ונדרשו מספר ניסיונות עד שמצאתי שיטה שעובדת. אז להלן ההנחיות המלאות וטיפים לחיסכון בזמן עבור רמיקס המשלב אלמנטים של עיצובים וגם שינויים משלי.

פרטים על מה שלא עבד בשבילי הם בסופו של דבר לכל מי שמעוניין מדוע בחרתי בדרך זו.

קוד לציור קל מאת צ'י ג'י

קוד לתמונת פרחים קטנים מאת ג'סי תומפסון וזכורי ברטה

חומרים

  • ארדואינו UNO
  • טבעת אדאפרוט של 12 ניאופיקסל
  • רצועה 5V של 11 נוריות RGB
  • חיישן מיקרופון קול
  • חוטי מגשר
  • סוללה נטענת 5V עם חיבור USB A
  • כבל מדפסת (כבל USB A ל- B)
  • הדבק נקודות או דבק חם
  • כרטיס A4
  • בד כותנה בגודל 30 ס"מ על 30 ס"מ, כגון ציפית ישנה
  • צבע בד ירוק
  • חוט כותנה חום
  • קרטון גלי 70 ס"מ על 50 ס"מ, כגון קופסאות פיצה
  • נייר דבק
  • חישוק רקמה בגודל 9 אינץ 'למסגרת התמונה
  • 9 כרטיסיות סקוטש דביקות לעצמן

כלים

  • הורד מחשב עם Arduino IDE
  • מלחם והלחמה ללא עופרת
  • לוח לחם לבדיקת מעגלים
  • חשפן חוטים/חותכים
  • מחט תפירה
  • עֵט
  • מספריים

שלב 1: הכינו את טבעת NeoPixel

הלחמת חוטים בצבעים שונים לכל אחד מרפידות החשמל, הקרקע והנתונים בחלק האחורי של טבעת NeoPixel.

אם יש לך גרסה אחרת של הטבעת, ייתכן שהחוטים שלך לא נמצאים באותו מיקום כמו התמונה שלי.

רשום אילו חוטים מיועדים לקלט ופלט וכן לחיוב, נתונים ואדמה מכיוון שהסימונים עבור אלה נמצאים בצד התחת של הטבעת ולא יהיו גלויים כאשר הטבעת נמצאת במקומה.

שלב 2: חותכים את רצועות הלדים

חותכים את רצועות הלדים
חותכים את רצועות הלדים
חותכים את רצועות הלדים
חותכים את רצועות הלדים

חותכים 11 נוריות LED בודדות מרצועת נוריות RGB, דואגות לחתוך לאורך קו האמצע ולהשאיר כריות הלחמה משני צידי החיתוך. טפטפו כף הלחמה בצד העליון של כל כרית.

שלב 3: הלחמת הנורות

הלחמה נוריות
הלחמה נוריות
הלחמה נוריות
הלחמה נוריות
הלחמה נוריות
הלחמה נוריות

צור חור באמצע הכרטיס כך שיתאים למיקרופון. בעזרת נקודות דבק, הדביקו את טבעת הפיקסלים הניאויים ואת נוריות הלדים הבודדות במיקום כפי שמוצג, וודא שכל החצים על הלדים יסתדרו באותה צורה כאשר חיננית כבולה יחד.

הלחם את חוטי הפלט מהטבעת אל הלדים הנפרדים הראשונים, והתאם את חוטי החיובי, הקרקע והנתונים לאותן הרפידות בשני הלדים.

הדרך המהירה והקלה ביותר שמצאתי לחבר את הלדים יחד היא להפשיט חוט מגשר לחוטי נחושת נפרדים. צרף גדיל אחד כדי לקשר כל אחת מהרפידות המולחמות על נוריות ה- LED לאחרת, בהתאמה חיובית, נתונים וקרקע. זה פשוט דורש נגיעה מהירה של מגהץ חם מכיוון שהרפידות הותחמו בשלב הקודם. במקום לחתוך את החוטים בשלב זה, קח אותם על פני החלק העליון של הנורית כדי להגיע לרפידות המולחמים בצד השני. וודא שאף חוטים לא חוצים או נוגעים זה בזה, הלחם אותם לרפידות והמשך לעגל לצד הקלט של הלד האחרון.

אל תחבר חוט לצד הפלט של ה- LED האחרון. בניגוד לכמה נוריות שאולי אתה מכיר, אינך צריך להשלים מעגל עגול שמחזיר את החשמל לקרקע מכיוון שחיברת קרקע נפרדת וקווים חיוביים לאורך כל הדרך. חתכו את כל החוטים החוצים את החלק העליון של הלדים כך שיהיו לכם רק חוטים המקשרים ביניהם.

טיפ: כדי למנוע נגיעות של חוטים בעת סיבוב פינות, השחילו כל אחת לאחור לרצועה קטנה של בידוד פלסטי שהוסר בעבר.

שלב 4: הכנת הגב

הכנת הגב
הכנת הגב
הכנת הגב
הכנת הגב

צור חור נוסף בכרטיס הלבן של חוטי הקלט ודחף אותם דרכו.

הפרד בין שתי הטבעות של חישוק השטיח. ציירו את החלק החיצוני של הטבעת הקטנה ביותר על 5 חתיכות כרטיס גלי וחתכו. חותכים חורים באמצע 3 המעגלים במרחק של כ -2 ס"מ מהקצה כדי ליצור טבעות וחותכים חריץ של 5 מ"מ בכל אחד מהם. הדביקו את הטבעות זו על גבי זו, ריפדו את החריצים, והדביקו זאת לאחד ממעגלי הקלף הנותרים.

שלב 5: חיווט המיקרופון וארדואינו

חיווט המיקרופון וארדואינו
חיווט המיקרופון וארדואינו
חיווט המיקרופון וארדואינו
חיווט המיקרופון וארדואינו

חבר את הארדואינו לחיישן המיקרופון ולטבעת ה- LED כפי שמוצג. השתמשתי ב- TinkerCad ליצירת תרשים המעגלים, שאין לו תמונת מיקרופון ולכן החלפתי חיישן אחר שמשתמש באותם סיכות ועובד באותו אופן בסימולציה.

לצפייה בסימולציה, עבור אל https://www.tinkercad.com/things/5cgI2wluA0c. גרור את העיגול המחובר לחיישן אל האזור הפעיל כדי לדמות נשיפה לתוך המיקרופון. נוריות הלדים נמצאות ברצועות על 6, כך שהנורית האחרונה בסימולציה אינה חלק מהעיצוב ואינה נדלקת.

שלב 6: תכנות הארדואינו

תכנות הארדואינו
תכנות הארדואינו

פתח את Arduino IDE במחשב שלך והתחל סקיצה חדשה מחק הכל בתוך הסקיצה והעתק והדבק לתוכו את הקוד הזה

// מותאם באמצעות סקיצה פשוטה של NeoPixel Ring (ג) 2013 Shae Erisson // וקוד חיישן מ https://www.hackster.io/ingo-lohs/first-test-37-s… #include // איזה סיכה על Arduino מחובר ל- NeoPixels? #define PIN 6 // כמה NeoPixels מחוברים ל- Arduino? #define NUMPIXELS 23 // כאשר אנו מגדירים את ספריית NeoPixel, אנו אומרים לה כמה פיקסלים, ובאיזה סיכה יש לשלוח אותות. // שים לב כי עבור רצועות NeoPixel ישנות יותר ייתכן שיהיה עליך לשנות את הפרמטר השלישי-עיין בדוגמת בדיקת הגדילה // למידע נוסף על ערכים אפשריים. Adafruit_NeoPixel פיקסלים = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); int delayval = 500; // עיכוב לחצי שניות int sensorPin = A0; // בחר את סיכת הכניסה לחיישן int sensorValue = 0; // משתנה לאחסון הערך המגיע מסף החיישן const int = 200; // רמת סף שרירותית הנמצאת בטווח ההתקנה של חלל הקלט האנלוגי () {pixels.begin (); // זה מאתחל את ספריית NeoPixel. pixels.setBrightness (20); // הגדר בהירות Serial.begin (9600); } לולאת void () {// עבור קבוצה של NeoPixels ה- NeoPixel הראשון הוא 0, השני הוא 1, עד לספירת הפיקסלים מינוס אחד. // נורות LED של שן הארי // פיקסלים.צבע לוקח ערכי RGB, מ 0, 0, 0 עד 255, 255, 255 פיקסלים. SetPixelColor (0, פיקסלים.צבע (0, 0, 0)); // כבוי. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (5, pixels. Color (255, 165, 0)); // תפוז. pixels.setPixelColor (6, pixels. Color (255, 165, 0)); // תפוז. pixels.setPixelColor (7, pixels. Color (255, 165, 0)); // תפוז. pixels.setPixelColor (8, pixels. Color (255, 165, 0)); // תפוז. pixels.setPixelColor (9, pixels. Color (255, 165, 0)); // תפוז. pixels.setPixelColor (10, pixels. Color (255, 165, 0)); // תפוז. pixels.setPixelColor (11, pixels. Color (255, 165, 0)); // תפוז. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // כבוי. pixels.show (); // פעולה זו שולחת את צבע הפיקסל המעודכן לחומרה. עיכוב (delayval*6); // שינוי הדרגתי מפרח לראש זרע // פיקסלים. צבע לוקח ערכי RGB, מ 0, 0, 0 עד 255, 255, 255 פיקסלים. setPixelColor (0, פיקסלים. צבע (0, 0, 0)); // כבוי. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (5, pixels. Color (226, 246, 255)); // כחול -לבן פיקסלים. setPixelColor (6, פיקסלים. צבע (255, 165, 0)); // תפוז. pixels.setPixelColor (7, pixels. Color (226, 246, 255)); // pixel.setPixelColor (8, פיקסלים. צבע (255, 165, 0)); // תפוז. pixels.setPixelColor (9, pixels. Color (226, 246, 255)); // כחול -לבן פיקסלים. setPixelColor (10, פיקסלים. צבע (255, 165, 0)); // תפוז. pixels.setPixelColor (11, pixels. Color (226, 246, 255)); // כחלחל. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // כבוי. pixels.show (); // פעולה זו שולחת את צבע הפיקסל המעודכן לחומרה. עיכוב (delayval*6); // נוריות ראש זרע פיקסלים. SetPixelColor (0, פיקסלים. צבע (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // off pixels.setPixelColor (2, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // off pixels.setPixelColor (4, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (5, pixels. Color (255, 165, 0)); // תפוז. pixels.setPixelColor (6, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (7, pixels. Color (255, 165, 0)); // תפוז. pixels.setPixelColor (8, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (9, pixels. Color (255, 165, 0)); // תפוז. pixels.setPixelColor (10, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (11, pixels. Color (226, 246, 255)); // off pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // כבוי. pixels.show (); // פעולה זו שולחת את צבע הפיקסל המעודכן לחומרה. עיכוב (delayval*3); // עיכוב לפרק זמן (באלפיות השנייה). pixels.setPixelColor (0, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // off pixels.setPixelColor (2, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (3, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (4, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (5, pixels. Color (255, 165, 0)); // תפוז. pixels.setPixelColor (6, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (7, pixels. Color (255, 165, 0)); // תפוז. pixels.setPixelColor (8, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (9, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (10, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (11, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // כבוי. pixels.show (); // פעולה זו שולחת את צבע הפיקסל המעודכן לחומרה. עיכוב (delayval*3); // עיכוב לפרק זמן (באלפיות השנייה). pixels.setPixelColor (0, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (1, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (2, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (3, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (4, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (5, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (6, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (7, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (8, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (9, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (10, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (11, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // כבוי. pixels.show (); // פעולה זו שולחת את צבע הפיקסל המעודכן לחומרה. עיכוב (delayval); // עיכוב לפרק זמן (באלפיות השנייה). // קרא את ערך החיישן והצג אותו בחיישן הצג הטורי sensorValue = analogRead (sensorPin); Serial.println (sensorValue); עיכוב (250); // בעוד ערך החיישן נמוך מהסף, בדוק את ערך החיישן והדפס אותו במסך הטורי. כשהערך עולה על הסף, הסקיצה יכולה להמשיך בעוד (sensorValue <threshold) {sensorValue = analogRead (sensorPin); Serial.println (sensorValue); עיכוב (250); } // נוריות הרוח הראשונות pixels.setPixelColor (0, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (5, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (6, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (7, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (8, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (9, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (10, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (11, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (12, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (13, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (14, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (15, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (16, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // כבוי. pixels.show (); // פעולה זו שולחת את צבע הפיקסל המעודכן לחומרה. עיכוב (delayval); // עיכוב לפרק זמן (באלפיות השנייה). // נוריות רוח שנייה pixel.setPixelColor (0, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (5, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (6, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (7, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (8, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (9, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (10, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (11, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (15, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // כבוי. pixels.setPixelColor (17, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (18, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (19, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (20, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (21, pixels. Color (226, 246, 255)); // לבן כחלחל. pixels.setPixelColor (22, pixels. Color (226, 246, 255)); // לבן כחלחל.pixels.show (); // פעולה זו שולחת את צבע הפיקסל המעודכן לחומרה. עיכוב (2000); // עיכוב לפרק זמן (באלפיות השנייה). }

חבר את ה- Arduino שלך למחשב באמצעות כבל מדפסת ה- USB

עבור אל כלים> לוח ובחר את לוח UNO של Arduino/Genuino

עבור אל יציאה וודא שהמחבר מחובר ליציאת ה- USB הנכונה. אם אינך בטוח שאתה יכול לנתק את ה- Arduino ולראות איזו יציאה נעלמת מהרשימה. חבר אותו שוב והיציאה תופיע שוב.

העלה את הסקיצה על ידי לחיצה על סמל העלאה, המוצג בתמונה המבוארת. אורות צריכים להבהב על הארדואינו בזמן העלאתו. כאשר היא מסיימת להעלות מחצית מנורות ה- LED על טבעת הניאו -פיקסל, יידלקו בצהוב ואז ישתנו לטבעת מלאה של נורות לבנות. מכה על המיקרופון כדי לבדוק את המעגל. נוריות ה- LED בשכבות החיצוניות צריכות להאיר בתורן. בדוק את הלחמה על כל נוריות LED שאינן פועלות.

שלב 7: שינוי הצבעים, הבהירות וסף החיישנים

שינוי הצבעים, הבהירות וסף החיישנים
שינוי הצבעים, הבהירות וסף החיישנים
שינוי הצבעים, הבהירות וסף החיישנים
שינוי הצבעים, הבהירות וסף החיישנים

צבעים

הצבעים של נוריות הלדים נקבעים באמצעות ערכי צבע RGB (אדום ירוק כחול). אם אתה מעדיף להשתמש בצבעים שונים מכפי שהשתמשתי תוכל למצוא את הערכים של הצבעים שאתה רוצה באמצעות מחשבון צבעים מקוון RGB כגון www.w3schools.com/colors/colors_rgb.asp

כדי לכבות LED, השתמש בערכים 0, 0, 0.

כדי להגדיר את הלד ללבן, השתמש בערכים 255, 255, 255. הקוד בשלב הקודם משתמש בלבן כחלחל עם הערכים 226, 246, 255 וכתום עם הערכים 255, 165, 0.

בְּהִירוּת

כדי לשנות את בהירות הנורות, עבור לסעיף הגדרת הריק של הקוד ומצא את שורת הקוד הבאה:

pixels.setBrightness (20); // הגדר בהירות

ערוך את המספר בסוגריים כדי לשנות את בהירות הנורות.

סף חיישן

כאשר אתה מפעיל את התוכנית, חצי מהטבעת NeoPixel מתחילה בצהוב כדי לייצג פרח ומשתנה בהדרגה למעגל מלא של נוריות LED לבנות לייצוג ראש הזרע. בשלב זה התוכנית אמורה להשהות עד שתפוצץ את חיישן המיקרופון. אם התוכנית ממשיכה ומאירה את השכבות החיצוניות של נוריות LED ללא הפעלה מהחיישן, עבור לסעיף הגדרת הריק של הקוד והורד את הערך המוצג להלן. הגדל את הערך אם התוכנית מושהית אך אינה מגיבה כאשר אתה נושף על החיישן.

סף const int = 200;

שלב 8: הפיכת המעגל לקבוע יותר

הפיכת המעגל לקבוע יותר
הפיכת המעגל לקבוע יותר

כאשר המעגל פועל, נתק את ה- Arduino מהמחשב והסר את חיישן המיקרופון מלוח הלחם. חוטי הלחמה מהארדואינו לחיישן המיקרופון כדי להפוך אותו מעגל לקבוע יותר. דחוף את המיקרופון דרך החור בכרטיס מאחור. במידת הצורך, כופף בזהירות את המיקרופון ב 90 מעלות כך שהלוח יכול לשכב שטוח מאחורי הכרטיס. חבר את הסוללה ל- Arduino באמצעות כבל המדפסת וכל הרצף אמור לפעול.

שלב 9: צור תמונה

צור תמונה
צור תמונה

עשה חור בבד שלך במקום שאתה רוצה את המיקרופון. השתמשתי במלחם חם כדי לשרוף חור קטן וחתכתי אותו במספריים עד שהמיקרופון נכנס. צייר ותפר את הפרח שלך על הבד. כשהצבע מתייבש, צרף את הציור לחישוק הרקמה וחתוך את הבד העודף והשאיר גבול קטן.

כדי לבדוק אם אחד ממרכיבי המעגל מופיעים דרך הבד, הנח את הבד והחישוק באופן זמני על גבי הכרטיס כשהמיקרופון מופיע דרך החור. במידת הצורך, כסו את המעגל בשכבות של סרט דבק, בדקו מדי פעם, עד שהרכיבים אינם מופיעים יותר. נוריות ה- LED בהירות מספיק כדי להבחין בשכבת נייר דבק. אם עליך להוסיף עוד שכבות אתה יכול להפוך את הלדים הבהירים יותר על ידי התאמת הקוד שלך כפי שמוצג בשלב 7.

הנח את הבד והחישוק בחזרה על גבי הכרטיס כמו קודם והדק אותו על ידי הדבקת הבד הנוסף על גב הכרטיס.

שלב 10: חיבור זה יחד

לשים את זה ביחד
לשים את זה ביחד

הדבק את הכרטיס הלבן על עיגול הקרטון הגלי, וסגור את המיקרופון, אך לא את הארדואינו ואת מארז הסוללות, שצריך לחצות את קצה הקרטון כשהחוטים עוברים בחריצים.

חבר את מעגל הקרטון האחרון בעזרת סקוטש, כך שתוכל לגשת לסוללה. צור חור בקרטון שבו אתה רוצה לתלות אותו על וו על הקיר.

שלב 11: למידה מטעויות

למידה מטעויות
למידה מטעויות
למידה מטעויות
למידה מטעויות
למידה מטעויות
למידה מטעויות

הניסיון הראשון שלי היה עם מדבקות מעגל וסרט נייר. מדבקות מעגלים הן משטח LED זעיר המותקן על מדבקות עם כריות נחושת. הם מגיעים מהחברה של צ'י ג'י, צ'יביטרוניקס, וחשבתי שהם יהיו מושלמים.

לא הצלחתי לקבל חיבור אמין באמצעות סרט נחושת או סרט כסף וכאשר הלחמתי חוט למדבקות עדיין יכולתי להדליק רק סדרה של 3 מדבקות LED באמצעות סוללה של 9V. התברר שהם אינם מיועדים לפרויקטים מרובי אור כפי שקיוויתי. כאשר הסתכלתי מקרוב על דף אינטרנט בנושא מדבקות מעגלים, פרויקט עם 4 נורות התברר כסוג אחר של נוריות LED. יכולתי להדביק מדבקות מעגל עם סוללה של 12V אבל זה יהיה מגושם מדי מכדי שיתאים לתמונה.

אחר כך ניסיתי נוריות תפירה. חשבתי שיהיה קל יותר לחבר רק חשמל ואדמה מאשר נוריות לתכנות שיש להן קווי חשמל, קרקע ונתונים. אך התברר שמדובר במעגל מסובך יותר הזקוק לאספקת חשמל נוספת ו- MOSFET, שלא היה לי. יכולתי להשתמש ב- NeoPixels תפירה, אבל הם יקרים יותר.

אז אחרי כמה התחלות שווא, קיבלתי שורה של נוריות לתכנות שהן זולות וקלות לשימוש.

מוּמלָץ: