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

תצוגת POV של Digilog_Bike: 14 שלבים
תצוגת POV של Digilog_Bike: 14 שלבים

וִידֵאוֹ: תצוגת POV של Digilog_Bike: 14 שלבים

וִידֵאוֹ: תצוגת POV של Digilog_Bike: 14 שלבים
וִידֵאוֹ: Противовирусная настройка иммунитета 2024, יולי
Anonim
Image
Image

Digilog

דיגיטלי + אנלוגי

דיגיטלי פוגש אנלוגי

POV

התמדה ויזואלית

ידועה גם בשם תצוגת תדמית, אם היא מזועזעת במהירות גבוהה, התמונה הנותרת נשארת.

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

שלב 1: רעיון רעיון

רעיון רעיון
רעיון רעיון

POV מיושם על ידי חיבור רצועת LED לגלגל האופניים.

שלב 2: רשימת חומרים

רשימת חומרים
רשימת חומרים
רשימת חומרים
רשימת חומרים

מחשוב וקלט/פלט

1. Arduino Mega 2560 [arduino] x3

2. מודול חיישן אולם V2 [YwRobot] x3

3. WS2812-5050 גמיש Neopixel [Adafruit] x3

4. מגנטי (קוטר של 15 מ"מ, עובי של 50 מ"מ) x3

5. מארז מגה ארדואינו x3

קו חשמל

5. סוללת ליתיום 5000mAh/3.7V [TheHan] x3

6. רגולטור AVR 5V וטעינה ומודול PCM: JBATT-U5-LC [Jcnet] x3

7. ערכת חוט 4 מגשר 65 יח '\ סט [OR0012] x3

שלב 3: כלים

כלים
כלים

לא צריך יותר מדי כלים אולם תצטרך:

1. מכונת הלחמה

2. מגהץ

3. הדבק אקדח

4. ניפר

שלב 4: הכנת מסגרת

Image
Image
יצירת מסגרת
יצירת מסגרת

חיתוך האופניים והצמדת הבסיס

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

שלב 5: שרטוט תמונות ומושגים אחרונים

רישום תמונות ומושגים אחרונים
רישום תמונות ומושגים אחרונים
רישום תמונות ומושגים אחרונים
רישום תמונות ומושגים אחרונים
רישום תמונות ומושגים אחרונים
רישום תמונות ומושגים אחרונים

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

שלב 6: גזור את התמונה הנעת

גזור את התמונה הנעת
גזור את התמונה הנעת
גזור את התמונה הנעת
גזור את התמונה הנעת

חלקו את התמונה לשלושה חלקים שיתאימו לכל אופניים וחלקו את סך 12 התמונות לפי צבע ותנועה.

שלב 7: הכנת תוכנה

תוכנת הכנה
תוכנת הכנה
תוכנת הכנה
תוכנת הכנה

תת חלק 1. התקן את Arduino

הורדת Arduino:

(התקן כך שיתאים לגרסת מערכת ההפעלה ולמערכת שלך.)

-

תת חלק 2. התקן את הספרייה

