فهرست مطالب:
- تدارکات
- مرحله 1: توپ Magic 8 را از وسط نصف کنید
- مرحله 2: توپ را آماده کنید
- مرحله 3: پاسخ ها را روی کارت Micro-SD آماده کنید
- مرحله 4: کد را در Arduino Mini بارگذاری کنید
- مرحله 5: قطعات را سیم کشی کنید
- مرحله 6: قطعات را به توپ وصل کنید
- مرحله 7: دو نیمه را کنار هم قرار دهید
تصویری: Magic Answers Ball with Arduino Pro Mini و TFT Display: 7 Step
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:53
مدتی قبل ، من و دخترم یک توپ Magic 8 را جدا کردیم تا او بتواند بیست پاسخ را به انتخاب خود جایگزین کند. این هدیه برای یکی از دوستانش بود. این باعث شد به این فکر کنم که چگونه این کار را در مقیاس بزرگتر انجام دهم. آیا می توانیم بیش از 20 پاسخ داشته باشیم؟ با نسخه الکترونیکی می توانیم!
بنابراین این توضیح می دهد که چگونه یک Mattel Magic 8 Ball (متاسفم ، متل) را جدا کردم و از یک صفحه TFT گرد برای نشان دادن تعداد باور نکردنی پاسخ های اضافی استفاده کردم (کوچکترین کارت micro-SD که من پیدا کردم 8 گیگابایت بود ، بنابراین واقعاً بیش از حد است برای چه چیزی استفاده می شود) توپ از تخته Sparkfun Wake-on-Shake استفاده می کند تا پاسخ را فعال کرده و سپس توپ را خاموش کند تا باتری ذخیره شود. از یک برد شارژ برای شارژ مجدد باتری از طریق اتصال USB استفاده می شود.
تدارکات
قطعات:
Arduino Pro Mini 328 - 3.3V/8MHz
SparkFun Wake on Shake
باتری لیتیوم یون - 400 میلی آمپر ساعت
Organizer 12pcs TP4056 Charging Module 5V Micro USB 1A 18650 Battery Charging Battery Charging Battery with Charger Charge Module (شما فقط به یکی از این موارد نیاز دارید ، اما بسته 12 آن کمتر از 9 دلار بود)
DAOKI 5Pcs Micro SD Storage Board (باز هم ، فقط به یک عدد نیاز دارید ، اما بسته 5 هنوز کمتر از 9 دلار بود)
ماژول نمایشگر TFT LCD 2.2 اینچی DFRobot
microSD 8 گیگابایت Kingston (ممکن است یکی از آنها در اطراف خانه شما خوابیده باشد)
PCB Breadboard به اندازه یک چهارم Perma-Proto (همچنین می توانید از هر PCB که دوست دارید استفاده کنید)
توپ جادویی 8
FTDI Basic Breakout 3.3V (اگر قبلاً پروژه مشابهی با Arduino Pro Mini یا برد مشابه انجام داده اید ، ممکن است یکی از این موارد را داشته باشید)
کیت 4 پین با 2.54 میلی متر JST XH نر/زن کیت اتصال دهنده سیم Dupont Wire (اختیاری است ، اما برای اتصال باتری توصیه می شود)
سایر لوازم اولیه:
چسب قالب گیری Sugru (می توان از نوار چسب و چسب داغ استفاده کرد ، اما من این را بیشتر دوست دارم)
نوار چسب
نوار فوم دو طرفه
سیم
ابزارها:
آهن لحیم کاری
ابزار چرخشی به انتخاب شما (یعنی Dremel)
گیره مبلمان
مرحله 1: توپ Magic 8 را از وسط نصف کنید
ابتدا باید Magic 8 Ball را به نصف تقسیم کنید. من با استفاده از گیره مبلمان ، میزم را روی میز کار با قسمت صاف پایین محکم کردم. با استفاده از یک Dremel با یک دیسک برش اصلی متصل شده ، در امتداد درز توپ برش دهید. شما باید تا جایی که دیسک برش اجازه می دهد عمیقاً برش بزنید. آهسته پیش بروید. حتی بعد از اینکه تمام راه را بریدید ، ممکن است لازم باشد از پیچ گوشتی یا اسکنه سر تخت برای جداسازی نهایی استفاده کنید. استوانه ای وجود دارد که مایع "جادویی" و ایکوساهدرون (شکل بیست طرفه - بله ، من باید آن را نگاه می کردم) در داخل خود نگه داشته است. فقط آن را دور بیندازید یا از آن در پروژه های دیگر استفاده کنید. اگر از آن در پروژه دیگری استفاده می کنید ، به من اطلاع دهید که شما چه کاری انجام داده اید ، بنابراین من می دانم که با پروژه من چه کنم.
همانطور که در تصاویر نشان داده شده ، دو نیمه برای شما باقی می ماند. من اکنون سه بار این کار را انجام داده ام و در آخرین بار ، لب سفید به جای داشتن برجستگی صاف بود ، بنابراین ممکن است توپ شما کمی متفاوت از آنچه در تصویر است به نظر برسد.
هنوز مقداری سرباره پلاستیکی در اطراف لبه بیرونی (پلاستیک ذوب شده و سخت شده) وجود خواهد داشت. اگر می توانید آن را با دستان خود ترمز کنید. با استفاده از یک ابزار ، خطرات ناشی از ضربه زدن به توپ بالا می رود و سرباره به راحتی جدا می شود.
مرحله 2: توپ را آماده کنید
دو اصلاح داریم که باید در نیمه پلاستیکی توپ ایجاد کنیم.
ابتدا ، در نیمه باز ، جایی که "8" روی آن نقاشی شده است ، باید قسمتی را طوری تراش دهیم که برد شارژ USB ما بتواند با پورت USB بیرون بماند. من از Dremel خود با درام سنباده درشت متصل شده استفاده کردم. شما می خواهید این نازک را تا آنجا که می توانید بدون تمیز کردن به دست آورید. سپس یک دهانه کوچک را به اندازه کافی بزرگ برش دهید تا پورت USB به بیرون نفوذ کند. من برای اندازه گیری پورت USB از کالیپر استفاده کردم ، اما احتمالاً می توانید در صورت لزوم این مورد را به چشم بزنید. دوباره ، من از Dremel با یک ضمیمه برش کوچک برای ایجاد دهانه استفاده کردم. دو تصویر اول بازشو و ظاهر آن با برد USB پشت آن را نشان می دهد.
دوم ، در نیمه دیگر ، حفره ای که در دو طرف آن وجود دارد و لب پلاستیکی سفید ، نقطه ای را برای نشستن صفحه آماده می کند. درست داخل دهانه ای که صفحه نمایش روی آن قرار می گیرد ، خطوط پلاستیکی و فلنج لاستیکی (؟) در قسمت داخلی دهانه وجود دارد. فلنج را بیرون آورده و کنار بگذارید. ما بعداً آن را عقب می اندازیم ، اما می خواهیم که برای این مرحله از راه خارج شود. صفحه نمایش دارای یک اکستروژن مستطیلی در یک طرف است که اگر برخی از این برجستگی ها برداشته نشوند به آن اجازه نمی دهد در دهانه صاف بنشیند. با استفاده از طبل سنباده درشت روی Dremel ، آنها را تا جایی که ممکن است بتراشید. از سوراخی که در آن صفحه نمایش بهترین زاویه است ، وارد شوید. در صورت کامل بودن باید شبیه تصاویر باشد. توجه داشته باشید ، تصاویر صفحه نمایش را در محل خود نشان می دهند ، اما هنوز آن را وصل نکنید.
مرحله 3: پاسخ ها را روی کارت Micro-SD آماده کنید
این مرحله کمی پیچیده تر از آن است که فکر می کنید. اگر نمی خواهید لیست پاسخ های خود را ایجاد کنید ، به آخرین پاراگراف این مرحله بروید.
هدف این است که ما می توانیم هرگونه رشته ای را که به عنوان پاسخ احتمالی مورد استفاده قرار می گیرد به توپ بدهیم و آنها بدون هیچ وقفه ای در وسط کلمات بر روی صفحه متمرکز شوند. ما نمی خواهیم این پردازش را روی میکروکنترلر انجام دهیم و می خواهیم یک فایل با اندازه ضبط ثابت برای این که بتوانیم هر خط خاصی را به سرعت پیدا کنیم.
اگرچه صفحه نمایش گرد است ، اما از نظر عملکردی یک صفحه نمایش مستطیلی مجازی است که فقط پیکسل های درون دایره قابل مشاهده است. صفحه نمایش می تواند متن های چند اندازه را نشان دهد ، اما ما فقط از کوچکترین نسخه آن استفاده می کنیم که 6 8 8 پیکسل است. با استفاده از این اندازه ، 315 کاراکتر وجود دارد که صفحه می تواند روی صفحه قرار دهد (21 کاراکتر در هر خط در 15 خط) ، اما فقط 221 مورد قابل مشاهده است و هر خط دارای تعداد متفاوتی از کاراکترهای قابل مشاهده است. مشکل را می بینید؟
من یک برنامه جاوا نوشتم تا یک فایل از پاسخ های بدون قالب را دریافت کرده و آنها را به پرونده های کاملاً متمرکز تبدیل کنم که به راحتی در TFT گرد قابل نمایش باشد. (پیوند برای بارگیری فایل "FormatToPicksFileFullyCentered.java").
بدون توضیح کل کد ، ایده کلی این است که ما از مرکز به عقب (ish) کار می کنیم و فاصله ها را وارد می کنیم تا مطمئن شویم که کلمات را در خطوط قابل مشاهده نمی شکنیم ، سپس همان کار را از مرکز مهاجم در نهایت ، ما تمام خطوط را حلقه کرده و هر خط را در داخل 21 خط کامل کاراکتر قرار می دهیم تا یک رکورد دقیقاً 316 بایت (315 کاراکتر حروف به علاوه یک کاراکتر خط جدید) ایجاد کنیم. این کد در واقع از طریق سه فونت x 3 ، x 2 و x 1 کار می کند تا ببیند کدام بزرگترین فونت است که می توان از آن استفاده کرد و همچنان متن را متناسب می کند. مرکز برای فونت های x 2 و x 3 کمی متأسفانه متاسفم. مراقب کاراکترهایی باشید که بیش از یک بایت را اشغال می کنند ، اینها می توانند فایل خروجی را حذف کنند.
فایل "picks.txt" را روی کارت micro-SD کپی کنید.
اگر نمی خواهید با مشکل ایجاد لیست انتخاب های خود روبرو شوید ، من لیست انتخاب هایی را که می توانید فقط روی کارت SD کپی کرده و استفاده کنید ، قرار داده ام. من در حال حاضر نمی توانم یک فایل.txt را در دستورالعمل ها بارگذاری کنم ، بنابراین در اینجا پیوندی وجود دارد که می توانید فایل picks.txt را از آنجا بارگیری کنید.
مرحله 4: کد را در Arduino Mini بارگذاری کنید
در ابتدا ، اگر قبلاً از Arduino Pro Mini استفاده نکرده اید ، نمی توانید فقط یک کابل USB را وصل کرده و بارگیری کنید. شما باید از یک برد FTDI استفاده کنید و سیم ها را به پین های مناسب روی مینی وصل کنید. من در اینجا در مورد آن آموزشی نمی دهم ، تعداد زیادی در وب وجود دارد. برای من ، من نمی خواستم یک اتصال دائمی را روی برد میکروکنترلر که فقط یک بار برای بارگیری کد استفاده می شود ، لحیم کنم ، بنابراین یک کلیپ کوچک ایجاد کردم که می تواند برای برنامه ریزی مینی بدون لحیم کاری استفاده شود (تصاویر را ببینید). این محصول با الهام از محصولاتی مانند Fiddy ساخته شده است ، اما من به راحتی به چاپگر سه بعدی دسترسی ندارم ، بنابراین من خودم از یک گیره چیپس سیب زمینی تهیه کردم. اگر مردم علاقه مند هستند ، من فقط برای آن دستورالعمل ایجاد می کنم.
بر روی کد. چند قسمت جالب برای این کد وجود دارد ، اما بیشتر مستقیم است.
در تابع راه اندازی ، مقدار مناسبی از کد وجود دارد که با بدست آوردن یک دانه تصادفی خوب سروکار دارد. روش معمول استفاده از خواندن آنالوگ از پین غیرمرتبط در تجربه من پاسخ کافی متنوعی نمی دهد. من یک عدد بین 477 و 482 دریافت می کنم. از آنجا که تابع تصادفی آردوینو دارای یک و تنها یک دنباله است و دانه تعیین می کند که در آن دنباله از کجا شروع شود ، چنین محدوده باریکی در پایان پاسخ های احتمالی کافی را ایجاد نمی کند. به خاطر داشته باشید که این کد اساساً هر بار که صفحه Wake-on-shake قدرت را خاموش و روشن می کند شروع می شود ، بنابراین موقعیت توالی اولیه تعیین شده توسط دانه بسیار مهم است. برای کمک به این امر ، من یک فایل بسیار کوچک را روی کارت SD می نویسم تا آخرین دانه را ردیابی کنم و آن را به مقدار جدیدی که از پین وصل نشده اضافه می شود ، اضافه کنم.
هنگامی که یک pick در تابع حلقه انتخاب شده و در یک آرایه کاراکتر خوانده می شود ، نمی توانیم کل رشته را چاپ کنیم. نمایشگر دارای محدودیتی است که می تواند در هر زمان یک رشته را کنترل کند. به همین دلیل ، ما باید هر یک از پانزده خط را حلقه کرده و آنها را یک به یک به صفحه نمایش ارسال کنیم.
کتابخانه های خارجی مورد نیاز:
کتابخانه ST7687S
DFRobot-Library Library
مرحله 5: قطعات را سیم کشی کنید
زمان انجام تمام لحیم کاری سیم ها فرا رسیده است. من تمایل داشتم در مورد سیمهای کمی طولانی تر از آنچه واقعاً نیاز داشتم اشتباه کنم ، اما این به خوبی نتیجه گرفت.
در شماتیک پیوست ، صفحه نمایش TFT با یک اتصال دهنده نشان داده می شود تا یک تصویر از کل صفحه نمایش (که من نتوانستم بخشی از Fritzing را برای آن پیدا کنم). من سیمها/پینها را بر اساس برچسب گذاری آنها بر روی قسمت برچسب گذاری کرده ام. به طور مشابه ، کارت SD دقیقاً همان چیزی نیست که من استفاده کردم ، اما سیمها و پینها را برای قسمت ذکر شده برچسب گذاری کردم.
یک جزء وجود دارد که من در این مرحله با هم لحیم نکردم: باتری. در عوض ، من از یک کانکتور چهار پین استفاده کردم که دو پین وسط آن برداشته شده بود (تصویر دوم). این به من اجازه می دهد تمام اجزای سیم کشی شده را با هم آزمایش کنم و سپس باتری را جدا کنم در حالی که همه چیز را به توپ وصل می کنم.
سرانجام ، من از یک PCB داغ دائمی با اندازه یک چهارم برای سهولت برق و اتصالات مشترک استفاده کردم. این را در تصاویر مونتاژ مشاهده خواهید کرد.
تست کنید که همه چیز در حال کار است
مرحله 6: قطعات را به توپ وصل کنید
ابتدا صفحه نمایش را در جای خود قرار دهید و از مقداری Sugru برای ایمن سازی آن استفاده کنید (دو تصویر اول). فلنجی را که قبلاً برداشته اید فراموش نکنید ، قبل از اینکه صفحه نمایش را در جای خود محکم کنید ، باید آن را در جای خود داشته باشید.
بعد ، تخته اولیه را به قسمت نیمه خالی توپ چسباندم. من تمام لحیم های خود را در یک طرف تخته نگه داشتم ، بنابراین هنوز نیمی از تخته را داشتم که بتوانم آن را با نوار چسب بزنم. سپس باتری را روی نیمی از همان برد اولیه (تصویر سوم) چسباندم.
هر دو نیمه اکنون با سیم متصل می شوند. وقتی دو نیمه را کنار هم قرار می دهید ، مشخص کنید که سوراخ USB به کجا ختم می شود. اگر ستون فقرات به لب سفید چسبیده است ، به خاطر داشته باشید که باید در مرکز یکی از گوه های لب سفید پایین بیاید ، زیرا ما صفحه شارژ USB را بین دو برجستگی پلاستیکی روی لب محکم می کنیم.
با استفاده از یک تکه کوچک نوار فوم دو طرفه ، برد شارژ USB را وصل کنید. نوار دو طرفه نباید تمام قسمت پایینی صفحه شارژ را بپوشاند ، زیرا انتهای سیم های متصل شده روی لبه مرکزی لب سفید آویزان می شود. بنابراین نوار باید حدود سه چهارم سطح زیرین تخته را بپوشاند. ابتدا نوار را در پایین تخته قرار دهید ، سپس آن را در محلی که تصمیم گرفته اید فشار دهید. کانکتور USB باید در لبه توپ قرار داشته باشد و بدون بیرون رفتن از توپ به قسمت سیاه پلاستیک بچسبد. در نهایت ، از مقداری Sugru بیشتر در بالای تخته استفاده کرده و در دو طرف آن را محکم کنید. این فقط قدرت بیشتری برای زمانی که کابل به پورت USB فشار داده می شود اضافه می کند.
کارت micro-SD را هم اکنون در ماژول کارت SD قرار دهید
در صورت تمایل می توانید اجزای دیگر را به لب سفید محکم کنید. من فقط اجزای باقی مانده را پشت صفحه قرار دادم.
مرحله 7: دو نیمه را کنار هم قرار دهید
بررسی کنید که آیا کارت SD را وارد کرده اید و آیا همه اجزا را با هم آزمایش کرده اید.
خوب ، اگر آماده هستید ، یک مار بلند از مقداری چسب Sugru درست کنید و با لب سفید آن را تا انتهای لبه نیمه توپ بچرخانید (تصویر اول). چسب باید درست در محل اتصال قسمت های سیاه و سفید پلاستیک به هم چسبیده باشد. با قرار دادن چسب در اینجا مطمئن می شوید که یک پیوند قوی دارید و در عین حال میزان چسبی که از ترک بیرون می آید پس از اتصال دو نیمه به حداقل می رسد.
دو نیمه را با هم فشار دهید و مطمئن شوید که درگاه USB از سوراخی که قبلاً برای آن برش خورده بود عبور کند. با استفاده از گیره مبلمان ، دو نیمه را به اندازه کافی محکم کنید تا نیمه ها را در کنار هم نگه دارید ، نیازی به محکم بستن آن نیست. چسب Sugru در حدود 24 ساعت سفت می شود.
اگر مقداری چسب از مفصل خارج شده است ، با انگشت یا یک پارچه صاف/حوله کاغذی آن را جدا کنید.
توصیه شده:
Infinity Mirror Illusion Magic: 3 Step
Infinity Mirror Illusion Magic: سلام دوستان ، بگذارید یک آینه بی نهایت بسازیم ، که جادوی توهم است
Electronic Magic 8 Ball and Eyeball: 11 Step (همراه با تصاویر)
Electronic Magic 8 Ball and Eyeball: من می خواستم یک نسخه دیجیتالی از Magic 8 Ball ایجاد کنم … بدنه این دستگاه به صورت سه بعدی چاپ شده است و صفحه نمایش آن از چند وجهی در رنگ آبی به OLED کوچک تغییر یافته است که توسط یک عدد تصادفی کنترل می شود. ژنراتور برنامه ریزی شده در Arduino NANO. سپس من
Microbit Running Assistant With Magic 8 Ball: 10 Step
Microbit Running Assistant With Magic 8 Ball: ما قصد داریم Running Assistant را با Magic 8 Ball کدگذاری کنیم ، یک دستیار دویدن Microbit برای افرادی که قبلاً زیاد می دویدند ، برای افرادی که گاهی اوقات می دوند یا حتی برای افرادی که تازه شروع به دویدن کرده اند کمک بزرگی است. به گاهی اوقات باید تصمیم بگیرید ،
Electric Magic Eight Ball: 5 مرحله
Electric Magic Eight Ball: آیا به دانستن اسرار جهان علاقه دارید؟ خب توپ Magic Eight ممکن است برای شما مناسب نباشد! قادر به پاسخ دادن به س questionsالات بله یا خیر ، و گاهی اوقات شاید ، Magic Eight Ball می تواند به تمام سوالات شما با 100٪ ضمانت پاسخ دهد!*Usi
Magic 8 Ball: 5 Step (همراه با تصاویر)
Magic 8 Ball: این دستورالعمل برای برآوردن شرایط پروژه Makecourse در دانشگاه فلوریدا جنوبی (www.makecourse.com) ایجاد شده است. سلام و خوش آمدید به پروژه MakeCourse من. برای آخرین پروژه خود ، من تصمیم گرفتم یک دستگاه الکترونیکی و ld ایجاد کنم