فهرست مطالب:

قاصدک تعاملی: 11 مرحله (همراه با تصاویر)
قاصدک تعاملی: 11 مرحله (همراه با تصاویر)

تصویری: قاصدک تعاملی: 11 مرحله (همراه با تصاویر)

تصویری: قاصدک تعاملی: 11 مرحله (همراه با تصاویر)
تصویری: پسر بچه ایرانی که با صداش داورای برنامه گات تلنت رو حیرت زده کرد 2024, جولای
Anonim
Image
Image
حلقه NeoPixel را آماده کنید
حلقه NeoPixel را آماده کنید

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

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

فیلم نقاشی سبک توسط چی جی

فیلم طراحی تک گل توسط جسی تامپسون و زاکوری برتا

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

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

کد نقاشی سبک توسط چی جی

کد عکس گل کوچک توسط جسی تامپسون و زاکوری برتا

مواد

  • آردوینو UNO
  • حلقه آدافروت 12 نئوپیکسلی
  • نوار 5 ولت از 11 LED RGB
  • سنسور میکروفون صدا
  • سیم های جامپر
  • باتری قابل شارژ 5 ولت با اتصال USB A
  • کابل چاپگر (کابل USB A تا B)
  • چسب نقطه یا چسب داغ
  • کارت A4
  • پارچه پنبه کرم 30 در 30 سانتی متر ، مانند روبالشی قدیمی
  • رنگ پارچه سبز
  • نخ پنبه ای قهوه ای
  • مقوا راه راه 70 در 50 سانتی متر ، مانند جعبه های پیتزا
  • نوار ماسک زدن
  • حلقه گلدوزی 9 اینچی برای قاب تصویر
  • 9 زبانه Velcro خود چسبنده

ابزارها

  • رایانه ای با Arduino IDE بارگیری شد
  • لحیم کاری آهن و لحیم بدون سرب
  • تخته نان برای آزمایش مدار
  • سیم برش/برش
  • سوزن خیاطی
  • خودکار
  • قیچی

مرحله 1: حلقه NeoPixel را آماده کنید

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

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

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

مرحله 2: نوار LED ها را برش دهید

نوارهای LED را برش دهید
نوارهای LED را برش دهید
نوارهای LED را برش دهید
نوارهای LED را برش دهید

11 LED جداگانه را از یک نوار LED های RGB برش دهید و مراقب باشید که در امتداد خط وسط برش بزنید تا پدهای لحیم کاری در دو طرف برش باقی بماند. در قسمت بالای هر پد یک قطعه لحیم کاری بکشید.

مرحله 3: LED ها را لحیم کنید

LED ها را لحیم کنید
LED ها را لحیم کنید
LED ها را لحیم کنید
LED ها را لحیم کنید
LED ها را لحیم کنید
LED ها را لحیم کنید

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

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

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

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

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

مرحله 4: آماده سازی پشت

آماده سازی پشت
آماده سازی پشت
آماده سازی پشت
آماده سازی پشت

یک سوراخ دیگر در کارت سفید برای سیم های ورودی ایجاد کرده و آنها را به داخل فشار دهید.

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

مرحله 5: سیم کشی میکروفون و آردوینو

سیم کشی میکروفون و آردوینو
سیم کشی میکروفون و آردوینو
سیم کشی میکروفون و آردوینو
سیم کشی میکروفون و آردوینو

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

برای مشاهده شبیه سازی ، به https://www.tinkercad.com/things/5cgI2wluA0c بروید. دایره متصل به سنسور را روی ناحیه فعال بکشید تا دمیدن در میکروفون شبیه سازی شود. LED ها در نوارهای 6 قرار دارند ، بنابراین آخرین LED در شبیه سازی بخشی از طراحی نیست و روشن نمی شود.

مرحله 6: برنامه نویسی آردوینو

برنامه نویسی آردوینو
برنامه نویسی آردوینو

Arduino IDE را در رایانه خود باز کنید و یک Sketch جدید شروع کنید همه چیز را در داخل طرح حذف کنید و به جای آن این کد را کپی و جایگذاری کنید.

// با استفاده از طرح ساده NeoPixel Ring (c) 2013 Shae Erisson // و کد حسگر از https://www.hackster.io/ingo-lohs/first-test-37-s… #include // کدام پین در آردوینو به NeoPixels متصل است؟ #پین 6 را تعریف کنید // چند NeoPixel به آردوینو وصل شده است؟ #تعریف NUMPIXELS 23 // وقتی کتابخانه NeoPixel را راه اندازی می کنیم ، به آن می گوییم که چند پیکسل است و از کدام پین برای ارسال سیگنال استفاده می کند. // توجه داشته باشید که برای نوارهای قدیمی NeoPixel ممکن است نیاز به تغییر پارامتر سوم داشته باشید-برای اطلاعات بیشتر در مورد مقادیر احتمالی به مثال strandtest // مراجعه کنید. پیکسل های Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS ، PIN ، NEO_GRB + NEO_KHZ800) ؛ تاخیر int = 500 ؛ // تاخیر برای نیم ثانیه سنسور intPin = A0؛ // پین ورودی سنسور int sensorValue = 0 را انتخاب کنید؛ // متغیر برای ذخیره مقدار حاصل از سنسور const int threshold = 200؛ // یک سطح آستانه دلخواه که در محدوده راه اندازی خلأ ورودی آنالوگ () {pixels.begin ()؛ // این کتابخانه NeoPixel را اولیه می کند. pixels.setBrightness (20) ؛ // تنظیم روشنایی Serial.begin (9600) ؛ } void loop () {// برای مجموعه ای از NeoPixels اولین NeoPixel 0 است ، دوم 1 است ، تا تعداد پیکسل ها منهای یک. // LED های قاصدک // پیکسل. رنگ مقادیر RGB را از 0 ، 0 ، 0 تا 255 ، 255 ، 255 پیکسل می گیرد. setPixelColor (0 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (1 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (2 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (3 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (4 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (5 ، پیکسل. رنگ (255 ، 165 ، 0)) ؛ // نارنجی. pixels.setPixelColor (6 ، پیکسل. رنگ (255 ، 165 ، 0)) ؛ // نارنجی. pixels.setPixelColor (7 ، پیکسل. رنگ (255 ، 165 ، 0)) ؛ // نارنجی. pixels.setPixelColor (8 ، پیکسل. رنگ (255 ، 165 ، 0)) ؛ // نارنجی. pixels.setPixelColor (9 ، پیکسل. رنگ (255 ، 165 ، 0)) ؛ // نارنجی. pixels.setPixelColor (10 ، پیکسل. رنگ (255 ، 165 ، 0)) ؛ // نارنجی. pixels.setPixelColor (11 ، پیکسل. رنگ (255 ، 165 ، 0)) ؛ // نارنجی. pixels.setPixelColor (12 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (13 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (14 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (16 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (17 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (18 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (19 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (20 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (21 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (22 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.show ()؛ // این رنگ پیکسل به روز شده را به سخت افزار ارسال می کند. تاخیر (delayval*6) ؛ // تغییر تدریجی از گل به سر بذر // پیکسل. رنگ مقادیر RGB را از 0 ، 0 ، 0 تا 255 ، 255 ، 255 پیکسل می گیرد. setPixelColor (0 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (1 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (2 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (3 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (4 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (5 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // bluishwhite pixels.setPixelColor (6 ، پیکسل. رنگ (255 ، 165 ، 0)) ؛ // نارنجی. pixels.setPixelColor (7 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // bluishwhite pixels.setPixelColor (8 ، پیکسل. رنگ (255 ، 165 ، 0)) ؛ // نارنجی. pixels.setPixelColor (9 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // bluishwhite pixels.setPixelColor (10 ، پیکسل. رنگ (255 ، 165 ، 0)) ؛ // نارنجی. pixels.setPixelColor (11 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی pixels.setPixelColor (12 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (13 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (14 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (16 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (17 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (18 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (19 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (20 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (21 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (22 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.show ()؛ // این رنگ پیکسل به روز شده را به سخت افزار ارسال می کند. تاخیر (تاخیر*6) ؛ // چراغ سر LED پیکسل ها. setPixelColor (0 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (1 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (2 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (3 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (4 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (5 ، پیکسل. رنگ (255 ، 165 ، 0)) ؛ // نارنجی. pixels.setPixelColor (6 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (7 ، پیکسل. رنگ (255 ، 165 ، 0)) ؛ // نارنجی. pixels.setPixelColor (8 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (9 ، پیکسل. رنگ (255 ، 165 ، 0)) ؛ // نارنجی. pixels.setPixelColor (10 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (11 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // خاموش pixels.setPixelColor (12 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (13 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (14 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (16 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (17 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (18 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (19 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (20 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (21 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (22 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.show ()؛ // این رنگ پیکسل به روز شده را به سخت افزار ارسال می کند. تاخیر (تاخیر*3) ؛ // تاخیر برای یک دوره زمانی (بر حسب میلی ثانیه). pixels.setPixelColor (0 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (1 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (2 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (3 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (4 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (5 ، پیکسل. رنگ (255 ، 165 ، 0)) ؛ // نارنجی. pixels.setPixelColor (6 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (7 ، پیکسل. رنگ (255 ، 165 ، 0)) ؛ // نارنجی. pixels.setPixelColor (8 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (9 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (10 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (11 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (12 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (13 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (14 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (16 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (17 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (18 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (19 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (20 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (21 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (22 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.show ()؛ // این رنگ پیکسل به روز شده را به سخت افزار ارسال می کند. تاخیر (تاخیر*3) ؛ // تاخیر برای یک دوره زمانی (بر حسب میلی ثانیه). pixels.setPixelColor (0 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (1 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (2 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (3 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (4 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (5 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (6 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (7 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (8 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (9 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (10 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (11 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (12 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (13 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (14 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (16 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (17 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (18 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (19 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (20 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (21 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (22 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.show ()؛ // این رنگ پیکسل به روز شده را به سخت افزار ارسال می کند. تاخیر (تاخیر) ؛ // تاخیر برای یک دوره زمانی (بر حسب میلی ثانیه). // مقدار سنسور را بخوانید و آن را در مانیتور سریال sensorValue = analogRead (sensorPin) نمایش دهید ؛ Serial.println (sensorValue) ؛ تأخیر (250) ؛ // در حالی که مقدار سنسور کمتر از آستانه است ، مقدار سنسور را بررسی کرده و آن را در مانیتور سریال چاپ کنید. وقتی مقدار از آستانه بالاتر باشد ، طرح می تواند در حالی ادامه یابد (sensorValue <threshold) {sensorValue = analogRead (sensorPin) ؛ Serial.println (sensorValue) ؛ تأخیر (250) ؛ } // اولین LED های بادی pixels.setPixelColor (0 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (1 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (2 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (3 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (4 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (5 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (6 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (7 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (8 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (9 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (10 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (11 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (12 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (13 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (14 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (15 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (16 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (17 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (18 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (19 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (20 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (21 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (22 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.show ()؛ // این رنگ پیکسل به روز شده را به سخت افزار ارسال می کند. تاخیر (تاخیر) ؛ // تاخیر برای یک دوره زمانی (بر حسب میلی ثانیه). // LED های بادی دوم پیکسل ها. setPixelColor (0 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (1 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (2 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (3 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (4 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (5 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (6 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (7 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (8 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (9 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (10 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (11 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (12 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (13 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (14 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (15 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (16 ، پیکسل. رنگ (0 ، 0 ، 0)) ؛ // خاموش pixels.setPixelColor (17 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (18 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (19 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (20 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (21 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی. pixels.setPixelColor (22 ، پیکسل. رنگ (226 ، 246 ، 255)) ؛ // سفید مایل به آبی.pixels.show ()؛ // این رنگ پیکسل به روز شده را به سخت افزار ارسال می کند. تاخیر (2000) ؛ // تاخیر برای یک دوره زمانی (بر حسب میلی ثانیه). }

آردوینو خود را با کابل چاپگر USB به کامپیوتر وصل کنید

به Tools> Board بروید و برد Arduino/Genuino UNO را انتخاب کنید

به Port بروید و مطمئن شوید که برد را به پورت USB مناسب وصل کرده اید. اگر مطمئن نیستید می توانید Arduino را از برق بکشید و ببینید کدام پورت از لیست ناپدید می شود. دوباره آن را وصل کنید و پورت دوباره لیست می شود.

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

مرحله 7: تغییر رنگ ، روشنایی و آستانه سنسور

تغییر آستانه رنگ ، روشنایی و حسگر
تغییر آستانه رنگ ، روشنایی و حسگر
تغییر آستانه رنگ ، روشنایی و حسگر
تغییر آستانه رنگ ، روشنایی و حسگر

رنگها

رنگ LED ها با استفاده از مقادیر رنگی RGB (قرمز سبز سبز) تنظیم شده است. اگر ترجیح می دهید از رنگهای مختلف استفاده کنید ، می توانید با استفاده از ماشین حساب رنگ RGB آنلاین مانند www.w3schools.com/colors/colors_rgb.asp مقادیر رنگهای مورد نظر خود را بیابید.

برای خاموش کردن LED ، از مقادیر 0 ، 0 ، 0 استفاده کنید.

برای تنظیم LED روی سفید ، از مقادیر 255 ، 255 ، 255 استفاده کنید. کد مرحله قبل از سفید مایل به آبی با مقادیر 226 ، 246 ، 255 و نارنجی با مقادیر 255 ، 165 ، 0 استفاده می کند.

روشنایی

برای تغییر روشنایی LED ها ، به قسمت void setup کد بروید و خط کد زیر را پیدا کنید:

pixels.setBrightness (20) ؛ // تنظیم روشنایی

برای تغییر روشنایی LED ها ، عدد داخل براکت را ویرایش کنید.

آستانه سنسور

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

const int threshold = 200؛

مرحله 8: دائمی کردن مدار

دائمی کردن مدار
دائمی کردن مدار

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

مرحله 9: ایجاد یک تصویر

ایجاد یک تصویر
ایجاد یک تصویر

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

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

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

مرحله 10: ترکیب آن

کنار هم قرار دادن
کنار هم قرار دادن

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

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

مرحله 11: درس گرفتن از اشتباهات

درس گرفتن از اشتباهات
درس گرفتن از اشتباهات
درس گرفتن از اشتباهات
درس گرفتن از اشتباهات
درس گرفتن از اشتباهات
درس گرفتن از اشتباهات

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

من با استفاده از نوار مسی یا نوار نقره نمی توانم یک اتصال قابل اعتماد داشته باشم و وقتی سیم را به برچسب ها لحیم کردم ، هنوز می توانم یک سری 3 برچسب LED را با استفاده از باتری 9 ولت روشن کنم. مشخص شد که آنها برای پروژه های چند سبک همانطور که امیدوار بودم در نظر گرفته نشده اند. وقتی به صفحه وب در مورد برچسب های مدار بیشتر نگاه کردم ، یک پروژه با 4 چراغ نوع دیگری از LED ها بود. من می توانم برچسب های مدار را با باتری 12 ولت تغذیه کنم ، اما بسیار بزرگ است که داخل تصویر قرار نمی گیرد.

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

بنابراین پس از چند شروع اشتباه ، من یک سری LED های قابل برنامه ریزی داشتم که ارزان و آسان برای استفاده هستند.

توصیه شده: