جدول المحتويات:
- الخطوة 1: فكرة الفكرة
- الخطوة 2: قائمة المواد
- الخطوة 3: الأدوات
- الخطوة 4: صنع الإطار
- الخطوة 5: رسم الصور النهائية والمفاهيم
- الخطوة 6: جعل الصورة المتحركة قص
- الخطوة 7: إعداد البرنامج
- الخطوة 8: عمل مصدر طاقة للأجهزة
- الخطوة 9: عمل إدخال / إخراج الأجهزة وفحص الإخراج (عمل NeoPixel)
- الخطوة 10: تجميع وتثبيت العجلة
- الخطوة 11: فحص الإدخال (بيانات مستشعر القاعة)
- الخطوة 12: خوارزمية الترميز
- الخطوة 13: استخدام البرنامج
- الخطوة 14: أكمل
فيديو: Digilog_Bike POV Display: 14 خطوة
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
ديجيلوج
رقمي + تناظري
الرقمية تلتقي التناظرية
وجهة نظر
استمرار البصرية
تُعرف أيضًا باسم عرض الصور اللاحقة ، إذا اهتزت بسرعة عالية ، تظل الصورة اللاحقة.
يعتقد الناس أنهم يشاهدون الفيديو عندما يشاهدون التلفزيون. لكنه في الحقيقة ينظر إلى عدة صور متتالية. هذا مخطئ بالنسبة للصورة بسبب تأثير الصور اللاحقة المتبقية على شبكية العين عند عرض الصور المتتالية. هذا النوع من الوهم يسمى POV.
الخطوة 1: فكرة الفكرة
يتم تنفيذ POV عن طريق ربط حزام LED بعجلة الدراجة.
الخطوة 2: قائمة المواد
الحوسبة و I / O
1. Arduino Mega 2560 [arduino] x3
2. وحدة استشعار القاعة V2 [YwRobot] x3
3. WS2812-5050 نيوبكسل مرن [Adafruit] x3
4. مغناطيسي (قطر 15 مم ، سمك 50 مم) × 3
5. Arduino Mega Case 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. السماح للقائمة العلوية للارتباط - رسم - تضمين مكتبة - إضافة مكتبة مضغوطة
3. يجب عليك اختيار ملف. Zip المثبت بالفعل مكتبة جيثب 4
* (إذا كنت تريد استخدام خدمات برنامج Arduino)
1. قم بتشغيل برامج Arduino
2. اسمح بالقائمة العلوية للرابط - رسم - تضمين مكتبة - مكتبة الإدارة - البحث عن "Adafruit neopixel" - يمكنك رؤية "Adafruit Neopixel من Adafruit"
3. تثبيت وتحديث المكتبة
-
الجزء الفرعي 3. تثبيت برنامج المحول
1. قم بتثبيت برنامج Rotation Circle (R. C. P):
2. أنت بحاجة إلى قراءة ملف README
الخطوة 8: عمل مصدر طاقة للأجهزة
* هذه هي طريقة إمداد Arduino بجهد 5 فولت من خلال البطارية.. يرجى اتباع الخطوات التالية.
1. قم بتوصيل بطارية ليثيوم ووحدة شحن JBATT. (كمرجع ، تحتوي وحدة JBATT على مفتاح طاقة مدمج.)
2. قم بتوصيل طرف الإخراج لـ JBATT بمحطة Vin في Arduino والمحطة الأرضية.
3. قم بتوصيل منفذ USB الصغير 5pin بمنفذ الشحن للتحقق مما إذا كان المنتج يعمل بشكل صحيح.
4. بعد ذلك ، أدر المفتاح المدمج إلى ON.
5. إذا كان المصباح الأحمر يضيء ويضيء المصباح الأخضر في Arduino ، يتم إكمال تكوين مرحلة طاقة المنتج بشكل طبيعي.
الخطوة 9: عمل إدخال / إخراج الأجهزة وفحص الإخراج (عمل NeoPixel)
* يتكون هذا الجزء من جهاز استشعار ومرحلة الإخراج
1. قم بتوصيل مستشعرات Arduino و Hall. يتصل دبوس البيانات بـ Arduino pin 2.
2. عندما يتم تشغيل Arduino ويكون المغناطيس على اتصال وثيق بمستشعر Hall ، سيضيء المصباح الأحمر.
3. قم بتوصيل Arduino و Neopixel. يتم استخدام 30 نيوبكسل فقط.
4. قم بتوصيل دبوس البيانات مع دبوس Arduino 6.
5. قم بتوصيل كابل Arduino وتنزيله بمنفذ USB بجهاز الكمبيوتر الخاص بك وتشغيل Arduino على جهاز الكمبيوتر الخاص بك.
6. حدد Tool - board - "Arduino / Genuino Mega أو Mega 2560" من شريط القائمة العلوي لبرنامج Arduino.
7. تحقق مما إذا كانت هناك قائمة بالمنتجات التي يمكن توصيلها مباشرة بالمنفذ. إذا لم يتم تحديده ، انقر لتحديده.
8. الصق الكود أدناه وانقر فوق تحميل في أعلى اليسار. (بعد ذلك ، تتبع جميع عمليات تحميل البرنامج الخطوات من 5 إلى 8.)
9. يكتمل التكوين عند تشغيل جميع وحدات البكسل الثلاثين.
# 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 () ، عرض الشريط()؛ }
# 3. الحلقة الرئيسية
يستخدم عمل الحلقة الرئيسية حلقة for لإخراج متسلسل (0.1 ثانية) لمصابيح LED باللون الأبيض
حلقة فارغة(){
لـ (uint16_t i = 0 ؛ i <strip.numPixels () ؛ i ++) {strip.setPixelColor (i، 255، 255، 255) ؛ عرض الشريط()؛ تأخير (100) ؛ }}
الخطوة 10: تجميع وتثبيت العجلة
1. قم بتوصيل Neopixels. (انتبه للتحقق من الرقم السري)
2. قم بتوصيل مستشعر القاعة. (راجع الخطوة 9)
3. إرفاق الإطار إلى Arduino بين الدراجات. (قم بتوصيل علبة Arduino بالتوازي مع إطار الدراجة).
4. أدخل Arduino المتصل بـ Neopixel. (كن حذرًا لأن مسدس الغراء ساخن).
5. أدخل مستشعر Hall المتصل في Arduino ، (قم بتأمين ربطة الكبل حتى لا يسقط مستشعر Hall).
6. جندى لتوصيل البطارية. (كن حذرًا عند اللحام).
7. إصلاحه بمسدس الغراء. (قم بتوصيل وحدة الشحن بالبطارية لتأمين المساحة).
8. قم بتوصيل كل سطر قبل الاتصال بـ Arduino ،
9. قم بالتوصيل وفقًا لكل رقم تعريف شخصي. (قم بتوصيل خطوط القفز لوحدة الشحن دون إرباكها).
10. قم بإنهاء مسدس الغراء مرة واحدة ، (يرجى الحرص على عدم السقوط).
الخطوة 11: فحص الإدخال (بيانات مستشعر القاعة)
* تحقق من رمز البرنامج لمعرفة ما إذا كان المستشعر يعمل.
1. الصق وتحميل الكود أدناه.
2. انقر فوق الزر Serial Monitor أعلى يمين Arduino.
3. عندما يتلامس المغناطيس مع مستشعر القاعة لأكثر من ثانية واحدة ، يكتمل التكوين عندما تظهر كلمة "ملامسة مغناطيسية" على الشاشة التسلسلية.
-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- # 1. تحديد رقم التعريف الشخصي والإعداد
رقم التعريف الشخصي الأول للتكوين لاستخدام مستشعر Hall وتعيين رقم التعريف الشخصي كمنفذ للإدخال فقط.
اضبط الاتصال للتحقق من بيانات مستشعر Hall على الشاشة التسلسلية.
#define القاعة 2
إعداد باطل () {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 ، فإنك تعلن عن كائن وتكوين رقم التعريف الشخصي للإدخال / الإخراج.
مصفوفة الصور كبيرة جدًا بحيث لا يمكن ترميزها ، لذا قم بتنزيل الملفات المرفقة والصقها.
#يشمل
# تضمين # تعريف PIN 6 # تعريف 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. المتغير العام والإعداد
قم بتعيين متغير عام.
الشيء الرئيسي هو ضبط السطوع ، فهو يحدد دورة حياة المنتج.
عدد صحيح = 0 ؛
مزدوج الخامس = 0 ؛ ضعف last_v = 0 ؛ مؤقت مزدوج = ميكرو () ؛ ex_timer مزدوج = ميكرو () ؛ last_timer مزدوج = ميكرو () ؛ درجة كثافة العمليات = 36 ؛ بيكس int = 35 ؛ int rgb = 3 ؛ مزدوج q_arr [2] = {0 ، 0} ؛ عدد صحيح HALL_COUNT = 0 ؛ مزدوج VELO ؛ معالجة مزدوجة = ميكرو () ؛ إعداد باطل () {strip.setBrightness (255) ؛ strip.begin () ، عرض الشريط()؛ Serial.begin (230400) ؛ }
# 3. الحلقة الرئيسية - جزء إخراج التعبير عن الصورة
هذا الرمز عبارة عن بيان شرطي حول كيفية إخراج الوقت الذي تدور فيه العجلة بدقة.
يستخدم هذا الجزء دورة تدوير عجلة الدراجة مرة واحدة كمعامل مهم للغاية.
أيضًا ، من المهم قراءة بيانات مجموعة الصور من الذاكرة.
حلقة فارغة() {
if ((count (ex_timer / 120.0) - (micros () - Processing_timer))) {timer = micros () ؛ إذا (VELO> 360000) {لـ (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]))) ؛ } عرض الشريط()؛ } else if (VELO 264000) {for (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]))) ؛ } عرض الشريط()؛ } else if (VELO 204000) {for (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]))) ؛ } عرض الشريط()؛ } else if (VELO <= 204000) {for (int i = 0 + 5؛ i = 120)) {for (int i = 0 + 5؛ i <pix؛ i ++) {strip.setPixelColor (i - 5، strip. اللون (0 ، 0 ، 0)) ؛ } عرض الشريط()؛ }
# 4. الحلقة الرئيسية - فحص واستشعار وقت المعالجة والدورة
هذا هو الجزء الأكثر أهمية في النظام بأكمله.
أولاً ، تحقق من الوقت المستغرق لتنفيذ الكود بالكامل وضبط وقت إخراج LED لكل دورة.
الوقت الذي يتم استشعاره في كل مرة تدور فيها العجلة يتنبأ بوقت الدورة التالية.
يمكن تقدير التسارع بطرح آخر وقت للدورة المقاسة من وقت الدورة المقاس في الوقت المحدد.
يحسب النظام وقت المعالجة والتسارع لحساب المدة التي تعمل فيها مصابيح LED بشكل مستمر.
Processing_timer = ميكرو () ؛
إذا ((digitalRead (HALL) == HIGH) && (HALL_COUNT == 1)) {VELO = v ؛ v = ميكرو () - last_timer ؛ ex_timer = q_arr [0] - q_arr [1] + v ؛ last_timer = ميكرو () ؛ q_arr [0] = q_arr [1] ؛ q_arr [1] = v ؛ العد = 0 ؛ HALL_COUNT = 0 ، } else if (digitalRead (HALL) == LOW) {HALL_COUNT = 1 ؛ }}
الخطوة 13: استخدام البرنامج
* استخدم البرنامج لتحويل الصورة وإدخال بيانات المعالجة في الكود
1. أدخل الصورة من الخطوة أعلاه في مجلد الصور في مجلد R. C. P المثبت في خطوة التحضير.
- كيفية وضع الصورة كما يلي. - إعادة تسمية 4 صور متحركة للمنتج رقم 1 بالترتيب 1-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 الذي يخلق صورة واحدة بثلاث عجلات.
موصى به:
Usare Un Display Grande a 4 Cifre 8886 Display Con Wemos ESP8266 Arduino NodeMCU: 6 خطوات
Usare Un Display Grande a 4 Cifre 8886 Display Con Wemos ESP8266 Arduino NodeMCU: Questo progetto è un semplice esempio che mostra come collegare un display del tipo 8886-Display e ، لكل comodità nostra ، un Wemos D1 - إمكانية الوصول إلى Arduino o un NodeMC س qualsiasi ALTRO microcontrollore تشي usando دولة في الامم المتحدة progetto.Esi
Arduino Horisontal POV Display: 3 خطوات
Arduino Horisontal POV Display: أبسط عرض POV مع 5LED-s و Arduino Nano
Arduino 3-in-1 Time and Weather Display: 11 خطوة
Arduino 3-in-1 Time and Weather Display: أنا أحب الميكروكونترولر PIC وأحب البرمجة بلغة التجميع. في الواقع ، على مدار العامين الماضيين ، قمت بنشر حوالي 40 مشروعًا على موقع الويب الخاص بي بناءً على هذه المجموعة. كنت مؤخرًا أطلب بعض الأجزاء من أحد منتجاتي المفضلة في الولايات المتحدة
قم بإعداد Raspberry Pi مع AdaFruit's PiTFT Display: 11 خطوة
قم بإعداد Raspberry Pi باستخدام عرض PiTFT الخاص بـ AdaFruit: ملاحظة: نظرًا لأنه قديم ، لا ينبغي استخدام هذا التوجيه. يرجى استخدام برنامج AdaFruit's Easy Install. قم بإعداد Raspberry Pi للعمل مع شاشة PiTFT من Adafruit. تستخدم هذه التعليمات جهاز MacBook Pro وكابل USB متخصصًا بدلاً من الشاشة ، ك
POV Globe 24bit لون حقيقي وبسيط HW: 11 خطوة (مع صور)
POV Globe 24bit True Color and Simple HW: كنت أرغب دائمًا في صنع واحدة من هذه الكرات الأرضية POV. لكن الجهد المبذول مع كل لحام المصابيح والأسلاك وما إلى ذلك قد ردعني لأنني شخص كسول :-) يجب أن تكون هناك طريقة أسهل