اول از همه، مایلیم از همه کسانی که در سازماندهی نسخه دوم آردوینو جم کمک کردند، و به خصوص Jo3ri، که محصولات بسیار جالبی را در اختیار ما قرار دادند و ما را در آخر هفته ایمن نگه داشتند، تشکر کنیم. (ویدئو به زودی منتشر خواهد شد!)
این پروژه کمکی به دومین آردوینو جام بلژیکی (2012) در Timelab، گنت است.
در طول این نسخه، من با جف همکاری کردم تا یک صفحه نمایش مکانیکی نورپردازی بسازم. ایده اولیه انجام کاری با تایم لپس و کنترل حرکت بود.
صورت حساب مواد به شرح زیر است
- یک آردوینو Uno
- حامل موتور پولولو (H-Bridge)
- یک ریل چاپگر جوهرافشان قدیمی
- Raspberry Pi (اختیاری، فقط برای داشتن یک رابط وب خوب برای وارد کردن متن)
- دو نمایشگر ماتریس LED (با استفاده از درایور MAX72XX)
- یک بازوی مسی (برای حمل آن ماتریس های led)
- یک دوربین (DSLR) روی سه پایه که به شما امکان می دهد سرعت شاتر را بیشتر از 5 ثانیه تنظیم کنید
کد منبع این پروژه را میتوانید در فایل فشرده پیدا کنید. کد برای کار با Netbeans سازگار شده است. اگر می خواهید آن را با آردوینو IDE بسازید، کافیست محتویاتconstants.h و project.cpp را در یک فایل ino جدید کپی کنید.
![](https://www.instructables.com/static/defaultIMG/file/ZIP.gif)
کندترین نمایشگر تا کنون.zip 37 کیلوبایت
استپر موتور خود را راه اندازی کنید
ابتدا چند تست کوچک با درایور استپر پولولو انجام دادیم. بنابراین ما موتور را مطابق شماتیک زیر سیم کشی کردیم. ما از یک منبع تغذیه در حدود 12 ولت به عنوان منبع تغذیه موتور استفاده کردیم (ولتاژهای بالاتر ممکن است در اینجا حتی بهتر عمل کنند).
راندن موتور در آن زمان فقط یک موضوع بود
- راندن پین ENABLE LOW
- تنظیم پین dir روی LOW یا HIGH (بسته به جهتی که می خواهید موتور بچرخد)
- ارسال LOW (توقف) یا HIGH (درایو) به پین STEP
سپس موتور به لاستیک های ریل یک چاپگر جوهرافشان قدیمی متصل شد (تصویر دوم را ببینید). ما مجبور شدیم دو سوراخ در فلز ایجاد کنیم تا استپر خود را به درستی وصل کنیم. بعد از کمی سفت کردن لاستیک، همه چیز خوب کار می کرد.
ما همچنین یک دکمه کلیک را در یک انتهای ریل وصل کردیم، بنابراین هنگامی که حمل به انتهای ریل برخورد کرد، سیستم مطلع می شود. این کد روتینی را پیشبینی میکرد که در زمان وقوع این رویداد، موتور را متوقف میکرد. ما این کار را با استفاده از یک حلقه نظرسنجی انجام دادیم (در اینجا نیازی به وقفه نیست)
مرحله 2: نمایشگرهای ماتریس LED را هدایت کنید
برای اینکه نمایشگرهای ماتریس LED کار کنند، باید بین کاراکترهایی که میخواستیم نشان دهیم و دنبالهای از LEDهایی که باید روی نمایشگر فعال شوند، نقشهبرداری انجام دهیم. هر LED توسط یک خط توسط تراشه MAX72XX هدایت می شود . مسئله استفاده از سیم در هر LED با استفاده از یک شیفت رجیستر حل می شود. در این مورد قبلاً روی خود ماتریس LED وجود داشت. رابط با خود آردوینو با استفاده از SPI انجام می شود، که شما را قادر می سازد 64 LED را تنها با 3 سیم (10، 11 و 12 در UNO) درایو کنید.
پس از وصل کردن صفحه نمایش، یک برنامه نمونه اجرا کردیم و دیدیم که LED ها به خوبی روشن می شوند. با این حال، یک اشکال کوچک در راه اندازی وجود داشت، زیرا به دلایلی آخرین خط به بالای ماتریس منتقل شد، این باعث شد برخی از حروف کوتاه شوند. ما این مشکل را با تغییر الگوی هر کاراکتر به سمت راست فقط یک بار حل کردیم.
پس از کمی جستجو، ما یک نگاشت الگوی کاراکتر به بیت کامل برای آن ماتریس های LED در انجمن AVR freaks پیدا کردیم.
اکنون فقط موضوع ایجاد کدی بود که بتواند یک کاراکتر را به الگوی بیت مربوطه خود نگاشت کند. ما این کار را با استفاده از یک آرایه دو بعدی و ریختن یک کاراکتر به مقدار int متناظر آن (1-128) انجام دادیم و از آن به عنوان اولین شاخص برای آرایه دو بعدی استفاده کردیم.