*(אם ברצונך להתקין באמצעות Github, בקר בקישור שלמעלה לספריית Github Arduino:

1. הפעל את תוכנית Arduino

2. אפשר את הקישור תפריט עליון - סקיצה - כלול ספרייה - הוסף ספריית zip

3. עליך לבחור בקובץ. Zip שכבר התקין את ספריית github4

*(אם אתה רוצה להשתמש בשירותי התוכנית Arduino)

1. הפעל תוכניות Arduino

2. אפשר את הקישור תפריט עליון - סקיצה - כלול ספרייה - ספריית ניהול - חיפוש 'Adopruit neopixel' - תוכל לראות את 'Adafruit Neopixel by Adafruit'

3. התקן ועדכן את הספרייה

-

תת חלק 3. התקן את תוכנית הממיר

1. התקן את תוכנית מעגל הסיבוב (R. C. P):

2. עליך לקרוא קובץ README

שלב 8: יצירת ספק כוח לחומרה

ייצור ספק כוח לחומרה
ייצור ספק כוח לחומרה
ייצור ספק כוח לחומרה
ייצור ספק כוח לחומרה
ייצור ספק כוח לחומרה
ייצור ספק כוח לחומרה

*כך ניתן לספק מתח Arduino 5V דרך הסוללה. אנא עקוב אחר השלבים שלהלן.

1. חבר סוללת ליתיום ומודול טעינה JBATT. (לעיון, למודול JBATT יש מתג הפעלה מובנה.)

2. חבר את מסוף הפלט של JBATT למסוף Vin של מסוף Arduino ו- Ground.

3. חבר את יציאת ה- USB מסוג Micro 5pin ליציאת הטעינה כדי לבדוק אם המוצר פועל כראוי.

4. לאחר מכן, הפעל את המתג המובנה למצב ON.

5. אם הנורית האדומה נדלקת והדלק הירוק נדלק בארדואינו, תצורת שלב הכוח של המוצר תושלם כרגיל.

שלב 9: הכנת קלט/פלט חומרה ובדיקת פלט (NeoPixel עובד)

ייצור קלט/פלט חומרה ובדיקת פלט (NeoPixel עובד)
ייצור קלט/פלט חומרה ובדיקת פלט (NeoPixel עובד)
ייצור קלט/פלט חומרה ובדיקת פלט (NeoPixel עובד)
ייצור קלט/פלט חומרה ובדיקת פלט (NeoPixel עובד)
ייצור קלט/פלט חומרה ובדיקת פלט (NeoPixel עובד)
ייצור קלט/פלט חומרה ובדיקת פלט (NeoPixel עובד)

*חלק זה מורכב מחיישן ושלב פלט

1. חבר את חיישני Arduino ו- Hall. סיכת הנתונים מתחברת לסיכה 2 של Arduino.

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

3. חבר את Arduino ו- Neopixel. משמשים רק 30 ניאופיקסלים.

4. חבר את סיכת הנתונים עם סיכת Arduino 6.

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

6. בחר כלי לוח - "Arduino / Genuino Mega או Mega 2560" מסרגל התפריטים העליון של תוכנית Arduino.

7. בדוק אם יש רשימת מוצרים שניתן לחבר ישירות ליציאה. אם הוא לא מסומן, לחץ כדי לבחור אותו.

8. הדבק את הקוד למטה ולחץ על העלה בצד שמאל למעלה. (לאחר מכן, כל העלאות התוכנית פועלות לפי שלבים 5-8.)

9. התצורה הושלמה כאשר כל 30 הפיקסלים הנאולרים מופעלים.

#1. כולל קובץ כותרת ועיבוד מוקדם

ראשית עלינו להביא את הספרייה Adafruit_NeoPixel המסוגלת לפעול Neopixels.

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

מחלקת Adafruit_NeoPixel יכולה להזין 3 פרמטרים בציבור.

הפרמטר הראשון הוא מספר הלדים.

פרמטר שניות הוא מספר הסיכה המחובר לכניסה הדיגיטלית של Neopixel.

פרמטר שלישי הוא הזנת אפשרויות בהתאם למאפייני המוצר. מוצר WS2812b בשלושה צבעים משתמש בקלט 'NEO_GRB'

#לִכלוֹל

#define PIN 6 Adafruit_NeoPixel strip = Adafruit_Neopixel (30, PIN, NEO_GRB+NEO_KHZ800);

#2. להכין

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

'Adafruit_Neopixle_Object.begin ()' מגדיר את כל נוריות LED לכבות.

יציאות 'Adafruit_Neopixle_Object.show ()' עם הבהירות המוגדרת ב- LED.

הגדרת בטל () {

strip.begin (); strip.show (); }

#3. לולאה ראשית

הפעולה של הלולאה הראשית משתמשת בלולאה עבור לפלט ברצף (0.1 שניות) הנורות הלבן בלבן

לולאת חלל () {

עבור (uint16_t i = 0; i <strip.numPixels (); i ++) {strip.setPixelColor (i, 255, 255, 255); strip.show (); עיכוב (100); }}

שלב 10: הרכבה והצמד לגלגל

הרכבה והצמד להגה
הרכבה והצמד להגה
הרכבה והצמד להגה
הרכבה והצמד להגה

1. חבר Neopixels. (שימו לב לבדיקת מספר סיכה)

2. חבר את חיישן האולם. (עיין לשלב 9)

3. חבר את המסגרת לארדואינו בין האופניים. (חבר את מארז הארדואינו במקביל למסגרת האופניים).

4. הכנס את הארדואינו המחובר ל- Neopixel. (היזהר כי אקדח הדבק חם).

5. הכנס את חיישן האולם המחובר לארדואינו, (אבטח את קשר הכבל כך שחיישן האולם לא ייפול).

6. הלחמה לחיבור סוללה. (היזהר בעת הלחמה).

7. תקן אותו בעזרת אקדח דבק. (חבר את מודול הטעינה על הסוללה כדי לאבטח מקום).

8. חבר כל שורה לפני חיבור ל- Arduino, 9. חבר לפי כל מספר סיכה. (חבר את קווי הקפיצה של מודול הטעינה מבלי לבלבל אותם).

10. סיימו עם אקדח דבק פעם אחת, (אנא שימו לב לא ליפול).

שלב 11: בדיקת INPUT (נתוני חיישן HALL)

בדיקת INPUT (נתוני חיישן HALL)
בדיקת INPUT (נתוני חיישן HALL)
בדיקת INPUT (נתוני חיישן HALL)
בדיקת INPUT (נתוני חיישן HALL)
בדיקת INPUT (נתוני חיישן HALL)
בדיקת INPUT (נתוני חיישן HALL)

*בדוק את קוד התוכנה כדי לראות אם החיישן פועל.

1. הדבק והעלה את הקוד למטה.

2. לחץ על הלחצן צג סידורי בפינה השמאלית העליונה של ה- Arduino.

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

-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- #1. הגדר מספר סיכה והגדרה

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

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

#הגדר אולם 2

הגדרת void () {pinMode (HALL, INPUT); Serial.begin (9600); }

#2. לולאה ראשית

בדוק את נתוני חיישן האולם במרווחים של 0.1 שניות.

אם המגנט מורגש והנתונים משתנים, "מגנטי מגע" יוצא אל הצג הטורי.

לולאת חלל () {

if (digitalRead (HALL)) {Serial.println ("מגנטי ליצירת קשר"); } עיכוב (100); }

שלב 12: אלגוריתם קידוד

*צור לוגיקה וקידוד לשליטה ב- Neopixels על סמך ערכי חיישן.

1. הדבק והעלה את הקוד למטה.

2. זה נורמלי שהתמונה לא תוצג כראוי מכיוון שלא נוצרת מסגרת. אבל אתה יכול לראות שזה עובד בערך.

3. גע במהירות ושחרר את חיישן ומגנט האולם תוך שנייה אחת. חזור על פעולה זו בערך 10 פעמים.

4. התצורה הושלמה כאשר הצבעים של ה- Neopixels משתנים באופן קבוע.

#1. כולל קבצי כותרות ועיבוד מוקדם

ראשית, עלינו להבין שזיכרון ה- Arduino Mega אינו גדול מספיק בכדי להכיל קובץ תמונה.

לכן, קובץ הכותרת 'avr/pgmspace' משמש לניצול שטח זיכרון שונה.

כדי להשתמש ב- Neopixels, אתה מצהיר על אובייקט ותצורה כמספר סיס/פלט.

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

#לִכלוֹל

#include #define PIN 6 #define NUMPIXELS 30 #define HALL 2 Adafruit_NeoPixel strip = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_RGB + NEO_KHZ800); // הדבק מערך ב- 'image_array_1.txt' // "'image_array_2.txt' //" 'image_array_3.txt' // "'image_array_4.txt'

#2. משתנה והגדרה גלובלית

הגדר משתנה גלובלי.

העיקר הוא להגדיר את הבהירות, היא קובעת את מחזור החיים של המוצר.

int count = 0;

v כפול = 0; כפול last_v = 0; טיימר כפול = מיקרו (); ex_timer כפול = micros (); כפול last_timer = micros (); int deg = 36; int pix = 35; int rgb = 3; q_arr [2] כפול = {0, 0}; int HALL_COUNT = 0; VELO כפולה; טיימר עיבוד כפול = micros (); הגדרת void () {strip.setBrightness (255); strip.begin (); strip.show (); Serial.begin (230400); }

#3. לולאה ראשית - חלק פלט ביטוי תמונה

קוד זה הוא הצהרה מותנית לגבי אופן הפקת הזמן שהגלגל מסתובב ברזולוציה.

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

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

לולאת חלל () {

if ((count (ex_timer / 120.0) - (micros () - processing_timer))) {timer = micros (); if (VELO> 360000) {for (int i = 0+5; i <pix; i ++) {strip.setPixelColor (i - 5, strip. Color (pgm_read_byte (& (image_1 [count] [1])), pgm_read_byte (& (image_1 [count] [2])), pgm_read_byte (& (image_1 [count] [0])))); } strip.show (); } אחרת אם (VELO 264000) {עבור (int i = 0+5; i <pix; i ++) {strip.setPixelColor (i - 5, strip. Color (pgm_read_byte (& (image_2 [count] [1])), pgm_read_byte (& (image_2 [count] [2])), pgm_read_byte (& (image_2 [count] [0]))))); } strip.show (); } אחרת אם (VELO 204000) {עבור (int i = 0+5; i <pix; i ++) {strip.setPixelColor (i - 5, strip. Color (pgm_read_byte (& (image_3 [count] [1])), pgm_read_byte (& (image_3 [count] [2])), pgm_read_byte (& (image_3 [count] [0]))))); } strip.show (); } אחרת אם (VELO <= 204000) {for (int i = 0 + 5; i = 120)) {for (int i = 0 + 5; i <pix; i ++) {strip.setPixelColor (i - 5, strip. Color (0, 0, 0)); } strip.show (); }

#4. לולאה ראשית - עיבוד וחישה בזמן מחזור

זהו החלק החשוב ביותר במערכת כולה.

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

הזמן המורגש בכל פעם שהגלגל מסתובב מנבא את זמן המחזור הבא.

ניתן להעריך את האצה על ידי הפחתת זמן המחזור האחרון שנמדד מזמן המחזור הנמדד בזמן.

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

processor_timer = micros ();

אם ((digitalRead (HALL) == HIGH) && (HALL_COUNT == 1)) {VELO = v; v = micros () - last_timer; ex_timer = q_arr [0] - q_arr [1] + v; last_timer = micros (); q_arr [0] = q_arr [1]; q_arr [1] = v; ספירה = 0; HALL_COUNT = 0; } אחרת אם (digitalRead (HALL) == LOW) {HALL_COUNT = 1; }}

שלב 13: שימוש בתוכנה

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

*השתמש בתוכנה כדי להפוך את התמונה ולהכניס נתוני תהלוכה לקוד

1. הכנס את התמונה מהשלב למעלה לתיקיית התמונה בתיקיית R. C. P המותקנת בשלב ההכנה.

- אופן הצבת התמונה הוא כדלקמן.- שנה שם של 4 תמונות מונפשות של מוצר מספר 1 לפי 1.png, 2.png, 3-p.webp

2. הפעל את הקובץ Ver.5.exe.

3. ודא כי 12 קבצים pro_1_code_1.txt ל- pro_3_code_4.txt נוצרים בתיקיית R. C. P.

4. אם הוא לא נוצר, שנה את התוכן של config.txt כקובץ התצורה הבא.

5. לאחר יצירת הקובץ, העתק את כל התוכן מהקובץ pro_1_code_1.txt והדבק אותו בחלק המוצג בקוד למטה.

6. הוסף את התוכן pro_1_code_2.txt, pro_1_code_3.txt ו- pro_1_code_4.txt לחלק המסומן בסדר החמישי.

7. בהתייחסו ל -5 ו -6, pro_2_code…, pro_3_code משלים את הקוד באותה צורה.

שלב 14: השלם

לְהַשְׁלִים
לְהַשְׁלִים
לְהַשְׁלִים
לְהַשְׁלִים
לְהַשְׁלִים
לְהַשְׁלִים

השלימו את ייצור ה- POV שיוצר תמונה אחת עם שלושה גלגלים.

מוּמלָץ: