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

גרפיטי וירטואלי: 8 שלבים
גרפיטי וירטואלי: 8 שלבים

וִידֵאוֹ: גרפיטי וירטואלי: 8 שלבים

וִידֵאוֹ: גרפיטי וירטואלי: 8 שלבים
וִידֵאוֹ: גרפיטי באשדוד 2024, יולי
Anonim
גרפיטי וירטואלי
גרפיטי וירטואלי

ראיתי כמה מערכות גרפיטי וירטואליות באינטרנט אך לא מצאתי מידע שפורסם על אופן ביצוע אחת (אם כי עיין בדף הקישורים הסופי). חשבתי שזה יהיה נהדר עבור סדנאות הגרפיטי שלי, אז הכנתי אחת בעצמי ופרסמתי כאן את כל מה שאתה צריך כדי ליצור בעצמך! תכונות * כולן קוד פתוח וחומרה, * עלות <100 ליש"ט לא כולל מקרן ומחשב, * מזהה פיית פחית לחץ ומרחק מהמסך, * דוגמניות צבע מטפטפות אם אתה זז לאט מדי! הערות * ההנחיה היא ברמה גבוהה למדי, אבל אנא יידע אותי אם פספסתי משהו חשוב, * הגדרת המחשוב מיועדת לינוקס. אם אתה מקבל את זה עובד על מערכות אחרות, אנא פרסם את ההוראות שלך! כישורים שתצטרך * עבודת עץ כדי להפוך את מסך ההקרנה האחורי מעץ, * מעגלים אלקטרוניים ותכנות Atmel AVR מיקרו בקרי (או ארדואינו), * להיות מסוגל להתקין כמה ספריות במחשב שלך כדי לאפשר לעיבוד לדבר עם wiimote.

שלב 1: איך זה עובד

איך זה עובד
איך זה עובד

* לפחית הספריי יש נורית אינפרא אדומה המאירה מבעד למסך המקרן ונראית על ידי מצלמת ה- wiimote. * ה- wiimote שולח את קואורדינטות הפחית X ו- Y למחשב באמצעות קישור רדיו Bluetooth. * המחשב מפעיל תוכנית צביעה פשוטה המשתמשת במקרן כדי "לצבוע" את הקווים תוך כדי ציור בעזרת הפחית. הוא גם דואג למפות את מצלמת ה- wiimote למסך באמצעות מערכת כיול 4 נקודות. * התרסיס יכול גם לזהות את מרחקו מהמסך ולחץ הזרבובית: ככל שתתרחקו הנקודה שצוירה גדולה יותר, כך תלחצו חזק יותר על הזרבובית, נקודת הצבע תהיה אטומה יותר.

שלב 2: הרכיבים

הרכיבים
הרכיבים

להלן כל החלקים הדרושים לכם כדי לחבר:

* מחשב - צריך להיות בערך 1.4Ghz, בלוטות 'ויציאת USB, * סביבת עיבוד, * תוכנת וירטואלית גרפיטי, הורדה משלב "התקנת המחשב", * נינטנדו wiimote - קנה יד שנייה מאיביי, * מקרן - זה יצטרך היה בהיר אם אתה מתכנן להשתמש במהלך היום או בפנים עם אורות דולקים, * מסך הקרנה אחורי - עשה עצמך, * פחית וירטואלית - עשה את עצמך, * מקלט פחית וירטואלי - עשה את עצמך. מובנה ב- usb-> סדרתי) 21 ליש"ט * רדיו rx/tx זוג 9 ליש"ט * רכיבים לבניית תרסיס לבניין 18 פאונד בתוספת מארז אופציונלי 12 ליש"ט * מארז אופציונלי למקלט 8 ליש"ט * נינטנדו wiimote - קנה יד שנייה מאיביי 20 ליש"ט

שלב 3: מסך הקרנה אחורי

מסך הקרנה אחורי
מסך הקרנה אחורי

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

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

שלב 4: פחית ריסוס

פחית ריסוס
פחית ריסוס
פחית ריסוס
פחית ריסוס

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

גרסה זו מתקדמת יותר, מכיוון שהיא מודדת גם את המרחק מהמסך ולחץ הזרבובית. שני הדברים האלה חשובים כאשר אתה בעצם מרסס. רציתי ליצור מערכת הדרכה, ולכן היה חשוב להפוך את המערכת ל"אמיתית "ככל האפשר (בגבולות העלות שלי). המעגל די פשוט. תסתכל על תרשים המעגל המצורף כדי לראות בעצמך. אתה צריך מיומנויות הלחמה בסיסיות וכדי שתוכל להעלות מעגל על veroboard. כמו כן, אתה צריך להרגיש שמח עם תכנות מיקרו -בקרים. בניית מעגל מאפס לעומת שימוש בלוח ארדואינו אפשרות 1: אם אתה רוצה להשתמש בלוח ארדואינו בפחית ריסוס. השתמש בארדואינו כפי שהוא ומחצית את קצב השידור של הרדיו tx בקוד הספריי. אפשרות 2: אתה רוצה לחסוך כסף אבל אין לך מתכנת נתיכים. בנה את הלוח והשתמש בגביש חיצוני של 16 מגה -הרץ. חצו את קצב השידור כמו באפשרות 1. אפשרות 3: אתה רוצה לחסוך עוד יותר כסף ויש לך מתכנת נתיכים. בנה את הלוח, אך השמט את הגביש החיצוני. השתמש במתכנת הנתיכים כדי להגדיר את האטם לשימוש בשעון הפנימי שלו. אני מאמין שזה מתכנת מקביל DIY יאפשר לך לתכנת נתיכים. אני משתמש במתכנת olimex. סקירה כללית של המעגל המיקרו -בקר מודד את התפוקה מחיישן המרחק החריף 2d120x (מידע נהדר על חיישן זה כאן) והפוטנציומטר הליניארי. הוא גם מודד את התפוקה של פוטנציומטר LED PWM. זה משמש להתאמת תפוקת האור של ה- LED. נורית ה- IR שאני משתמש בה היא 100mA ואורך הגל השיא הוא 950nm (אידיאלי עבור wiimote). המיקרו -בקר משתמש ב- PWM כדי להבהב את ה- LED מהר מאוד. אנו משתמשים ב- mosfet כוח IRF720 כדי שהמיקרו לא ישרוף את תפוקתו. כמו כן רציתי להוסיף קיבולת עבור LED בהיר יותר בעתיד. יש נורית סטטוס המהבהבת בכל פעם שחבילת נתונים משודרת ברדיו. אם הכל עובד טוב, אור זה אמור להבהב בסביבות 15 הרץ. לבסוף, מודול משדר הרדיו מחובר לסיכה 3 (סיכה דיגיטלית 1 עבור arduino) של המיקרו -בקר, כך שנוכל לשלוח את המידע שאנו מודדים למחשב. אתה גם צריך אווירה מחוברת ללוח המקלט. השתמשתי בפייס חוט באורך 12 ס"מ. זה חצי מהמומלץ בדף המידע המעולה הזה. תכנות המיקרו -בקר לאחר שבנית את המעגל, יהיה עליך להעלות את התוכנית (מצורף). אני משתמש בסביבת התכנות/librar של arduino. אתה יכול לאסוף את זה עם arduino IDE, ולאחר מכן לתכנת אותו כפי שאתה עושה בדרך כלל. המעגל שלי נעשה פשוט יותר באמצעות השעון הפנימי של 8 מגה -הרץ של המיקרו. אם אתה משתמש בזה תצטרך להגדיר את הגדרות הנתיכים לשימוש במכשיר הפנימי המכויל 8MHz פנימי: 1111 0010 = 0xf2 המשמעות היא שתצטרך להיות מתכנת שיכול לכתוב נתיכים../avrdude -C./avrdude.conf -V -p ATmega168 -P/dev/ttyACM0 -c stk500v2 -U lfuse: w: 0xf2: m אם אין לך מתכנת מסוג זה (תגיד שיש לך רק את הארדואינו לוח), פשוט השתמש בגביש 16 מגה -הרץ בין הפינים 9 ל -10 וכל זה אמור לעבוד (לא נבדק - ייתכן שתזדקק לקבל). יהיה עליך גם לשנות את קוד התוכנית כך ששידור המשדר יגיע לחצי. בדיקה לאחר שהכל ביחד והתוכנית נטענת, עליך להתאים את בהירות LED ה- IR. רק רציתי למקסם את תפוקת האור מבלי לקלוע את ה- LED אז פוצצתי כמה והסתיים בממוצע ציור של 120ma. אם יש לך מולטימטר אתה יכול להתאים את זה די בקלות, אחרת פשוט התאם את הפוטנציומטר להיות גבוה למדי אך לא עד הסוף! אתה יכול גם לבדוק את הכניסות האנלוגיות בסיכות 26, 27 ו -28 של פוטנציומטר PWM להתאמה, חיישן המרחק ופוטנציומטר הזרבובית. אם יש לך היקף אתה יכול לבדוק את רכבת הדופק היוצאת מסיכה 3 לתוך מודול TX הרדיו. בדוק את פלט ה- pwm של ה- LED על פין 11. תוכל להשתמש במצלמת טלפון נייד (או ברוב מצלמות ה- CCD) כדי לראות את נורית ה- IR נדלקת בעת לחיצה על כפתור הזרבובית.

שלב 5: מקלט פחית ריסוס

מקלט פחית ריסוס
מקלט פחית ריסוס
מקלט פחית ריסוס
מקלט פחית ריסוס

אם אתה הולך על מסלול התרסיס הפשוט אז אתה לא צריך את הקטע הזה.

אחרת, אני פשוט משתמש בלוח ארדואינו, כאשר מקלט הרדיו מחובר לפין 2. זה מקל על הכנסת הנתונים למחשב באמצעות שבב USB -> טורי בלוח הארדואינו. אם הייתי מתכוון ליצור מעגל מותאם אישית כנראה שהייתי משתמש בלוח הערכה מסוג UART FTDI USB>> סדרתי. אתה גם צריך אווירה מחוברת ללוח המקלט. השתמשתי בפייס חוט באורך 12 ס"מ. זה חצי מהמומלץ בדף המידע המעולה הזה. טען את הסקיצה graffitiCanReader2.pde לתוך הארדואינו. כשהפחית מופעלת, אתה אמור לראות את נוריות הסטטוס על הפחית ולוח המקלט מהבהב במהירות. בכל פעם ש- LED הפחית מהבהב, נשלחת חבילת נתונים. בכל פעם שנורית לוח המקלט מהבהבת, מתקבלת חבילת נתונים תקפה. אם אתה לא רואה את זה אז יש משהו עם קישור הרדיו. משהו לנסות הוא חיבור TX של הפחית ל- RX של המקלט בעזרת חוט חוט. אם זה לא עובד אז כנראה שיש לך חוסר התאמה בקצב השידור של virtualwire (עיין בקוד). בהנחה שיש לך הרבה מהבהבים על לוח המקלט, אתה אמור להיות מסוגל לעקוב אחר זה ביציאה הטורקית של ה- usb שלך. אם אתה עוקב אחר היציאה הטורית (בדרך כלל /dev /ttyUSB0) ב- 57600 אתה אמור לראות נתונים שנשפכים החוצה כמו Got: FF 02 Got: FF 03… המספר הראשון הוא לחץ, והשני הוא המרחק. עכשיו אתה יכול להריץ עיבוד ולהשתמש במידע זה כדי ליצור תמונות יפות! טען את סקיצת העיבוד המצורפת (canRadioReader.pde). הפעל את התוכנית ובדוק את פלט התוכנית. אתה אמור לקבל תדר (זה אומר לך כמה עדכונים בשנייה המקלט מקבל - אתה בהחלט רוצה שזה יהיה לפחות 10Hz). כמו כן תקבל מדידת מרחק וזרבובית. בדוק את הפחית על ידי הזזת פוטנציומטר הזרבובית ועל ידי העברת פיסת כרטיס מול חיישן המרחק. אם הכל עובד, המשך לשלב הבא - הכנת המחשב לשיחה עם wiimote!

שלב 6: התקנת מחשב: עיבוד ו- Wiimote

התקנת מחשב: עיבוד ו- Wiimote
התקנת מחשב: עיבוד ו- Wiimote

העיקרי שלנו כאן הוא לקבל עיבוד לדבר עם wiimote. הוראות אלה הן ספציפיות לינוקס, אך כולן צריכות לעבוד במחשב Mac ו- Windows עם קצת מחקר כיצד להביא את הנתונים של ה- wiimote לעיבוד. לאחר התקנת העיבוד מצאתי כמה הוראות בפורום, אך עדיין היו לי כמה בעיות. הנה מה שהייתי צריך לעשות:

  1. להתקין עיבוד
  2. התקן ספריות bluez: sudo apt-get install bluez-utils libbluetooth-dev
  3. צור./processing/libraries/Loc ו-./processing/libraries/wrj4P5
  4. הורד bluecove-2.1.0.jar ו- bluecove-gpl-2.1.0.jar והכנס ל-./processing/libraries/wrj4P5/library/
  5. הורד wiiremoteJ v1.6, והכנס את ה-.jar לתוך./processing/libraries/wrj4P5/library/
  6. הורד wrj4P5.jar (השתמשתי ב- alpha-11) והכנסתי אותו ל-./processing/libraries/wrj4P5/library/
  7. הורד את wrj4P5.zip ופרוק אותו לתוך./processing/libraries/wrj4P5/lll/
  8. הורד את Loc.jar (השתמשתי בטא 5) והכנסתי ל-./processing/libraries/Loc/library/
  9. הורד את Loc.zip ופרוק אותו לתוך./processing/libraries/Loc/lll/

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

כדי לבדוק את ה- Bluetooth שלך, לחץ על לחצנים אחד ושניים ב- wiimote, ולאחר מכן נסה $ hcitool לסרוק במסוף. אתה אמור לראות את נינטנדו wiimote זוהה. אם לא, תצטרך להסתכל עוד על הגדרת ה- Bluetooth שלך. אם הכל טוב, טען את התוכנית wiimote_sensor.pde (מצורף) והפעל אותה. בחלק הסטטוס התחתון של המסך אתה אמור לראות: BlueCove גירסה 2.1.0 ב- bluez מנסה למצוא wii לחץ על כפתורים 1 ו -2 ב- wiimote. לאחר שזוהה, הניף מולך את המקור האינפרא אדום שלך (פחית הריסוס). אתה אמור לראות עיגול אדום בעקבות התנועה שלך! וודא שזה עובד לפני שתמשיך הלאה. אם אינך מצליח לגרום לזה לעבוד, חפש בפורום העיבוד.

שלב 7: הגדרת הכל

הגדרת הכל
הגדרת הכל

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

* הפעלה של פחית ריסוס, בדוק מצב נורית LED מהבהבת. * הפעל את המחשב, חבר את מקלט פח התרסיס, * מסך ההתקנה והמקרן, * בדוק כי נורית הסטטוס של מקלט התרסיס מהבהבת, * התחל לעבד וטעינה את התוכנית virtualGraffiti, * בדוק שאתה מקבל גם מחוון סידורי RX וגם TX נוריות מהבהבות על לוח הארדואינו, * לחץ על שני הכפתורים ב- wiimote, * עשה כיול 4 נקודות כאשר תתבקש (לשים פחית על כל מטרה בתורו, ולאחר מכן לחץ על הזרבובית עד שהכתיבה הופכת לאדומה). * תעשה חיים!

שלב 8: משאבים, קישורים, תודה, רעיונות

קישורים להלן הקישורים שהיו בעלי ערך רב בכדי לגרום לפרויקט הזה לעבוד: מידע RF: https://narobo.com/articles/rfmodules.html Arduino: www.arduino.cc עיבוד: www.processing.org שימוש ב- wii עם עיבוד: https://processing.org/discourse/yabb2/YaBB.pl? num = 1186928645/15 לינוקס: www.ubuntu.org Wiimote: https://www.wiili.org/index.php/Wiimote, https:// wiki.wiimoteproject.com/IR_Sensor#אורכי גל כיול 4 נקודות: https://www.zaunert.de/jochenz/wii/ תודה! ללא הרבה אנשים שמפרסמים את עבודותיהם, הפרויקט הזה היה הרבה יותר קשה ויקר יותר. תודה ענקית לכל צוות הקוד הפתוח, לאנשים שפרצו ל- wiimote, ל- Classiclll על הפיכת Wiimote לפשוטה לשימוש בעיבוד, Jochen Zaunert עבור קוד לביצוע כיול, צוות עיבוד, צוות arduino, Lou לעזרה בנגרות, וכל אלה שחוקרים, עושים ולאחר מכן פרסם את ממצאיהם באינטרנט! מערכות של אנשים אחרים * רק עכשיו מצאתי https://friispray.co.uk/, עם תוכנת קוד פתוח ואופן * מערכת זו מאפשרת שימוש בשבלונות: מגניב! https://www.wiispray.com/, ללא קוד או כיצד * מערכת הגרפיטי הווירטואלית של yrwall, אין קוד או כיצד לעשות זאת. רעיונות לחקר * השתמשו ב- 2 wiimotes לביצוע מעקב אחר נפח תלת -ממדי ולחסל חיישן מרחק בפחית: https://www.cl.cam.ac.uk/~sjeh3/wii/. זה יהיה טוב מכיוון שחיישן המרחק הוא כיום החלק החלש ביותר של המערכת. זה גם אומר שנוכל להשתמש במסך הקרנה אחורי מתאים לתמונות חיות יותר. * השתמש ב- wiimote בפחית כדי לזהות זווית של פחית ריסוס. זה יוסיף ריאליזם למודל צבע ריסוס.

מוּמלָץ: