פרסומת

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

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

אתה תצטרך

  • ארדואינו (השתמשתי בננו של $ 2 בגלל שהוא קומפקטי וזול, אבל כל דגם צריך להיות בסדר).
  • 5x נוריות נוריות אדומות.
  • 5x 220 נגדי אוהם.
  • 1x בעל סוללה 9v.
  • מתג מתג 1x.
  • 1x חתיכת פרוטוארד.
  • בית למוצר המוגמר (השתמשתי בקופסת קרטון קטנה שצבועה בשחור).

תצטרך גם מגהץ וכמה הלחמה כדי להרכיב את הכל.

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

instagram viewer

רכיבים הנדרשים לפרויקט

חיווט

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

pov fritzing

סיכות D2 עד D6 עוברות לכל נגן בהתאמה, המחוברות לאנודה החיובית (רגל ארוכה) של כל LED. הקתודה מחוברת לקרקע, שמתחברת חזרה לארדואינו. כשתסיים זה צריך להיראות כך:

קובית לחם

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

קוד

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

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

// כמה זמן כל הוביל נשאר לאורך. זמן עיכוב int = 1; // כמה זמן בין כל char intree = 3; // כמה זמן לחכות לאחר סיום ההודעה לפני שהיא חוזרת. int resetTime = 20; int LED1 = 2; int LED2 = 3; int LED3 = 4; int LED4 = 5; int LED5 = 6; הגדרת ביטול () { pinMode (LED1, OUTPUT); pinMode (LED2, OUTPUT); pinMode (LED3, OUTPUT); pinMode (LED4, OUTPUT); pinMode (LED5, OUTPUT); } int a [] = {1, 6, 26, 6, 1}; int b [] = {31, 21, 21, 10, 0}; int c2 [] = {14, 17, 17, 10, 0}; int d [] = {31, 17, 17, 14, 0}; int e [] = {31, 21, 21, 17, 0}; int f [] = {31, 20, 20, 16, 0}; int g [] = {14, 17, 19, 10, 0}; int h [] = {31, 4, 4, 4, 31}; int i [] = {0, 17, 31, 17, 0}; int j [] = {0, 17, 30, 16, 0}; int k [] = {31, 4, 10, 17, 0}; int l [] = {31, 1, 1, 1, 0}; int m [] = {31, 12, 3, 12, 31}; int n [] = {31, 12, 3, 31, 0}; int o [] = {14, 17, 17, 14, 0}; int p [] = {31, 20, 20, 8, 0}; int q [] = {14, 17, 19, 14, 2}; int r [] = {31, 20, 22, 9, 0}; int s [] = {8, 21, 21, 2, 0}; int t [] = {16, 16, 31, 16, 16}; int u [] = {30, 1, 1, 30, 0}; int v [] = {24, 6, 1, 6, 24}; int w [] = {28, 3, 12, 3, 28}; int x [] = {17, 10, 4, 10, 17}; int y [] = {17, 10, 4, 8, 16}; int z [] = {19, 21, 21, 25, 0}; int eos [] = {0, 1, 0, 0, 0}; int excl [] = {0, 29, 0, 0, 0}; int ques [] = {8, 19, 20, 8, 0}; int space [] = {0, 0, 0, 0, 0}; הצגת תצוגה בטלה (קו int) { קו הרשת; myline = קו; אם (myline> = 16) {digitalWrite (LED1, HIGH); myline- = 16;} else {digitalWrite (LED1, LOW);} אם (myline> = 8) {digitalWrite (LED2, HIGH); myline- = 8;} else {digitalWrite (LED2, LOW);} אם (myline> = 4) {digitalWrite (LED3, HIGH); myline- = 4;} אחרת {digitalWrite (LED3, LOW);} אם (myline> = 2) {digitalWrite (LED4, HIGH); myline- = 2;} else {digitalWrite (LED4, LOW);} אם (myline> = 1) {digitalWrite (LED5, HIGH); myline- = 1;} else {digitalWrite (LED5, LOW);} } display voidChar (char c) { if (c == 'a') {עבור (int i = 0; i <5; i ++) {displayLine (a [i]); עיכוב (delayTime);} displayLine (0);} if (c == 'b') {עבור (int i = 0; i <5; i ++) {displayLine (b [i]); עיכוב (delayTime);} displayLine (0);} if (c == 'c2') {עבור (int i = 0; i <5; i ++) {displayLine (c2 [i]); עיכוב (delayTime);} displayLine (0);} if (c == 'd') {עבור (int i = 0; i <5; i ++) {displayLine (d [i]); עיכוב (delayTime);} displayLine (0);} if (c == 'e') {עבור (int i = 0; i <5; i ++) {displayLine (e [i]); עיכוב (delayTime);} displayLine (0);} if (c == 'f') {עבור (int i = 0; i <5; i ++) {displayLine (f [i]); עיכוב (delayTime);} displayLine (0);} if (c == 'g') {עבור (int i = 0; i <5; i ++) {displayLine (g [i]); עיכוב (delayTime);} displayLine (0);} if (c == 'h') {עבור (int i = 0; i <5; i ++) {displayLine (h [i]); עיכוב (delayTime);} displayLine (0);} if (c == 'i') {עבור (int it = 0; זה <5; it ++) {displayLine (i [it]); עיכוב (delayTime);} displayLine (0);} if (c == 'j') {עבור (int i = 0; i <5; i ++) {displayLine (j [i]); עיכוב (delayTime);} displayLine (0);} if (c == 'k') {עבור (int i = 0; i <5; i ++) {displayLine (k [i]); עיכוב (delayTime);} displayLine (0);} if (c == 'l') {עבור (int i = 0; i <5; i ++) {displayLine (l [i]); עיכוב (delayTime);} displayLine (0);} if (c == 'm') {עבור (int i = 0; i <5; i ++) {displayLine (m [i]); עיכוב (delayTime);} displayLine (0);} if (c == 'n') {עבור (int i = 0; i <5; i ++) {displayLine (n [i]); עיכוב (delayTime);} displayLine (0);} if (c == 'o') {עבור (int i = 0; i <5; i ++) {displayLine (o [i]); עיכוב (delayTime);} displayLine (0);} if (c == 'p') {עבור (int i = 0; i <5; i ++) {displayLine (p [i]); עיכוב (delayTime);} displayLine (0);} if (c == 'q') {עבור (int i = 0; i <5; i ++) {displayLine (q [i]); עיכוב (delayTime);} displayLine (0);} if (c == 'r') {עבור (int i = 0; i <5; i ++) {displayLine (r [i]); עיכוב (delayTime);} displayLine (0);} if (c == 's') {עבור (int i = 0; i <5; i ++) {displayLine (s [i]); עיכוב (delayTime);} displayLine (0);} if (c == 't') {עבור (int i = 0; i <5; i ++) {displayLine (t [i]); עיכוב (delayTime);} displayLine (0);} if (c == 'u') {עבור (int i = 0; i <5; i ++) {displayLine (u [i]); עיכוב (delayTime);} displayLine (0);} if (c == 'v') {עבור (int i = 0; i <5; i ++) {displayLine (v [i]); עיכוב (delayTime);} displayLine (0);} if (c == 'w') {עבור (int i = 0; i <5; i ++) {displayLine (w [i]); עיכוב (delayTime);} displayLine (0);} if (c == 'x') {עבור (int i = 0; i <5; i ++) {displayLine (x [i]); עיכוב (delayTime);} displayLine (0);} if (c == 'y') {עבור (int i = 0; i <5; i ++) {displayLine (y [i]); עיכוב (delayTime);} displayLine (0);} if (c == 'z') {עבור (int i = 0; i <5; i ++) {displayLine (z [i]); עיכוב (delayTime);} displayLine (0);} if (c == '!') {עבור (int i = 0; i <5; i ++) {displayLine (לא כולל [i]); עיכוב (delayTime);} displayLine (0);} if (c == '?') {עבור (int i = 0; i <5; i ++) {displayLine (ques [i]); עיכוב (delayTime);} displayLine (0);} if (c == '.') {עבור (int i = 0; i <5; i ++) {displayLine (eos [i]); עיכוב (delayTime);} displayLine (0);} if (c == '') {עבור (int i = 0; i <5; i ++) {displayLine (שטח [i]); עיכוב (delayTime);} displayLine (0);} עיכוב (charBreak); } display voidString (char * ים) {עבור (int i = 0; i <= strlen (s); i ++) {displayChar (s [i]); } } לולאת חלל () {// שנה את הטקסט כאן כדי לשנות את הטקסט המוצג. // הקפידו לשמור על סוגריים וסימני מרכאות. displayString (".. שלום ..."); עיכוב (40); }

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

עכשיו לעשות מבחן מהיר. נתק את Arduino שלך מכבל ה- USB והחבר את מחבר הסוללה לפינים של VIN ו- GND של ה- Arduino שלך.

pov fritz עם batt

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

מבחן לחם

זה עובד! עכשיו כדי להפוך את זה לקבוע יותר.

מגהצים מוכנים!

הנח את לוח Arduino שלך, נגדים ונורות LED על לוח הדף שלך ככה:

מונח על הסיפון

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

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

קתודות שורות

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

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

נגדים לאנודים

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

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

תמונת המשכיות

לאחר שבדקת כל חיבור, חתך את האורך העודף מרגלי הנגדים

הוספת כוח

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

חוטי gnd למעלה

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

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

מתג vin

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

מארז

עכשיו כשאנחנו עובדים בזה, בואו נכניס את זה לקופסה. כאן נעשה שימוש בקופסת קרטון מצוירת, אם כי ניתן היה ליצור משהו קבוע יותר באמצעות קופסה שקנתה בחנות תחביבים, או אפילו ארגז טופר ישן. לקבלת זיכוי חנון נוסף, אתה יכול אפילו להדפיס 3D בעצמך אחת ממדפסות התלת מימד הזולות הללו. 5 מדפסות תלת מימד זולות שתוכלו למעשה לקנות היוםלפני כמה שנים אחורה, אפילו מדפסות התלת מימד הזולות ביותר היו קרובות לאי נוחות לסימן 1,000 $ - כעת תוכלו להשיג מדפסת תלת מימד איכותית במחיר נמוך עד 400 $. קרא עוד

חתוך את לוח הפרוטוקול שלך לגודל על ידי ניקודו ונקע בזהירות חלקים שאינך זקוק להם.

פרוטו גיף

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

לעשות חורים

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

מדידת מתג

ג'וב נעשה!

סגור את המתחם שלך, וסיימת! כדי לשנות את הטקסט, חבר את כבל ה- USB ללוח Arduino ושנה את הטקסט בתוך הסוגריים אחרי displayString בתוך ה לולאה שיטה. מצא מקום אפל, ותהנה!

בקצב איטי יותר

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

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