תוכן עניינים:
- שלב 1: רעיון רעיון
- שלב 2: רשימת חומרים
- שלב 3: כלים
- שלב 4: הכנת מסגרת
- שלב 5: שרטוט תמונות ומושגים אחרונים
- שלב 6: גזור את התמונה הנעת
- שלב 7: הכנת תוכנה
- שלב 8: יצירת ספק כוח לחומרה
- שלב 9: הכנת קלט/פלט חומרה ובדיקת פלט (NeoPixel עובד)
- שלב 10: הרכבה והצמד לגלגל
- שלב 11: בדיקת INPUT (נתוני חיישן HALL)
- שלב 12: אלגוריתם קידוד
- שלב 13: שימוש בתוכנה
- שלב 14: השלם
וִידֵאוֹ: תצוגת POV של Digilog_Bike: 14 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:13
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: הכנת מסגרת
חיתוך האופניים והצמדת הבסיס
המטחנה שימשה לחיתוך גלגלי האופניים מהאופניים ולוחות פלדה מרותכים לאבטחת הגלגלים.
שלב 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 עובד)
*חלק זה מורכב מחיישן ושלב פלט
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)
*בדוק את קוד התוכנה כדי לראות אם החיישן פועל.
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 שיוצר תמונה אחת עם שלושה גלגלים.
מוּמלָץ:
תצוגת שעון תצוגת LED עם מטריקס LED בשליטת WiFi: 3 שלבים (עם תמונות)
תאורת שעון תצוגת מטריצת תצוגת LED מבוקרת באמצעות WiFi: רצועות LED הניתנות לתכנות, למשל מבוסס על WS2812, מרתקים. יישומים הם רבים ואתה יכול להשיג תוצאות מרשימות במהירות. ואיכשהו בניית שעונים היא תחום אחר שאני חושב עליו הרבה. מתחיל עם קצת ניסיון בתחום
כיצד להכין תצוגת POV מאוורר: 6 שלבים (עם תמונות)
כיצד להכין תצוגת POV מאוורר: בפרויקט זה אראה לך כיצד הפכתי מאוורר ישן רגיל לתצוגת POV LED אשר יכולה להציג בפניך דפוסי אור, מילים או אפילו את הזמן. בואו נתחיל
תצוגת TTGO (צבע) עם מיקרופיתון (תצוגת TGO T): 6 שלבים
תצוגת TTGO (צבע) עם מיקרופיתון (תצוגת TTGO T): תצוגת TTGO T היא לוח המבוסס על ESP32 הכולל תצוגת צבע בגודל 1.14 אינץ '. ניתן לרכוש את הלוח תמורת פרס של פחות מ -7 $ (כולל משלוח, פרס שניתן לראות ב- Banggood). זהו פרס מדהים עבור ESP32 כולל תצוגה
תצוגת POV Horisontal POV של ארדואינו: 3 שלבים
תצוגת POV Horisontal POV: תצוגת POV פשוטה ביותר עם 5LED ו- Arduino Nano
כיצד להכין שעון בזמן אמת באמצעות תצוגת Arduino ו- TFT - Arduino Mega RTC עם תצוגת TFT 3.5 אינץ ': 4 שלבים
כיצד להכין שעון בזמן אמת באמצעות תצוגת Arduino ו- TFT | Arduino Mega RTC עם תצוגת TFT 3.5 אינץ ': בקר בערוץ היוטיוב שלי. הקדמה:- בפוסט זה אני הולך לעשות "שעון בזמן אמת" באמצעות 3.5 אינץ' TFT מגע LCD, Arduino Mega מודול RTC 2560 ו- DS3231 …. לפני תחילת … בדוק את הסרטון מערוץ היוטיוב שלי..הערה:- אם אתה משתמש ב- Arduin