فهرست مطالب:

HALO: Handy Arduino Lamp Rev1.0 W/Neo پیکسل: 9 مرحله (همراه با تصاویر)
HALO: Handy Arduino Lamp Rev1.0 W/Neo پیکسل: 9 مرحله (همراه با تصاویر)

تصویری: HALO: Handy Arduino Lamp Rev1.0 W/Neo پیکسل: 9 مرحله (همراه با تصاویر)

تصویری: HALO: Handy Arduino Lamp Rev1.0 W/Neo پیکسل: 9 مرحله (همراه با تصاویر)
تصویری: DIY HALO Lamp Rev1.0 - Powered by Arduino Nano, 15+ Color Modes 2024, سپتامبر
Anonim
Image
Image
HALO: Handy Arduino Lamp Rev1.0 W/NeoPixels
HALO: Handy Arduino Lamp Rev1.0 W/NeoPixels
HALO: Handy Arduino Lamp Rev1.0 W/NeoPixels
HALO: Handy Arduino Lamp Rev1.0 W/NeoPixels

در این مقاله آموزشی ، نحوه ساخت HALO یا Handy Arduino Lamp Rev1.0 را به شما نشان خواهم داد.

HALO یک لامپ ساده است که از آردوینو نانو استفاده می کند. مجموعاً رد پای آن در حدود 2 اینچ در 3 اینچ است و پایه چوبی وزنی برای ثبات فوق العاده دارد. گردن انعطاف پذیر و 12 NeoPixel فوق العاده روشن به آن اجازه می دهد تا به راحتی هر جزئیات را روی هر سطحی روشن کند. HALO دارای دو دکمه برای چرخاندن در حالت های مختلف نور است که 15 تای آنها از قبل برنامه ریزی شده است. به دلیل استفاده از آردوینو نانو به عنوان پردازنده ، این امکان برای شما وجود دارد که آن را با ویژگی های اضافی برنامه ریزی مجدد کنید. از پتانسیومتر واحد برای تنظیم روشنایی و/یا سرعت نمایش حالت استفاده می شود. یک ساختار فلزی ساده HALO را به یک لامپ بسیار بادوام تبدیل می کند که برای استفاده در هر کارگاهی مناسب است. سهولت استفاده با تنظیم کننده قدرت داخلی نانو افزوده می شود ، بنابراین HALO می تواند از طریق USB یا جک استاندارد بشکه 5 میلی متری در عقب تغذیه شود.

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

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

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

مرحله 1: جمع آوری مواد

جمع آوری مواد
جمع آوری مواد
جمع آوری مواد
جمع آوری مواد
جمع آوری مواد
جمع آوری مواد
جمع آوری مواد
جمع آوری مواد

چند بار باید آن را بگویم؟ همیشه آنچه را که نیاز دارید در اختیار داشته باشید ، و تضمین می شود که می توانید چیزی را تا انتها بسازید.

توجه: برخی از اینها پیوندهای وابسته هستند (با علامت "al") ، اگر از طریق آنها خرید کنید ، بدون هیچ هزینه اضافی ، یک برگشت کوچک دریافت می کنم. اگر از طریق پیوندها خرید می کنید متشکرم

قطعات:

1x آردوینو نانو نانو - al

پتانسیومتر روتاری 1x 10k 5 پتانسیومتر 10k - al

جک بشکه ای 1 میلی متری 5 میلی متری (بازیافت من از Arduino Uno سرخ شده) جک بشکه ای زنانه (5 بسته) - al

2x 2 پین دکمه های لحظه ای 10 بسته SPST Pushbutton Switch-al

12 برابر NeoPixels از یک رشته 60 LED/متر (معادل آن ، به عنوان مثال WS2812B ، کار می کند) Adafruit NeoPixels

ورق آلومینیوم 0.5 میلی متر

گردن انعطاف پذیر از فندک فلکس قدیمی

حلقه جلد بالایی از چراغ کابینت LED "Stick and Click" LED Cabinet Light - al

یک ورق کوچک از تخته سه لا 1/4 اینچ

وزن فلزی سنگین و مسطح با ابعاد (تقریبا) 1.5 اینچ در 2.5 اینچ در 0.25 اینچ

سیم برق رشته ای رشته دار

ابزارها:

تفنگ چسب داغ و چسب

لحیم کاری و لحیم کاری

مته قدرت بی سیم و انواع پیچ و تاب کوچک

چاقوی X-acto (یا چاقوی کاربردی)

استریپرهای سیم

انبر

برش/برش سیم

قیچی سنگین

اگر وزن فلز مسطح ندارید ، به موارد زیر نیز نیاز دارید:

1 رول لحیم ارزان (نه مواردی که برای لحیم کاری استفاده می کنید) لحیم کننده ارزان بدون سرب

شمع الکل (یا مشعل بونسن)

یک ظرف فولادی سخت کوچک که نمی خواهید خراب کنید (یا اگر یک ظرف قابلمه کوچک دارید)

یک سه پایه برای ظرف/بشقاب مذکور (من سیم خود را از سیم فولادی 12 سنج تهیه کردم)

ظرف گلی (یکی از چیزهایی که زیر گلدان می رود)

مقداری فویل آلومینیومی

توجه: اگر کیت جوش یا چاپگر سه بعدی دارید ، ممکن است به همه ابزارهای ذکر شده در اینجا احتیاج نداشته باشید.

مرحله 2: ایجاد وزن

ساخت وزن
ساخت وزن
ساخت وزن
ساخت وزن
ساخت وزن
ساخت وزن

این یک مرحله نسبتاً دشوار است و باید در انجام آن احتیاط زیادی به خرج دهید. اگر وزن فلزات سنگین دارید یا آهنربای نئودیمیوم مسطح در حدود 2.75 اینچ در 1.75 اینچ در 0.25 اینچ دارید ، توصیه می کنم از آن استفاده کنید (و آهن ربا حتی به شما این امکان را می دهد که لامپ را به صورت جانبی روی سطوح فلزی قرار دهید!).

سلب مسئولیت: من مسئول هیچ گونه صدمه ای از طرف شما نیستم ، بنابراین لطفاً از عقل سلیم استفاده کنید

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

ابتدا یک قالب کوچک از فویل آلومینیوم یا خاک رس مرطوب ، به ابعاد داخلی حدود 2 3/4 اینچ در 1 3/4 اینچ در 1/4 اینچ ایجاد کنید. این می تواند یک شکل تخم مرغی مانند من یا یک مستطیل باشد. از چندین لایه فویل یا لایه های ضخیم خاک رس استفاده کنید.

قالب را در ظرف سرامیک بچینید و قالب و سینی را با آب سرد پر کنید.

شمع الکلی/بونسن مشعل روشن خود را بردارید و ظرف فولادی/بوته را روی سه پایه قرار دهید تا شعله وسط ظرف را گرم کند (هنگام روشن شدن). قبل از روشن کردن مشعل ، مطمئن شوید که حداقل 1 جفت انبردست یا انبر فلزکاری در دست دارید ، اگر نه 2 عدد.

ایده خوبی است که هنگام انجام مراحل بعدی از دستکش چرمی ، آستین بلند ، شلوار بلند ، کفش های بسته و محافظ چشم استفاده کنید

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

تغذیه لحیم را درون ظرف ادامه دهید تا آخرین ظرف ذوب شود.

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

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

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

پس از سرد شدن کامل لحیم کاری (حدود 20 دقیقه برای ایمن ماندن) ، آن را از قالب فویل جدا کنید.

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

مرحله 3: ساخت مسکن الکترونیکی ، مرحله 1

ساخت مسکن الکترونیک ، مرحله 1
ساخت مسکن الکترونیک ، مرحله 1
ساخت مسکن الکترونیک ، مرحله 1
ساخت مسکن الکترونیک ، مرحله 1
ساخت مسکن الکترونیک ، مرحله 1
ساخت مسکن الکترونیک ، مرحله 1
ساخت مسکن الکترونیک ، مرحله 1
ساخت مسکن الکترونیک ، مرحله 1

اینها قسمتهایی برای پوسته هستند که نانو را در خود جای داده ، رابط را نصب می کند و اساساً همان چیزی است که لامپ HALO را در کنار هم نگه می دارد. من با آلومینیوم و چسب داغ 0.5 میلی متری خود را تهیه کردم ، اما اگر چاپگر سه بعدی دارید (چیزی که مدتی است سعی می کنم برای مغازه ام تهیه کنم) یک نسخه. STL در Tinkercad تهیه کردم که در اینجا برای شما ضمیمه کردم دانلود. از آنجا که من چاپگر ندارم ، نتوانستم مدل را آزمایش کنم تا ببینم آیا همه چیز به درستی چاپ می شود یا خیر ، اما فکر می کنم اگر ساختارهای پشتیبانی مناسب را در دستگاه برش خود اضافه کنید ، خوب خواهد بود. اگر به طرح یا زیبایی کمی متفاوت نیاز دارید یا می خواهید فایل منبع را در اینجا کپی و ویرایش کنید.

ابعاد در واقع از وزن فلزی که من برای لحیم کاری برای خودم ریختم نشأت می گرفت ، نه از اندازه وسایل الکترونیکی ، اما به هر حال کاملاً خوب بود و ابعاد بسیار مطلوب است.

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

اگر شما مانند من از ورق فلزی مونتاژ می کنید ، در اینجا موارد زیر را باید انجام دهید:

مرحله 1: صفحات صورت

دو شکل نیم دایره ای یکسان با قد 1.5 و 3 اینچ عرض ببرید. (من دست خود را آزاد گذاشتم ، بنابراین آنها کمی شبیه جلوی جعبه جوک هستند).

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

مرحله 2: پوشش طاق دار

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

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

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

اکنون که قطعات پوسته را داریم ، مرحله بعدی افزودن وسایل الکترونیکی و کنار هم قرار دادن آنهاست!

مرحله 4: ساخت مسکن الکترونیکی ، مرحله 2

ساخت مسکن الکترونیک ، مرحله 2
ساخت مسکن الکترونیک ، مرحله 2
ساخت مسکن الکترونیک ، مرحله 2
ساخت مسکن الکترونیک ، مرحله 2
ساخت مسکن الکترونیک ، مرحله 2
ساخت مسکن الکترونیک ، مرحله 2
ساخت مسکن الکترونیک ، مرحله 2
ساخت مسکن الکترونیک ، مرحله 2

حالا دکمه ها و پتانسیومتر را اضافه کرده و همه را کنار هم قرار می دهیم.

مرحله 1: دکمه ها و پیچ ها

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

هر یک از اجزا را از سوراخ مربوطه عبور دهید ، سپس مهره ها را مجدداً پیچ کنید تا هر کدام در جای خود محکم شوند. مهره ها را تا جایی محکم کنید که مطمئن شوید هر جزء کاملاً ایمن است.

مرحله 2. گردن خم

گردن خم شده را از سوراخ بالای قطعه خمیده عبور دهید. چسب داغ یا جوش (در صورت داشتن تجهیزات) گردن را در جای خود محکم کنید.

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

مرحله 3: مونتاژ پوسته (در پوسته چاپ شده سه بعدی اعمال نمی شود)

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

اکنون که پوسته را داریم ، می توانیم برای افزودن تمام بیت های مدار حرکت کنیم.

مرحله 5: افزودن قطعات الکترونیکی

افزودن وسایل الکترونیکی
افزودن وسایل الکترونیکی
افزودن وسایل الکترونیکی
افزودن وسایل الکترونیکی
افزودن وسایل الکترونیکی
افزودن وسایل الکترونیکی

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

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

در تصاویر بالا نمودار وجود دارد ، اگر دوست دارید آن را دنبال کنید.

مرحله 1: رابط

از هر یک از کلیدها ، سیم را از یک پین به پین کناری پتانسیومتر بچسبانید. یک سیم از همین پین جانبی به یک پایه اتصال روی نانو لحیم کنید.

سیم را از پایه مرکزی پتانسیومتر به A0 روی نانو لحیم کنید.

سیم را از پین وصل نشده هر یک از سوئیچ ها به A1 روی نانو لحیم کنید.

سیم را از پین متصل به سوئیچ دیگر به A2 در نانو لحیم کنید.

توجه: مهم نیست که کدام سوئیچ کدام است ، می توانید آنها را به راحتی در کد تغییر دهید ، علاوه بر این که یک سوئیچ به سادگی برعکس دیگری عمل می کند.

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

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

لحیم کاری این اتصال 5 ولت در نانو.

مرحله 2: صفحه نمایش و سیم برق

2 طول سیم را 4 اینچ بیشتر از گردن خم کنید ، و هر دو انتهای آن را بچسبانید.

با استفاده از یک شارپی ، انتهای هر سیم ، یک سیم را با 2 خط و یکی را با 3 خط مشخص کنید.

سیم را با 2 خط به پین دیجیتال 9 روی نانو لحیم کنید.

در جک لوله 5 میلی متری خود ، سیم را از پایه مرکزی (مثبت) به Vin روی نانو لحیم کنید.

سیم دیگری را به پین جانبی (زمین/منفی) جک بشکه بچسبانید.

سیم بلند را با 3 خط آهنی به همراه سیم از پین جانبی جک بشکه بچرخانید.

این سیمها را به پین GND باز شده روی نانو لحیم کنید.

در صورت نیاز اتصالات را با نوار برقی یا چسب داغ جدا کنید.

مرحله 3: برش سوراخ ها (فقط در نسخه فلزی ، اگر جلد را به صورت سه بعدی چاپ کرده اید ، باید خوب باشید)

با استفاده از یک مته و یک X-acto یا Utility Knife ، یک سوراخ در قسمت جلویی برای پورت USB نانو ایجاد کنید.

یک سوراخ دیگر به اندازه سطح جک بشکه در پشت جلد ایجاد کنید ، ترجیحاً نزدیک به طرف مقابل سوراخ برای درگاه USB.

مرحله 4: نصب قطعات

سه سیم بلند را از طریق گردن انعطاف پذیر و از طرف دیگر خارج کنید.

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

مجدداً با استفاده از چسب داغ فراوان ، نانو را در جای خود قرار دهید ، با دکمه تنظیم مجدد رو به پایین و پورت USB در شکاف آن قرار دهید. من یک "پل چسب حرارتی" بین جک بشکه و نانو ایجاد کردم ، که باعث می شود هر کدام دیگری را محکم در جای خود نگه دارد.

حالا ما می توانیم برای ساختن پایه وزنی حرکت کنیم!

مرحله 6: پایگاه وزن دار

پایگاه وزن دار
پایگاه وزن دار
پایگاه وزن دار
پایگاه وزن دار
پایگاه وزن دار
پایگاه وزن دار

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

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

مرحله 1: چوب

از یک ورق تخته سه لا 1/4 اینچی ، پایه ای در حدود 3 اینچ در 2 اینچ برش دهید.

لبه ها را سنباده بزنید تا صاف و صاف شوند.

مرحله 2: وزن

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

وزن خود را در وسط تکه تخته سه لا یا در مورد طرح چاپ سه بعدی ، در قسمت مرکزی "سینی" که برای این منظور طراحی کردم بچسبانید.

مرحله 3: پایه

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

اطمینان حاصل کنید که وزن با هیچ یک از وسایل الکترونیکی تداخل ندارد

از چسب حرارتی برای محکم کردن پایه در محل خود استفاده کنید. برای اطمینان از اتصال محکم به اندازه کافی استفاده کنید.

اکنون که جعبه کنترل خود را کاملاً آماده کرده ایم ، به سراغ چراغ ها برویم.

مرحله 7: حلقه Halo NeoPixel

حلقه Halo NeoPixel
حلقه Halo NeoPixel
حلقه Halo NeoPixel
حلقه Halo NeoPixel
حلقه Halo NeoPixel
حلقه Halo NeoPixel
حلقه Halo NeoPixel
حلقه Halo NeoPixel

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

مرحله 1: لحیم کاری

یک نوار NeoPixels 12 LED را به طول برش دهید.

پین GND را از گردن انعطاف پذیر که دارای 3 خط است به سیم بچسبانید.

پین دین را به سیم که 2 خط دارد لحیم کنید.

پین 5 ولت را به سیم که 1 خط دارد لحیم کنید.

مرحله 2: چراغ ها را آزمایش کنید

کتابخانه Adafruit_NeoPixel را بارگیری و نصب کنید و کد "strandtest" را باز کنید.

پین ثابت را به 9 تغییر دهید.

خطی را که نوار در آن تعریف شده است تغییر دهید تا برای 12 LED پیکربندی شود.

کد را در Nano بارگذاری کنید و از عملکرد صحیح تمام LED های خود اطمینان حاصل کنید.

تا زمانی که کل نوار کار نکند ، LED های معیوب را با LED های کارگر جایگزین کنید.

مرحله 3: زنگ بزنید

حلقه بالایی را از چراغ "Stick and Click" بردارید و هرگونه پایه پیچ روی لبه داخلی را قطع کنید.

یک شکاف کوچک روی لبه برای سیمها از نوار برش دهید.

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

برای محکم نگه داشتن لبه های نوار از چسب داغ استفاده کنید

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

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

دو مستطیل کوچک از چوب 1/4 اینچی ، تقریباً به ارتفاع حلقه و 1 2/3 برابر عرض ببرید.

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

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

مرحله 6: پایان کار

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

حالا ما می توانیم حرکت کنیم تا کد نهایی را به پایان برسانیم!

مرحله 8: کدها و آزمایش ها

کدها و آزمایشات
کدها و آزمایشات
کدها و آزمایشات
کدها و آزمایشات

بنابراین اکنون تنها کاری که باید انجام دهیم این است که لامپ را برنامه ریزی کرده و آن را آزمایش کنیم. پیوست نسخه کد فعلی (rev1.0) است ، من این کد را به طور گسترده آزمایش کرده ام و بسیار خوب کار می کند. من روی rev2.0 کار می کنم که در آن دکمه ها به عنوان وقفه های خارجی پیکربندی شده اند تا بتوان حالت ها را به راحتی بین آنها تغییر داد ، اما این نسخه اشکال دارد و هنوز برای انتشار آماده نیست. در نسخه فعلی شما باید دکمه را نگه دارید تا حلقه Debounce اجرا شود و تغییر وضعیت را تشخیص دهد ، که می تواند در حلقه های طولانی تر "Dynamic" آزاردهنده باشد. در زیر کد با برخی توضیحات نوشته شده است (همان توضیحات در نسخه قابل بارگیری وجود دارد).

#شامل #ifdef _AVR_ #شامل #endif

#پین 9 را تعریف کنید

#تعریف POT A0 #تعریف BUTTON1 A1 #تعریف BUTTON2 A2

// پارامتر 1 = تعداد پیکسل در نوار

// پارامتر 2 = شماره پین آردوینو (اکثر آنها معتبر هستند) // پارامتر 3 = پرچم های نوع پیکسل ، در صورت نیاز با هم جمع کنید: // NEO_KHZ800 800 KHz بیت استریم (بیشتر محصولات NeoPixel با LED های WS2812) // NEO_KHZ400 400 کیلوهرتز (کلاسیک) پیکسل های v1 '(نه v2) FLORA ، درایورهای WS2811) // پیکسل های NEO_GRB برای جریان بیت GRB (اکثر محصولات NeoPixel) // پیکسل های NEO_RGB برای جریان بیت RGB (پیکسل های v1 FLORA ، نه v2) // پیکسل های NEO_RGBW سیم کشی می شوند جریان بیت RGBW (محصولات RGBW NeoPixel) Adafruit_NeoPixel هاله = Adafruit_NeoPixel (12 ، PIN ، NEO_GRB + NEO_KHZ800) ؛

// و اکنون ، یک پیام ایمنی از دوستان ما در Adafruit:

// مهم: برای کاهش خطر فرسودگی NeoPixel ، خازن 1000 uF را در سراسر اضافه کنید

// قدرت پیکسل ها ، مقاومت 300 - 500 اهم را در ورودی داده پیکسل اول اضافه کنید // و فاصله بین آردوینو و پیکسل اول را به حداقل برسانید. از اتصال // روی یک مدار زنده اجتناب کنید … اگر لازم است ، ابتدا GND را وصل کنید.

// متغیرها

int buttonState1؛ int buttonState2؛ // قرائت فعلی از پین ورودی int lastButtonState1 = LOW؛ // خواندن قبلی از پین ورودی int lastButtonState2 = LOW؛ حالت int ؛ // حالت چراغ های ما ، می تواند یکی از 16 تنظیمات (0 تا 15) int brightVal = 0 باشد ؛ // روشنایی/ سرعت ، همانطور که توسط پتانسیومتر تنظیم شده است

// متغیرهای زیر طولانی هستند زیرا زمان ، بر حسب میلی ثانیه اندازه گیری می شود ،

// به سرعت تبدیل به یک عدد بزرگتر از آنچه در یک int ذخیره می شود ، می شود. long lastDebounceTime = 0؛ // آخرین باری که پین خروجی ضامن طولانی را تغییر داد Dele = 50؛ // زمان خروج ؛ در صورت چشمک زدن خروجی افزایش می یابد

void debounce () {

// وضعیت سوئیچ را به یک متغیر محلی بخوانید: int reading1 = digitalRead (BUTTON1)؛ int reading2 = digitalRead (BUTTON2) ؛ // اگر هریک از دکمه ها به دلیل نویز یا فشار دادن تغییر کرد: if (reading1! = lastButtonState1 || reading2! = lastButtonState2) {// زمان سنج خروجی lastDebounceTime = millis ()؛ } if ((millis () - lastDebounceTime)> debounceDelay) {// اگر به دلیل فشار دادن/رها کردن دکمه قطعاً تغییر کرده باشد: if (reading1! = buttonState1) {buttonState1 = reading1؛ // اگر تغییر کرده باشد (butState1 == LOW) {// اینها به عنوان خواندن تنظیم شوند (++). if (حالت == 16) {حالت = 0 ؛ }}} if (reading2! = buttonState2) {buttonState2 = reading2؛ if (buttonState2 == LOW) {mode = mode - 1؛ if (حالت == -1) {حالت = 15 ؛ }}}} // خواندن را برای دفعه بعد از طریق حلقه lastButtonState1 = read1 ذخیره کنید؛ lastButtonState2 = خواندن 2 ؛ }

void getBright () {// کد ما برای خواندن پتانسیومتر ، مقداری بین 0 تا 255 ارائه می دهد. برای تنظیم روشنایی در برخی از حالت ها و سرعت در برخی دیگر استفاده می شود.

int potVal = analogRead (POT) ؛ brightVal = map (potVal، 0، 1023، 0، 255)؛ }

// در اینجا حالت های رنگی ما وجود دارد. برخی از اینها از بدترین نمونه گرفته شده اند ، برخی دیگر اصلی هستند.

// نقاط را یکی پس از دیگری با یک رنگ پر کنید (colorwipe ، مشتق شده از strandtest)

void colorWipe (uint32_t c، uint8_t wait) {for (uint16_t i = 0؛ i

// توابع رنگین کمان (همچنین از strandtest گرفته شده است)

رنگین کمان خالی (uint8_t صبر کنید) {

uint16_t i، j؛

برای (j = 0؛ j <256؛ j ++) {برای (i = 0؛ i

// کمی متفاوت ، این باعث می شود رنگین کمان به طور مساوی در سراسر توزیع شود

void rainbowCycle (uint8_t wait) {uint16_t i، j؛

برای (j = 0 ؛ j <256*5 ؛ j ++) {// 5 چرخه از همه رنگها در چرخ برای (i = 0 ؛ i <halo.numPixels () ؛ i ++) {halo.setPixelColor (i ، Wheel (((i * 256 / halo.numPixels ()) + j) & 255))؛ } halo.show ()؛ تأخیر (صبر) ؛ }}

// مقدار 0 تا 255 را وارد کنید تا مقدار رنگ بدست آید.

// رنگها یک انتقال r - g - b - بازگشت به r هستند. uint32_t Wheel (byte WheelPos) {WheelPos = 255 - WheelPos؛ if (WheelPos <85) {return halo. Color (255 - WheelPos * 3 ، 0 ، WheelPos * 3) ؛ } if (WheelPos <170) {WheelPos -= 85؛ بازگشت هاله. رنگ (0 ، WheelPos * 3 ، 255 - WheelPos * 3) ؛ } WheelPos -= 170 ؛ بازگشت هاله. رنگ (WheelPos * 3 ، 255 - WheelPos * 3 ، 0) ؛ }

void setup () {

// این برای Trinket 5V 16MHz است ، اگر از Trinket #if #endif // پایان کد کوچک pinMode (POT ، INPUT) ؛ pinMode (BUTTON1 ، INPUT_PULLUP) ؛ pinMode (BUTTON2 ، INPUT_PULLUP) ؛ pinMode (PIN ، OUTPUT) ؛ Serial.begin (9600)؛ // اشکال زدایی موارد halo.begin ()؛ halo.show ()؛ // مقداردهی اولیه همه پیکسل ها به "خاموش"}

حلقه خالی () {

debounce ()؛

//Serial.println (حالت) ؛ // اشکال زدایی بیشتر //Serial.println(lastButtonState1)؛ //Serial.println(lastButtonState2)؛

if (حالت == 0) {

getBright ()؛ برای (int i = 0؛ i <halo.numPixels ()؛ i ++) {halo.setPixelColor (i، halo. Color (brightVal، brightVal، brightVal)) ؛ // همه پیکسل ها را روی سفید تنظیم کنید} halo.show ()؛ }؛ if (حالت == 1) {getBright ()؛ برای (int i = 0؛ i <halo.numPixels ()؛ i ++) {halo.setPixelColor (i، halo. Color (brightVal، 0، 0))؛ // همه پیکسل ها را روی قرمز تنظیم کنید} halo.show ()؛ }؛ if (حالت == 2) {getBright ()؛ برای (int i = 0؛ i <halo.numPixels ()؛ i ++) {halo.setPixelColor (i، halo. Color (0، brightVal، 0))؛ // همه پیکسل ها را روی سبز تنظیم کنید} halo.show ()؛ }؛ if (حالت == 3) {getBright ()؛ برای (int i = 0؛ i <halo.numPixels ()؛ i ++) {halo.setPixelColor (i، halo. Color (0، 0، brightVal))؛ // همه پیکسل ها را آبی تنظیم کنید} halo.show ()؛ }؛ if (حالت == 4) {getBright ()؛ برای (int i = 0؛ i <halo.numPixels ()؛ i ++) {halo.setPixelColor (i، halo. Color (0، brightVal، brightVal))؛ // همه پیکسل ها را روی cyan} halo.show () تنظیم کنید؛ }؛ if (حالت == 5) {getBright ()؛ برای (int i = 0؛ i <halo.numPixels ()؛ i ++) {halo.setPixelColor (i، halo. Color (brightVal، 0، brightVal))؛ // همه پیکسل ها را روی بنفش/magenta} halo.show () تنظیم کنید؛ }؛ if (حالت == 6) {getBright ()؛ برای (int i = 0؛ i <halo.numPixels ()؛ i ++) {halo.setPixelColor (i، halo. Color (brightVal، brightVal، 0))؛ // همه پیکسل ها را روی نارنجی/زرد تنظیم کنید} halo.show ()؛ }؛ if (mode == 7) {// حال حالتهای پویا getBright ()؛ colorWipe (هاله. رنگ (روشنVal ، 0 ، 0) ، 50) ؛ // قرمز }؛ if (حالت == 8) {getBright ()؛ colorWipe (هاله رنگ (0 ، brightVal ، 0) ، 50) ؛ // سبز }؛ if (حالت == 9) {getBright ()؛ colorWipe (هاله. رنگ (0 ، 0 ، brightVal) ، 50) ؛ // آبی }؛ if (حالت == 10) {getBright ()؛ colorWipe (halo. Color (brightVal ، brightVal ، brightVal) ، 50) ؛ // سفید }؛ if (حالت == 11) {getBright ()؛ colorWipe (هاله رنگ) (brightVal ، brightVal ، 0) ، 50) ؛ // نارنجی/زرد} ؛ if (حالت == 12) {getBright ()؛ colorWipe (هاله. رنگ (0 ، brightVal ، brightVal) ، 50) ؛ // فیروزه ای }؛ if (حالت == 13) {getBright ()؛ colorWipe (halo. Color (brightVal ، 0 ، brightVal) ، 50) ؛ // بنفش/سرخابی}؛ if (mode == 14) {// دو مورد آخر کنترل سرعت هستند ، زیرا روشنایی پویا است getBright ()؛ رنگین کمان (brightVal) ؛ }؛ if (حالت == 15) {getBright ()؛ rainbowCycle (brightVal) ؛ }؛ تأخیر (10) ؛ // به پردازنده اجازه دهید کمی استراحت کند}

مرحله نهم: فینال بزرگ

فینال بزرگ
فینال بزرگ

و اکنون ما یک لامپ کوچک فوق العاده فوق العاده روشن داریم!

می توانید آن را از اینجا بیشتر تغییر دهید ، یا آن را همانطور که هست بگذارید. می توانید کد را تغییر دهید یا حتی یک کد جدید را به طور کامل بنویسید. می توانید پایه را بزرگ کرده و باتری اضافه کنید. می توانید یک فن اضافه کنید می توانید NeoPixels بیشتری اضافه کنید. لیستی از همه کارهایی که می توانید با این کار انجام دهید تقریبا بی نهایت است. من می گویم "تقریبا" زیرا من کاملاً مطمئن هستم که ما هنوز فناوری لازم برای تبدیل این دستگاه به یک مولد پورتال کوچک را نداریم (متأسفانه) ، اما گذشته از مواردی از این دست ، تنها محدودیت تخیل شماست (و تا حدی ، همانطور که اخیراً ابزارهای کارگاه شما را یافته ام). اما اگر ابزار ندارید ، اجازه ندهید این کار شما را متوقف کند ، اگر واقعاً می خواهید کاری را انجام دهید همیشه راهی وجود دارد.

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

من اینجا را ترک می کنم ، زیرا فکر می کنم این مورد خیلی خوب بود. اگر پیشنهادی برای بهبود یا س questionالی در مورد روشهای من دارید ، لطفاً در زیر نظر دهید. اگر این را ساخته اید ، یک عکس بگیرید ، همه ما می خواهیم آن را ببینیم!

لطفاً اگر این مورد را دوست دارید رای فراموش نکنید!

مثل همیشه ، اینها پروژه های خطرناک انفجار ، مأموریت مادام العمر او ، "ساختن جسورانه آنچه می خواهید بسازید ، و بیشتر!"

شما می توانید بقیه پروژه های من را در اینجا پیدا کنید.

با تشکر از شما برای خواندن ، و خوشحالم!

توصیه شده: