فهرست مطالب:

نور لمسی تعاملی: 7 مرحله (همراه با تصاویر)
نور لمسی تعاملی: 7 مرحله (همراه با تصاویر)

تصویری: نور لمسی تعاملی: 7 مرحله (همراه با تصاویر)

تصویری: نور لمسی تعاملی: 7 مرحله (همراه با تصاویر)
تصویری: دیجیتالی کردن نقاشی💥|آموزش اضافه کردن جلوه نور به نقاشی|💫 ■ #art #painting 2024, نوامبر
Anonim
نور تعاملی بدون لمس
نور تعاملی بدون لمس

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

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

برخی از مشکلاتی که من در اوایل با آن روبرو شدم ناشی از درک نادرست از آنچه واقعاً اتفاق می افتد بود. بنابراین یک مقدمه کوتاه از نحوه درک آن:

یک سنسور خازنی از چندین جزء استفاده می کند ، عمدتا:

خازن (در این پروژه ما از فویل آلومینیومی استفاده می کنیم ، اما از سیالات رسانا و غیره نیز امکان پذیر است) ،

سیم (البته لوازم الکترونیکی آن)

و یک مقاومت ، هر چیزی زیر 10 MOhm مقاومت بیش از حد کوچک برای لمس مستقیم است.

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

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

بنابراین در حال حاضر این راهی نیست که ما بتوانیم فهرست بندی تمام موارد مورد نیاز خود را شروع کنیم:

مرحله 1: به چه چیزی نیاز داریم؟

الکترونیک:

1. مقاومتهای 2 * 22M اهم + (هرچه مقدار مقاومت بیشتر باشد هر چه سنسور شما دورتر واکنش نشان دهد ، من شخصاً از 22M اهم استفاده کردم ، حداقل برای بدست آوردن اطلاعات قابل استفاده 10M اهم بود)

2. مقاومت 3x330 اهم

3. سیم

4. تخته نان

5. تخته مدار (من دارای نوارهای مسی Continouos بود)

6. چندین کاتد RGB Leds معمولی (من از 8 استفاده کردم ، اما بستگی به میزان نور مورد نظر شما کم و بیش دارد)

7. فویل آلومینیوم

8. بسته بندی محکم

9. آردوینو اونو

10. نوار

مورد:

1. چوب من از MDF 50 * 50 * 1.8 CM استفاده کردم (شما واقعاً می توانید از هر چیزی استفاده کنید. این بستگی به تأثیر مورد نظر شما و ابزارهایی که در اختیار دارید)

2. پلکسی گلاس اکریلیک من از 50 50 50 0.3 0.3 سانتی متر استفاده کردم (یا هر ماده شفاف/شفاف دیگری مانند کاغذ برنج)

3. کاغذ سنباده (سنباده خوب)

4. چوب چوب

5. ونیر (اختیاری)

6. چسب اکریلیک

ابزارها:

استریپر سیمی

آهن لحیم کاری + قلع

چاقوی استنلی

مته

اره (من از اره رومیزی استفاده کردم)

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

نمونه سازی
نمونه سازی
نمونه سازی
نمونه سازی

اکنون ما همه چیز داریم و می توانیم نمونه اولیه را شروع کنیم تا ببینیم چگونه کار می کند:

کار آماده سازی:

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

برای اطمینان از عایق بودن آلومینیوم ، من آن را در بسته بندی چسبانده و بین کاغذها اتو کردم (فقط چند ثانیه تا کاملا ذوب نشود).

سپس مدار را مطابق تصویر تنظیم کنید.

پین 4 به عنوان یک پین ارسال برای هر دو سنسور استفاده می شود ، در حالی که پین های دریافت کننده پین 2 و 5 هستند. شما می توانید از چند پین ارسال استفاده کنید ، اما باعث ایجاد مشکل می شود زیرا آنها کاملاً هماهنگ نیستند.

قبل از لحیم کردن همه چیز با هم ، از این تنظیمات برای اشکال زدایی استفاده کنید تا مطمئن شوید که همه چیز به درستی کار می کند.

مرحله 3: کد:

اکنون ما همه چیز داریم و می توانیم اشکال زدایی سنسورها را شروع کنیم.

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

کد: (من در برنامه نویسی عالی نیستم ، بنابراین اگر می دانید چگونه این کار را بهتر انجام دهید لطفا انجام دهید)

#include // کتابخانه کد را وارد کنید

CapacitiveSensor cs_4_2 = CapacitiveSensor (4 ، 2) ؛ // ارسال پین = 4 ، دریافت 2 و 5 هستند CapacitiveSensor cs_4_5 = CapacitiveSensor (4 ، 5) ؛ const int redPin = 11؛ const int greenPin = 10؛ const int bluePin = 9؛ const int numIndexR = 10؛ // اندازه آرایه const int numIndexG = 10؛ int colorR = 0؛ int color G = 0؛ رنگ شناور B = 0؛ int indexR [numIndexR] ؛ int posIndexR = 0؛ مجموع طولانی R = 0؛ // باید طولانی باشد زیرا مجموع آرایه من برای یک عدد صحیح بزرگ بود. int متوسط R = 0؛ int indexG [numIndexG] ؛ int posIndexG = 0 ؛ مجموع طولانی G = 0 ؛ int متوسط G = 0 ؛ void setup () {pinMode (redPin ، OUTPUT) ؛ pinMode (greenPin ، OUTPUT) ؛ pinMode (bluePin ، OUTPUT) ؛ for (int thisIndexR = 0؛ thisIndexR <numIndexR؛ thisIndexR ++) {// آرایه را روی 0 indexR [thisIndexR] = 0 تنظیم می کند؛ } برای (int thisIndexG = 0 ؛ thisIndexG = 4500) {// مقادیر سنسور را تا حداکثر قابل استفاده قرار دهید ، این مقدار برای هر مقدار مقاومت یکسان نیست و همچنین ممکن است کمی از محیط به محیط دیگر متفاوت باشد نیازهای خود شما مجموع 1 = 4500 ؛ } if (total2> = 4500) {total2 = 4500؛ } totalR = totalR - indexR [posIndexR]؛ // این در اینجا آرایه ای ایجاد می کند که به طور مداوم خروجی سنسور را اضافه می کند و میانگین را تولید می کند. indexR [posIndexR] = total1؛ totalR = totalR + indexR [posIndexR] ؛ posIndexR = posIndexR + 1؛ if (posIndexR> = numIndexR) {posIndexR = 0؛ } averageR = totalR / numIndexR ؛ // ما از میانگین به جای داده های خام برای یکدست کردن خروجی استفاده می کنیم ، این روند را کمی کند می کند اما همچنین یک جریان صاف واقعا خوب ایجاد می کند. totalG = totalG - indexG [posIndexG] ؛ indexG [posIndexG] = total2؛ totalG = totalG + indexG [posIndexG] ؛ posIndexG = posIndexG + 1؛ if (posIndexG> = numIndexG) {posIndexG = 0؛ } averageG = totalG / numIndexG ؛ if (averageR> = 2000) {// ما نمی خواهیم که led ها به طور مداوم مقدار خود را تغییر دهند مگر اینکه ورودی از دست شما وجود داشته باشد ، بنابراین این امر باعث می شود همه قرائت های پایین محیطی در نظر گرفته نشوند. colorR = نقشه (میانگین R ، 1000 ، 4500 ، 255 ، 0) ؛ analogWrite (redPin ، colorR) ؛ } else if (averageR = 1000) {colorG = map (averageG ، 1000 ، 4500 ، 255 ، 0) ؛ analogWrite (greenPin ، colorG) ؛ } else if (averageG <= 1000) {colorG = 255؛ analogWrite (greenPin ، colorG) ؛ } if (colorR <= 125 && colorG <= 125) {// B کمی متفاوت عمل می کند زیرا من فقط از 2 سنسور استفاده کردم بنابراین B را روی هر دو سنسور رنگ B = نقشه (colorR ، 255 ، 125 ، 0 ، 127.5) + نقشه (رنگ G ، 255 ، 125 ، 0 ، 127.5) ؛ analogWrite (bluePin ، colorB) ؛ } else {colorB = map (colorR، 255، 125، 127.5، 0) + map (colorG، 255، 125، 127.5، 0)؛ if (colorB> = 255) {colorB = 255؛ } if (colorB <= 0) {colorB = 0؛ } analogWrite (bluePin ، colorB) ؛ } Serial.print (millis () - شروع)؛ // این برای اشکال زدایی Serial.print ("\ t") است ؛ Serial.print (colorR) ؛ Serial.print ("\ t")؛ Serial.print (colorG) ؛ Serial.print ("\ t")؛ Serial.println (رنگ B) ؛ تأخیر (1) ؛ }

کاری که این کد انجام می دهد این است که داده های خام را از سنسور استخراج می کند (این داده ها به دلیل عوامل مختلف مختلف که روی سنسور تأثیر می گذارند همیشه کمی نامنظم خواهند بود) و هنگامی که آرایه به حداکثر مقدار برسد ، داده های خام را به طور مداوم در یک آرایه قرار می دهد (در مورد من 10) آخرین مقدار را پاک می کند و یک مقدار جدید اضافه می کند. هر بار که یک مقدار اضافه می شود مقدار متوسط را محاسبه کرده و در یک متغیر جدید قرار می دهد. این متغیر متوسط برای ترسیم یک مقدار از 0 تا 255 استفاده می شود ، این مقداری است که ما برای افزایش روشنایی هر کانال به پین های RGB می نویسیم (کانال ها R G و B هستند).

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

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

اکنون برای مورد
اکنون برای مورد
اکنون برای مورد
اکنون برای مورد
اکنون برای مورد
اکنون برای مورد

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

ابعاد به شرح زیر است:

15 15 15 CM برای قسمت بالای شفاف

و

15 8 8 سانتی متر برای پایه چوبی (ضخامت چوب برای من 1.8 سانتی متر بود).

من از اره رومیزی برای برش یک صفحه MDF به ابعاد مناسب مورد نیاز خود استفاده کردم (که شامل 4 صفحه 15 * 8 CM و 1 صفحه 15 * 15 CM زمین است) ، پس از آن گوشه ها را به زاویه 45 درجه برش دادم. تمام قطعاتی را که با استفاده از چسب و گیره چوب به هم چسباندم (بگذارید حداقل 30 دقیقه خشک شود) ، از همین روش برای پلکسی گلاس استفاده کردم اما با تیغ اره مخصوص.

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

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

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

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

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

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

برای اینکه مطمئن شوم درپوش زیاد نمی لغزد ، چند لبه کوچک چوبی را روی لبه های مکعب چوبی چسبانیدم.

مرحله 5: نتیجه نهایی باید چیزی شبیه به این باشد:

نتیجه نهایی باید چیزی شبیه به این باشد
نتیجه نهایی باید چیزی شبیه به این باشد

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

لحیم کاری!
لحیم کاری!
لحیم کاری!
لحیم کاری!

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

برای سهولت استفاده ، برد مدار من دارای نوارهای مسی پیوسته است.

برای هر سنسور یک مربع کوچک را قطع کردم تا مقاومتها و سیمها را به هم وصل کنم.

سیمهای ارسال کننده (سیمهایی که از پین 4 به هر سنسور می روند) به ترتیب در یک مربع جداگانه ، با 1 سیم که به پین 4 وارد می شود ، لحیم می شوند.

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

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

زمان مناسب برای قرار دادن همه چیز در پایه: این تقریباً ساده ترین مرحله است ، آردوینو باید در ابتدا با درگاه USB از طریق سوراخ در پشت قاب قرار گیرد. حالا سنسورها را اضافه کنید ، مطمئن شوید که فویل سنسور از هر دو طرف با چوب مطابقت داشته باشد و فویل زمین مستقیماً روی آن قرار گیرد. وقتی همه چیز خوب جا افتاد ، چراغ های RGB را به پین های راست (9 ، 10 ، 11) وصل کنید و بگذارید به لبه های پایه تکیه دهد.

مرحله 7: ما تمام شدیم

اگر تمام این موارد را دنبال کرده اید ، اکنون باید یک چراغ کار با ترکیب رنگ لمسی خازنی داشته باشید. خوش بگذره!

توصیه شده: