فهرست مطالب:

آینه بی نهایت آسان با Arduino Gemma & NeoPixels: 8 مرحله (همراه با تصاویر)
آینه بی نهایت آسان با Arduino Gemma & NeoPixels: 8 مرحله (همراه با تصاویر)

تصویری: آینه بی نهایت آسان با Arduino Gemma & NeoPixels: 8 مرحله (همراه با تصاویر)

تصویری: آینه بی نهایت آسان با Arduino Gemma & NeoPixels: 8 مرحله (همراه با تصاویر)
تصویری: ساخت ماشین کنترلی - قسمت اول - انتخاب موتور 2024, جولای
Anonim
آینه بی نهایت آسان با Arduino Gemma و NeoPixels
آینه بی نهایت آسان با Arduino Gemma و NeoPixels

ببین! عمیقاً به آینه بینهایت افسونگر و فریبنده ساده نگاه کنید! تنها یک نوار LED در داخل ساندویچ آینه می درخشد تا جلوه ای از بازتاب بی پایان ایجاد کند. این پروژه مهارت ها و تکنیک های کلاس اولیه آردوینو را به کار می گیرد و همه را با استفاده از یک برد کوچکتر آردوینو جما در یک فرم نهایی قرار می دهد.

وبینار این پروژه را تماشا کنید! این وبیناری را که در 28 ژوئن 2017 هدایت کردم بررسی کنید تا من را در تکمیل این بیلد ببینم!

برای ادامه کار با من ، در یوتیوب ، اینستاگرام ، توییتر ، Pinterest من را دنبال کنید و در خبرنامه من مشترک شوید.

مرحله 1: لوازم

تدارکات
تدارکات

برای پیگیری این درس به موارد زیر نیاز دارید:

  • چاقوی کاربردی تیز
  • خط کش فلزی یا مربع T
  • برش حصیر یا مقوا قراضه
  • چاپگر برای قالب یا قطب نما برای طراحی قطب نما
  • چاقوی پلاستیکی (اختیاری اما خوب)
  • تفنگ چسب داغ مذاب ، یا چسب E6000/Quick Hold
  • گیره لباس (اختیاری ، برای استفاده به عنوان گیره چسب)
  • آینه گرد 4 اینچی
  • پلاستیک آینه ای شفاف
  • تخته فوم مشکی ، ضخامت 3/16 اینچ
  • آردوینو اونو و تخته نان بدون لحیم روی صفحه نصب
  • کابل USB A-B
  • دکمه کوچک (که قبلاً لحیم کرده اید)
  • سیمهای تخته نان
  • نوار RGBW NeoPixel (یا نوار LED دیگر WS2812b RGBW) (19 پیکسل ، از همان نواری که قبلاً لحیم کرده اید استفاده می کند)
  • لحیم کاری و لحیم کاری
  • استریپرهای سیم
  • برش های مورب شستشو
  • ابزار دست سوم
  • مولتی متر (اختیاری)
  • انبردست سوزنی کوچک
  • موچین
  • برد آردوینو جما
  • کابل میکرو USB
  • هاب USB ، اگر رایانه شما فقط دارای پورت USB 3 است (مانند مک های جدیدتر)
  • کابل فرمت USB (اختیاری)
  • آداپتور برق USB
  • باتری لیپولی و شارژر (اختیاری)

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

تصویر
تصویر

Arduino Gemma - پروژه آینه بینهایت با جایگزینی Arduino Uno با Arma Gemma ، مدار Arduino را کوچک می کند. Gemma یک برد کوچک است که در اطراف میکروکنترلر ATTiny85 ساخته شده است ، حافظه کمتری دارد و ویژگی های کمتری نسبت به Atmega328 Uno دارد ، اما هزینه کمتری نیز دارد. لحیم کاری لنت های بزرگ بسیار آسان است (و با نخ رسانا دوخته می شود ، اما این موضوعی برای کلاس های مختلف است). Gemma از کابل میکرو USB برای اتصال به رایانه شما استفاده می کند و دارای پورت JST برای اتصال باتری است. شما نحوه برنامه نویسی Gemma را از نرم افزار آردوینو و ساختن آن در پروژه نهایی خواهید آموخت. همچنین می توانید به جای آن از Adafruit Gemma استفاده کنید ، اما برای پیکربندی نرم افزار Arduino باید یک مرحله دیگر را انجام دهید.

تصویر
تصویر

نوار RGBW NeoPixel - این نوار آدرس پذیر دیجیتالی حاوی تراشه های WS2812b است که LED های ترکیبی را به رنگ های قرمز ، سبز ، آبی و سفید کنترل می کند. NeoPixel نام تجاری Adafruit است اما می توانید این نوار را با جستجوی "نوار WS2812b RGBW" در سایت تامین کننده مورد علاقه خود پیدا کنید. کد نمونه ارائه شده در این کلاس با نوار RGB (بدون سفید) ، نوار LED آنالوگ یا هر نوع دیگر تراشه کنترل دیجیتال (مانند APA104 یا همان DotStar) کار نمی کند

مرحله 2: قطعات قاب را برش دهید

قطعات قاب را برش دهید
قطعات قاب را برش دهید

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

اگر در زمینه برش و چسباندن تخته کف ساز تازه کار هستید ، برای تمرین و اشتباهات اضافی دریافت کنید- سه بسته تخته 16x20 اینچی کافی است (و در صورت باقی ماندن می توانید پروژه های دیگری را با آن بسازید). برای جلوگیری از آسیب ، از تیغه تیز ، خط کش فلزی ، سرعت آهسته و احتیاط زیاد استفاده کنید. بازسازی چند قطعه به دلیل لغزش یا گیر افتادن تیغه طبیعی است.

به دو روش می توانید اشکال مورد نظر خود را ایجاد کنید: الگو را چاپ کنید یا با قطب نما طراحی دایره شکل ها را بکشید. هیچ مزیت مشخصی در هیچ یک از این دو وجود ندارد ، اما مهارت ها و ابزارهای شما ممکن است به نحوی شما را تحت تأثیر قرار دهد. این الگو به صورت PDF کاغذی برای کاغذ با اندازه حروف موجود است ، که آن را به هم چسبانده و از چسب چسب برای چسباندن آن به فومکور خود استفاده می کنید. همچنین در صورتی که بخواهید آن را روی چاپگر بزرگ چاپ کنید یا تغییراتی ایجاد کنید ، یک نسخه بدون کاغذ از قالب وجود دارد.

تصویر
تصویر
تصویر
تصویر

ترسیم اشکال با دست بسیار ساده است ، هرچند ، قول می دهم! ابتدا با تنظیم قطب نما در شعاع آن (شعاع 4 اینچ = 2 اینچ) و کشیدن یک دایره روی فومکور خود حداقل 5 اینچ از هر لبه ، یک دایره بکشید تا با اندازه آینه شما مطابقت داشته باشد. مطمئناً می توانید محیط آینه را ردیابی کنید ، اما سپس باید مرکز آن را پیدا کرده و علامت گذاری کنید! قطب نما یک تورفتگی در نقطه مرکزی ایجاد می کند که برای ایجاد دایره متحدالمرکز دوم مفید است.

تصویر
تصویر
تصویر
تصویر

حالا قطب نما خود را به 4 اینچ افزایش دهید و دایره بزرگتر را دور اول بکشید. این قسمت پایین/پشت کامل آینه شماست- آن را به این صورت برچسب گذاری کنید.

تصویر
تصویر
تصویر
تصویر

قطعه بالا/جلو باید کمی بزرگتر باشد ، بنابراین قطب نما را به 4/3/16 اینچ گسترش دهید و آن را با فاصله ایمن از قطعه پایینی بیرون بکشید.

تصویر
تصویر
تصویر
تصویر

پنجره دید باید کمی کوچکتر از آینه باشد ، اگرچه دقیقاً چندان مهم نیست. قطب نما را در حدود 1/8 اینچ کوچکتر از شعاع آینه قرار دهید و سپس با استفاده از همان نقطه مرکزی دایره را با محیط جلو/بالا بزرگتر بکشید.

تصویر
تصویر

این قطعه را در دایره کوچکتر برچسب گذاری کنید ، که در چند لحظه بریده می شود.

تصویر
تصویر
تصویر
تصویر

در امتداد یک طرف طولانی کف فوم خود ، یک نوار را با عرض 1/2 اینچ و عرض دیگر را به عرض 1 اینچ علامت زده و برش دهید.

تصویر
تصویر

نوار باریک آینه را در آغوش گرفته و از نوار NeoPixel شما پشتیبانی می کند ، در حالی که پهن تر آن دیوار بیرونی قاب دایره ای را تشکیل می دهد.

تصویر
تصویر
تصویر
تصویر

برای قطع دایره ها! کمی ظرافت و صبر در اینجا مفید است. من دوست دارم از یک چاقوی صنایع دستی کوچکتر برای برش دایره ها استفاده کنم زیرا احساس می کنم کنترل بیشتری دارم. چاقوی خاصی که من در اینجا از آن استفاده می کنم دارای تیغه های معمولی X-acto است و من آن را در راهرو scrapbooking پیدا کردم.

ابتدا چاقوی خود را به آرامی در تمام سطح قطعه پایینی بکشید و فقط لایه بالای کاغذ را سوراخ کنید. در طول این گذر ، شما می توانید تیغه را زاویه دهید ، اما راحت تر است و دقیق ترین شکل را تولید می کند.

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

تصویر
تصویر
تصویر
تصویر

در مرحله بعد ، قطعه بالا را بریده و سپس دایره داخلی آن را برش دهید. این قطعه بیشتر از سایر قطعات دیده می شود ، بنابراین کمی تمیز کننده اضافی به آن بدهید تا لبه های ناهموار را صاف کند.

تصویر
تصویر
تصویر
تصویر

برای حلقه داخلی منحنی ، هر 1/4 اینچ یا بیشتر در امتداد نوار فومکور نازک تر ، برش بزنید ، اما تا انتها برش ندهید! راحت تر از آن است که به نظر می رسد- فقط دو پاس نور بدهید و این برش ها به قطعه اجازه می دهند در حالی که سطح داخلی صاف را ایجاد می کند منحنی شود.

تصویر
تصویر
تصویر
تصویر

قطعه قاب بیرونی باید بهترین حالت را به سمت بیرون داشته باشد ، بنابراین ما برش های متقاطع را در یک الگوی کمی متفاوت ایجاد می کنیم. ابتدا با زدن یک خط 3/16 "از لبه ، آمادگی لازم را برای اتصال دور پا داشته باشید. برش های متقاطع ملایمی را در امتداد نوار ایجاد کرده و قسمت های ضخیم و نازک را به ترتیب حدود 3/8" و 1/8 "اینچ متناوب کنید.

تصویر
تصویر

برای حذف موادی که لبه در آن می چسبد ، نوار را در امتداد لبه سطح برش قرار دهید و چاقوی خود را به صورت افقی بکشید تا کف اضافی خارج شود و لایه پایینی کاغذ دست نخورده باقی بماند.

تصویر
تصویر

حالا قسمت های نازک را با کشیدن موچین یا انبردست بردارید. آنها با صدای جنجالی رضایت بخش منتشر می شوند. با آن فضای اضافی ، نوار می تواند در خود خم شود و پوسته بیرونی تمیز پروژه را تشکیل دهد!

تصویر
تصویر
تصویر
تصویر

یک تکه از پلاستیک آینه خود را برش دهید تا بزرگتر از آینه شما باشد ، اما کوچکتر از قاب بیرونی باشد. سعی نکنید آن را در یک دایره برش دهید. اگر چاقوی پلاستیکی دارید ، بهترین کار این است. گوه را چند بار در امتداد خط کش خود بکشید ، سپس پلاستیک را در امتداد ضربه محکم کنید. با این حال ، یک چاقوی کاربردی به راحتی این ماده نازک را نیز برش می دهد ، البته با مقداری از مواد آینه در امتداد لبه برش ، که به هر حال در داخل قاب پنهان می شود.

مرحله 3: جمع آوری قاب

قاب را مونتاژ کنید
قاب را مونتاژ کنید
قاب را مونتاژ کنید
قاب را مونتاژ کنید

از سطح کار خود با مقداری ضایعات محافظت کنید. تفنگ چسب خود را گرم کنید و یک کاسه آب یخ آماده کنید تا در نزدیکی خود نگه دارید ، در صورتی که خودتان را بسوزانید. در صورت تمایل می توانید از چسب (های) مختلف برای این پروژه استفاده کنید.

تصویر
تصویر
تصویر
تصویر

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

تصویر
تصویر
تصویر
تصویر

قطعه "پیراشکی" جلویی خود را رو به پایین روی سطح کار قرار دهید و روی لبه لاک زده چسب بزنید. این قطعات را به طور مکرر روی سطح کار فشار دهید و در حین حرکت چسب بزنید ، بنابراین لبه جلویی زیبا و تمیز می شود. لبه بیرونی به هیچ وجه حرکت نمی کند و این خوب است- در صورت تمایل می توانید بعداً این فاصله را ببندید.

تصویر
تصویر
تصویر
تصویر

سیم های نوار NeoPixel را از طریق شکاف کوچک روی لبه آینه عبور دهید و آن را به قسمت داخلی بچسبانید. در صورت تمایل از گیره لباس برای بستن نوار در حین سرد شدن چسب استفاده کنید. سعی کنید از چسب داغ روی آینه خودداری کنید ، اما اگر این کار را انجام دهید اشکالی ندارد! کمی الکل مالش دهنده آن را بر روی سطوح غیر متخلخل مانند شیشه آزاد می کند.

تصویر
تصویر
تصویر
تصویر

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

تصویر
تصویر

با اتصال نوار NeoPixel خود به برد Arduino با اجرای نمونه کد NeoPixel که در درس کلاس آردوینو در مورد موضوع توضیح داده شده است ، از بازتاب دوگانه لذت ببرید.

مرحله 4: نمودار مدار و شبه کد

نمودار مدار و شبه کد
نمودار مدار و شبه کد

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

اتصالات به شرح زیر است:

NeoPixel 5V -> Arduino 5V

NeoPixel GND -> Arduino GND

NeoPixel Din (داده در) -> پین ورودی/خروجی دیجیتال Arduino (قابل تنظیم)

یک طرف سوئیچ دکمه ای لحظه ای -> پین I/O دیجیتال Arduino (قابل تنظیم)

طرف دیگر سوئیچ دکمه ای لحظه ای -> Arduino GND

این مدار نوار NeoPixel را با یک دکمه فشاری برای ایجاد انیمیشن های مختلف LED ترکیب می کند و از یک مقاومت کششی داخلی استفاده می کند ، همانطور که در درس ورودی/خروجی مشاهده کردید. با استفاده از همه این اطلاعات ، ما می توانیم یک برنامه ماکت آردوینو برای افراد خواندنی بنویسیم ، به نام "pseudocode:"

متغیرها: شماره پین NeoPixel ، شماره پین دکمه ، تعداد LED ها ، میزان روشنایی LED ها

وظایف یکبار مصرف: راه اندازی پین دکمه به عنوان ورودی با مقاومت کششی داخلی ، راه اندازی نوار NeoPixel ، توصیف انیمیشن های LED

وظایف حلقه: بررسی کنید که آیا دکمه فشار داده شده است یا خیر ، به یک انیمیشن LED دیگر بروید

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

مرحله 5: نمونه اولیه Breadboard

نمونه اولیه Breadboard
نمونه اولیه Breadboard

آردوینو و نان برد خود را بگیرید و مطمئن شوید که کابل USB از پریز برق جدا شده است. آیا هنوز NeoPixels شما از قبل متصل است؟ عالی! در غیر اینصورت ، آنها را وصل کنید: 5 ولت به ریل برق ، Din را به پین آردوینو 6 ، GND را به ریل زمینی وصل کنید.

سپس یک دکمه فشاری لحظه ای را به تخته نان خود اضافه کنید و خط تقسیم مرکز را کنار هم قرار دهید. یک پا را به ریل زمینی و پای مجاور آن را به پین آردوینو 2 وصل کنید. کد این پروژه را مستقیماً یا در ماژول مدارات Autodesk در بالا بارگیری کنید ، روی دکمه "ویرایشگر کد" ، سپس "بارگیری کد" کلیک کنید و فایل را در آردوینو ، یا کد را کپی کرده و در یک طرح جدید خالی آردوینو بچسبانید.

تصویر
تصویر

کابل USB خود را وصل کرده و کد را در برد Arduino خود بارگذاری کنید. دکمه را فشار دهید؛ باید یک انیمیشن جدید را برای پخش در NeoPixels ایجاد کند. راه آهن 5 ولت برای این چند پیکسل با روشنایی محدود کافی است ، اما برای پروژه های آینده با LED های بیشتر ، به منبع تغذیه جداگانه ای نیاز خواهید داشت ، همانطور که در درس مهارتهای کلاس اولیه آردوینو من مورد بحث قرار گرفت.

مرحله 6: کد

بیایید کد را با جزئیات بیشتری بررسی کنیم:

#تعریف BUTTON_PIN 2 // پین IO دیجیتال متصل به دکمه. این خواهد بود

// با مقاومت کششی حرکت می کند بنابراین کلید باید // پین را به صورت لحظه ای به زمین بکشد. در یک انتقال بالا -پایین // منطق فشار دکمه اجرا می شود. #تعریف PIXEL_PIN 6 // پین IO دیجیتال متصل به NeoPixels. #تعریف PIXEL_COUNT 19 #تعریف روشنایی 100 // 0-255 // پارامتر 1 = تعداد پیکسل در نوار // پارامتر 2 = شماره پین (بیشتر معتبر است) // پارامتر 3 = پرچم های نوع پیکسل ، در صورت نیاز به هم اضافه کنید: / / پیکسل های NEO_RGB برای RGB bitstream // NEO_GRB پیکسل ها برای جریان بیت GRB سیم کشی می شوند ، در صورت تغییر رنگ هنگام آزمایش // NEO_RGBW پیکسل ها برای جریان بیت RGBW // NEO_KHZ400 400 KHz (به عنوان مثال پیکسل های FLORA) // NEO_KHZ88 جریان بیت (به عنوان مثال نوار LED با تراکم بالا) ، درست برای چوب نئوپیکسلی Adafruit_NeoPixel = Adafruit_NeoPixel (PIXEL_COUNT ، PIXEL_PIN ، NEO_GRBW + NEO_KHZ800) ؛ bool oldState = HIGH؛ int showType = 0؛

مشابه کد نمونه NeoPixel ، این بخش اول نوار NeoPixel و متغیرهای پین دکمه فشار ، پین کنترل پیکسل و غیره را تنظیم می کند.

void setup () {

pinMode (BUTTON_PIN ، INPUT_PULLUP) ؛ strip.setBrightness (BRIGHTNESS) ؛ strip.begin ()؛ strip.show ()؛ // مقداردهی اولیه همه پیکسل ها به "خاموش"} تابع راه اندازی پین 2 را به یک ورودی با مقاومت کششی داخلی فعال می کند ، روشنایی جهانی پیکسل ها را تنظیم می کند و اتصال داده پیکسل را راه اندازی می کند.

حلقه خالی () {

// وضعیت دکمه فعلی را دریافت کنید. bool newState = digitalRead (BUTTON_PIN) ؛ // بررسی کنید که آیا حالت از بالا به پایین تغییر کرده است (فشار دکمه). if (newState == LOW && oldState == HIGH) {// تأخیر کوتاه در دکمه خروج. تأخیر (20) ؛ // بررسی کنید که آیا دکمه پس از خروج هنوز پایین است یا خیر. newState = digitalRead (BUTTON_PIN) ؛ if (newState == LOW) {showType ++؛ if (showType> 6) showType = 0؛ startShow (showType) ؛ }} // آخرین وضعیت دکمه را به حالت قدیمی تنظیم کنید. oldState = newState؛ }

تابع حلقه ابتدا وضعیت فعلی دکمه را بررسی کرده و آن را در یک متغیر بولی ذخیره می کند (می تواند یکی از دو حالت HIGH یا LOW باشد). سپس آن را بررسی و دوبار بررسی می کند تا ببیند آیا آن حالت از HIGH به LOW می رود یا خیر. در این صورت ، showType یک برابر افزایش می یابد و تابع startShow فراخوانی می شود ، در حالی که showType فعلی به عنوان یک آرگومان به آن منتقل می شود (showType محدود به 0-6 است). متغیر oldState به روز می شود تا آخرین وضعیت دکمه را نشان دهد.

void startShow (int i) {

switch (i) {case 0: colorWipe (strip. Color (0، 0، 0)، 50)؛ // استراحت سیاه/خاموش ؛ مورد 1: colorWipe (نوار رنگ (255 ، 0 ، 0) ، 50) ؛ // شکستن قرمز ؛ مورد 2: colorWipe (نوار رنگ (0 ، 255 ، 0) ، 50) ؛ // استراحت سبز ؛ مورد 3: colorWipe (نوار رنگ (0 ، 0 ، 255) ، 50) ؛ // شکست آبی ؛ مورد 4: pulseWhite (5) ؛ زنگ تفريح؛ مورد 5: rainbowFade2White (3 ، 3 ، 1) ؛ زنگ تفريح؛ مورد 6: fullWhite ()؛ زنگ تفريح؛ }}

تابع startShow شامل یک عبارت switch/case است که فقط یک راه سریع فانتزی برای جمع آوری چند دستور if/else است. case switch متغیر i را با مقادیر هر case مقایسه می کند ، سپس کد را در آن دستور اجرا می کند. کلمه کلیدی

زنگ تفريح؛

از عبارت switch/case خارج می شود. این کلید/قاب برای فراخوانی عملکردهای مختلف متحرک هر بار که دکمه را فشار می دهید استفاده می شود.

تصویر
تصویر

اکنون که یک نمونه اولیه کاربردی از تخته نان را تهیه کرده اید ، وقت آن است که این پروژه را با استفاده از Arduino Gemma که کوچکتر است ، از امکانات کمتری برخوردار است و هزینه کمتری نسبت به Arduino Uno دارد ، به پایان برسانید. همچنین می توانید به جای آن از Adafruit Gemma استفاده کنید ، اما برای پیکربندی نرم افزار Arduino باید یک مرحله دیگر را انجام دهید.

ابتدا ، متغیر پین NeoPixel را از 6 به 1 در کد خود تغییر دهید:

#تعریف PIXEL_PIN 1 // پین IO دیجیتال متصل به NeoPixels.

Arduino Gemma خود را با استفاده از کابل USB به رایانه وصل کنید و "Arduino Gemma" را به عنوان نوع برد خود در منوی Arduino Tools انتخاب کنید.

تصویر
تصویر

عملکردهای محدود میکروکنترلر ATTiny85 روی برد از پورت سریال مشابه Uno پشتیبانی نمی کند ، بنابراین لازم نیست چیزی را از منوی Port انتخاب کنید. با این حال ، حتماً "Arduino Gemma" را در زیر منوی Programmer انتخاب کنید.

تصویر
تصویر

هنگامی که می خواهید برنامه را برنامه ریزی کنید ، برد نیاز به کمک کمی دارد ، بنابراین دکمه تنظیم مجدد روی برد را فشار دهید و در حالی که LED قرمز رنگ می زند ، دکمه بارگذاری را فشار دهید تا طرح خود را روی Gemma بارگذاری کنید. اگر وقتی دکمه تنظیم مجدد را فشار می دهید ، LED قرمز شما نبض نمی یابد ، ممکن است کابل USB شما فقط برق داشته باشد و باید با کابل USB که دارای اتصال برق و داده است جایگزین شود. یکی دیگر از دلایلی که LED شما ممکن است نبض نداشته باشد این است که از پورت USB 3 (همه Mac های جدیدتر) استفاده می کنید که در تشخیص بوت لودر Gemma مشکل دارد. از یک پورت USB 2 در رایانه خود یا یک هاب USB بین رایانه خود و Gemma استفاده کنید.

مرحله 7: مدار لحیم کاری

تصویر
تصویر
تصویر
تصویر

برای اجرای مدار با Gemma شما ، سیم ها را مستقیماً به پدهای روی برد لحیم می کنیم. اتصالات تخته نان را جدا کرده و نوارهای سیم نوار NeoPixel را بپیچانید و بچرخانید. سیمها را به همان شکل روی سرهای مورب یک دکمه فشار دهید (می توانید از دکمه درس لحیم کاری استفاده کنید). دو سیم زمین را به هم بچرخانید و لحیم کنید.

تصویر
تصویر
تصویر
تصویر

سوراخ های بزرگ Gemma مونتاژ این مدار را بدون قطعات اضافی آسان می کند- فقط سیم های قلع را از سوراخ ها عبور دهید و مازاد آن را در اطراف پد لحیم کاری بپیچید. اتصالات به شرح زیر است:

  • NeoPixel 5V -> Gemma Vout
  • NeoPixel Din -> Gemma 1 pin (پین دیجیتال 1)
  • NeoPixel GND -> یک طرف دکمه فشاری -> Gemma GND
  • طرف دیگر دکمه فشار -> Gemma 2 (پین دیجیتال 2)

مدار مدار خود را در یک ابزار دست سوم قرار دهید و قبل از استفاده از لحیم بیشتر برای بلعیدن پد و سیم ، اتصالات را با آهن لحیم کاری خود گرم کنید. پس از خنک شدن همه اتصالات ، سیم اضافی را با قلم موهای خود برش دهید.

تصویر
تصویر
تصویر
تصویر

چسب داغ Gemma خود را در جای خود قرار دهید و درگاه USB رو به لبه دایره باشد.

تصویر
تصویر
تصویر
تصویر
تصویر
تصویر
تصویر
تصویر
تصویر
تصویر

روکش جلویی/بالایی را بمالید و لبه را طوری دستکاری کنید که تکه ها را تمیز کنار هم قرار دهید. ممکن است مجبور شوید دایره پایینی خود را فقط کمی کوتاه کنید تا متناسب شود و به همین ترتیب لبه را باز کنید تا جفت آن جا بگیرد. دکمه فشاری را هر جا که دوست دارید در جای خود بچسبانید.

مرحله 8: از آن استفاده کنید

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

تصویر
تصویر

به راحتی می توانید این پروژه را به جای اتصال کابل USB با باتری داخلی اجرا کنید. جهت چسباندن Gemma دسترسی به درگاه باتری را تعیین می کند ، بنابراین ممکن است بخواهید آن را با زاویه ای متفاوت دوباره بچسبانید. 19 پیکسل RGBW بر حداکثر حداکثر جریان 80ma (به علاوه 10ma برای Gemma) معادل 1530ma است ، این بدان معناست که ما از نظر فنی به باتری حداقل با این مقدار میلی آمپر ساعت نیاز داریم. با این حال ، کد آینه به استفاده از LED های هر چهار پیکسل در روشنایی کامل با هم نزدیک نمی شود ، بنابراین در واقع حداکثر کشش جریان بسیار کمتر است. یک باتری سالم یک باتری لیپولی قابل شارژ 1200 میلی آمپر ساعتی است.

تصویر
تصویر

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

توصیه شده: