فهرست مطالب:

مار روی تخته نان: 3 مرحله (همراه با تصاویر)
مار روی تخته نان: 3 مرحله (همراه با تصاویر)

تصویری: مار روی تخته نان: 3 مرحله (همراه با تصاویر)

تصویری: مار روی تخته نان: 3 مرحله (همراه با تصاویر)
تصویری: گوز زدن پریانکا چوپرا هنرپیشه بالیوود در یکی از برنامه های لایف تلویزیونی |C&C 2024, دسامبر
Anonim
مار روی تخته نان
مار روی تخته نان
مار روی تخته نان
مار روی تخته نان
مار روی تخته نان
مار روی تخته نان

"بازی روی گوشی خود دارید؟"

"نه دقیقا."

مقدمه:

کنترل ساده ، برنامه ریزی آسان و جاودانه شدن توسط نوکیا 6110 ، Snake به پروژه ای محبوب در بین مهندسان تبدیل شده است. این دستگاه در هر چیزی از ماتریس LED ، LCD ، روشنایی قفسه کتاب و حتی پنجره کل ساختمان اجرا شده است. ما Snake را روی یک تخته کوچک و صفحه نمایش OLED پیاده سازی می کنیم. مردم مطمئناً بازیکنان مار کوچکتر ساخته اند ، اما این به طور خاص از تخته نان استفاده می کند و نیاز به طراحی PCB یا لحیم را از بین می برد.

(شما فقط می توانید یک برنامه در تلفن خود ایجاد کنید ، اما ما کارها را انجام نمی دهیم زیرا آسان هستند.)

پیش نیازها:

درک اولیه از مدارها ، نحوه ورق خوردن ، و تسلط کامل بر برنامه نویسی در آردوینو.

تدارکات

  • آردوینو نانو
  • 2 مقاومت نسبتاً بالا (1 کیلو اهم)
  • تخته نان کوچک
  • 2 دکمه فشاری
  • 22 سیم جامد AWG
  • 128 64 64 OLED

اینها پیوندهای وابسته به آمازون هستند بنابراین با هر فروش کمی کمیسیون دریافت می کنم. اگر هنوز این منابع را ندارید و می خواهید از پروژه های آینده من پشتیبانی کنید ، این پیوندها را دنبال کنید!:)

مرحله 1: تخته نان

تخته نان
تخته نان
تخته نان
تخته نان
تخته نان
تخته نان

به منظور تولید محصول نهایی ، بدیهی است که باید سخت افزار را برای برنامه ریزی و آزمایش پروژه خود مونتاژ کنیم. نمودار سیستم این پروژه نسبتاً ساده است ، زیرا فقط شامل 4 جزء می شود.

1. آن را بیان کنید:

اجزای خود را بردارید و روی تخته بگذارید و مطمئن شوید که همه چیز مناسب است. تصور کنید که از چه سیم ها و پین هایی استفاده خواهید کرد و برای چه اهدافی استفاده می شود. اطمینان حاصل کنید که سیم های مورد انتظار شما از یکدیگر عبور نمی کنند ، زیرا این باعث ایجاد یک تخته نان آشفته تر می شود. نقاطی را که برای اتصال نیاز دارید بنویسید! اگرچه این یک تخته نان ساده است ، اما در طول سیم کشی و به طور کلی زندگی شما را بسیار ساده تر می کند. با توجه به کوچک بودن فضای کار ما ، این یک گام فوق العاده مهم است.

یادداشت:

از آنجا که OLED از گذرگاه I2C استفاده می کند ، باید از پین های A4 و A5 استفاده شود. اندازه تخته نان اجازه راه آهن قدرت و زمین را نمی دهد ، بنابراین من از چند ترفند برای درست کردن همه چیز استفاده کردم. ولتاژ مثبت دکمه ها توسط پین های D13 و A2 تامین می شود. من دریافتم که پین های آردوینو نه تنها می توانند جریان را تأمین کنند ، بلکه جریان را نیز کاهش می دهند ، بنابراین از A3 به عنوان پایه ای برای دکمه سمت راست استفاده کردم. برای به حداکثر رساندن فضای روی تخته نان ، نیمی از نانو را از روی تخته آویزان کردم و پین های سمت چپ را با یک تکه فوم پشتیبانی کردم.

2. سیم کشی کنید:

با یک جفت سیم برقی و مقدار مناسب 22 هسته سیم جامد AWG ، اجزای خود را به زیبایی وصل کنید. استفاده از هسته جامد برای ساختن پروژه های نان دائمی نیمه دائمی مهم است ، زیرا برخلاف سیم های بلوز می توانید آنها را به طول کوتاه کنید. اطمینان حاصل کنید که طول زیادی روی سیم خود نگذارید ، این باعث ایجاد یک تخته کثیف می شود. سیم های مقاومت های کشویی را کوتاه کنید تا با صفحه تطبیق پیدا کنند.

(همچنین می توانید آنچه را که در بالا انجام داده ام دنبال کنید.)

مرحله 2: برنامه و آزمایش

برنامه و آزمون
برنامه و آزمون

برای اینکه بعداً از سردرد خود جلوگیری کنید ، مطمئن شوید که OLED و دکمه ها با ایجاد برنامه های آزمایشی اولیه ، همانطور که باید کار می کنند.

1. برنامه ریزی ، برنامه ریزی ، برنامه ریزی:

فقط پرش مستقیم به کد یک عمل عاقلانه نیست. به من اعتماد کن ، من سعی کردم! به همین دلیل است که شما باید نحوه عملکرد برنامه خود را مشخص کنید. نمودار جریان برنامه یک روش کاملاً محکم برای برنامه ریزی کارهایی است که کد شما باید انجام دهد و قطعاً شما را در مسیر اصلی نگه می دارد. برای مثال من را در نظر بگیرید (بالا)

2. کد ، کد ، کد:

صادقانه بگویم ، این پروژه یک برنامه نویسی بزرگتر از یک تمرین سخت افزاری است. تنها کتابخانه ای که استفاده کردم کتابخانه OLED آدافروت بود ، بدون در نظر گرفتن کتابخانه های پشتیبانی کننده GFX و Wire.

از طریق مدیر کتابخانه Arduino IDE کتابخانه OLED Adafruit را نصب کنید.

من نمی توانم هر خط کد که نوشتم را مستند کنم ، اما در اینجا چند نکته وجود دارد:

نکات:

نظرات:

- اول از همه ، هنگام کد نویسی ، نظرات منظم و مفیدی بنویسید. شما و دیگران که کد شما را می خوانند ، مطمئناً از شما تشکر می کنند.

حافظه:

- با پروژه های پیچیده تری مانند این ، SRAM به کالای داغ تبدیل می شود. در کتابخانه Adafruit ، 128 64 64 OLED بافر 1 کیلوبایت را به تنهایی اشغال می کند که تقریباً نیمی از حافظه یک ATMega328p است. بنابراین مدیریت حافظه هوشمند مهمتر از همیشه است.

- با ساختار داده های بزرگ ، داده های ذخیره شده جمع می شوند و فضای زیادی را اشغال می کنند. به منظور کاهش ردپای حافظه متغیرهایم ، تا جایی که می توانستم از انواع داده های کوچکتر (مانند کوتاه و بایت) استفاده کردم.

- رشته ها معمولاً در SRAM ذخیره می شوند ، اما استفاده از تابع F () آنها را در PROGMEM قرار می دهد و حافظه گرانبها را ذخیره می کند.

میلیس:

- برای دستیابی به زمان بندی دقیق تر چرخه های بازی ، از تابع () millis استفاده کنید. تعداد زیادی آموزش و مثال خوب در اینترنت وجود دارد.

از پیش تعریف کنید:

- از دستورالعمل پیش فرض #define به عنوان راهی آسان برای تعیین مقادیر دائمی در کد استفاده کنید.

تست:

- در حین کار کد خود را آزمایش کنید. حذف خطاها بسیار آسان تر خواهد بود.

مرحله 3: لذت ببرید

با بازی مار جدید خود لذت ببرید!

(من می دانم که در ویدئوی بالا در 20 امتیاز برنده شدم ، می توانید شرط برد را در کد من بالاتر قرار دهید.)

مواردی که باید گسترش یابد:

  • یک باتری برای قابلیت حمل
  • دکمه های امن تر
  • حتی یک بازی مار کوچکتر
  • حتی بازی های بیشتر؟

توصیه شده: