תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
מדריך זה ידגים כיצד ליצור תיאטרון צל בסיסי באמצעות החומרים הבאים. ליישום שלי עשיתי סירה המתנדנדת בגלים אבל עם כמה התאמות קלות, אתה יכול להשתמש בכל צורות/אובייקטים שאתה אוהב כדי ליצור כל סצנה שתרצה.
- ערכת אונו Arduino
- מדפסת תלת מימד ותוכנת עיצוב
-סוללה של 9 וולט
-מקלט IR
- נוריות
-(https://www.amazon.com/6000K-6500K-600mA-700mA-Int…)
- סרוו מוטורס
- לוח לחם
- העתק נייר
שלב 1: עיצוב
השתמש בתוכנית כגון solidworks או ממציא כדי לעצב את החלקים שאתה רוצה, במקרה שלי את הסירה ולנפנף, יחד עם חריצים מוחצנים כדי להרכיב אותם לסוגריים כדי להצמיד אותם למנועי סרוו.
על מנת לקבל את התנועה האופקית והאנכית הלינארית שרציתי, השתמשתי במערכת שני מוטות המחוברת לסרוו יחד עם מסילת הנחייה המעוצבת בצורת T המתאימה לתוספת אחרת בצורת T בסירה וחתיכות גל.
ניתן גם לשנות את הסוגריים המודפסים בתלת מימד לגודל ולהתאמה, אך הדבר היחיד שצריך לשים לב הוא שקוטר החורים חייב להתאים זה לזה ולמנוע הסרוו. עבור סרווס ויישום שלי, לכל החורים קוטר של 5 מ"מ. ומסילות T קטנות יותר ברוחב 1 מ"מ מהתוספת להן הן מיועדות.
לאחר ההדפסה, ייתכן שיהיה צורך במלטש ובתיוק קלים בכדי שיהיו חלקים מתאימים וחלקים נעים.
שלב 2: הרכבה
מיקום כל החלקים שלך הוא המפתח לפרויקט זה מכיוון שאם הם אינם נמצאים במיקומים הנכונים, הקרנת הצל שלך לא תהיה מדויקת.
התחל בהרכבת המסך שלך, השתמשתי בגיליון נייר עתק קטן בין מסגרת מודפסת תלת -ממדית שנועדה להיראות כמו 2 עמודים וחזית.
לאחר מכן הרכיב את הלוד שלך באופן רופף (להתאמות עתידיות). עבור ה- LED הרכבתי אותו חיצונית על ידי חיבורו לכמה חוטי מגשר ולאחר מכן לסוללת 9 וולט, אך תוכל לקחת אותו צעד קדימה ולשלב אותו בארדואינו כך שלא תצטרך להסיר את הכבלים באופן ידני כדי לפנות האור דולק וכיבוי.
לאחר שהנורה והמסך ממוקמים, מקם את החלקים הנעים שלך בין השניים כך שתקבל את ההקרנה האידיאלית שאתה מחפש, ולאחר מכן לאחר שתאבטח את סרווך במקום כדי למנוע מהם לנוע (השתמשתי רק בדבק -על).
מנקודה זו פשוט הניח את החוטים, הארדואינו, לוח הלחם ומקלט ה- IR שלך בכל מקום שהם לא יפריעו לאור ותסיים.
שלב 3: קידוד
#לִכלוֹל
#לִכלוֹל
#הגדר משחק 0xFFC23D
int oscillate = 0; int RECV_PIN = 11; // סיכת מקלט IR
סרוו סרוו;
סרוו סרוו 2;
int val; // סיבוב זווית pos;
bool cwRotation, ccwRotation; // מצבי הסיבוב
IRrecv irrecv (RECV_PIN);
תוצאות decode_results;
הגדרת חלל ()
{Serial.begin (9600);
irrecv.enableIRIn (); // הפעל את המקלט
servo2.attach (7); // סיכת סרוו שנייה
servo.attach (9); // סיכת סרוו
}
לולאת void () {if (irrecv.decode (& תוצאות)) {
Serial.println (results.value, HEX);
irrecv.resume (); // קבל את הערך הבא
אם (results.value == play || נדנוד)
{
להתנדנד = 1;
servo.write (5); // אמור לסרוו ללכת למיקום במשתנה 'pos'
servo2.write (5);
עיכוב (400); // מחכה שהסרוו יגיע לעמדה
servo.write (50); // אמור לסרוו ללכת למיקום במשתנה 'pos'
servo2.write (50);
עיכוב (400); // מחכה שהסרוו יגיע לעמדה
}
}
}