در این نوشته، نحوه ایجاد یک مقدار در Processing و سپس ارسال این مقدار از طریق پورت سریال به آردوینو را نشان خواهم داد . در مثال، من مقادیر LED ها را تنظیم می کنم که آنها را روشن تر یا کم نورتر می کند، اما این مثال را می توان برای کنترل موارد دیگر گسترش داد - که قصد دارم بعداً انجام دهم!
اساساً من یک مقدار را بین 0 تا 255 تنظیم می کنم و سپس این مقدار را به آردوینو ارسال می کنم که سپس از تابع analogWrite() برای تغییر روشنایی LED با استفاده از PWM ( Pulse Width Modulation ) استفاده می کند. من قبلاً کمی کار با LED و PWM انجام داده ام .
برای ارتباط بین پردازش و آردوینو، من از پورت سریال استفاده میکنم – در کارهای دیگری که قبلاً اطلاعاتی را از آردوینو به پردازش ارسال کردهام، بنابراین نحوه انجام این کار برعکس است. هر چند چند نکته قابل توجه است. ابتدا وقتی از آردوینو برای خواندن یک رشته از پورت سریال استفاده میکنیم، باید آن را در سطح بایت نگاه کنیم، در مثال من سادهتر است که با استفاده از رشتهها نادیده بگیریم و هر بار 1 کاراکتر ارسال کنیم و سپس آن را در یک آرایه ذخیره کنیم. ثانیا هنگام اشکالزدایی کد خود، نمیتوانید مقادیر سریال را در مانیتور سریال آردوینوس بخوانید، زیرا قبلاً از پورت در پردازش استفاده میکنید، بنابراین گاهی اوقات این ممکن است آزمایش و خطا باشد، اگرچه حداقل میتوانید مقادیر ارسالی خود را در پردازش پیشنمایش کنید.
البته می توانید این کد را برای نوشتن مقادیر از آردوینو به Processing نیز گسترش دهید. در حال حاضر نمونه های زیادی به صورت آنلاین از نحوه برقراری ارتباط پورت سریال بین آردوینو و پردازش و بالعکس و روشن یا خاموش کردن LED وجود دارد، اما من چند کار اضافی برای نشان دادن چند کار اساسی با تعامل و رابط های کاربری برای تنظیم انجام داده ام. ال ای دی ها
ما 3 LED را تنظیم می کنیم - قرمز، سبز و آبی و به جای روشن یا خاموش کردن، سطح روشنایی PWM/ را تنظیم می کنیم. همچنین طرح ها با تنظیم یک LED RGB (RGBL) با مقادیر ترکیبی سروکار دارند.
من 2 تجسم برای دستیابی به موارد فوق نوشته ام.
اولین مورد مجموعهای از لغزندهها مانند میز مخلوطکن است – هنگام لغزاندن یک نوار لغزنده، مقدار LED اختصاص داده شده به آن و مقدار ترکیبی LED RGB را تنظیم میکند. دومی شکل مثلثی است که می توانید برای ایجاد رنگ ها به اطراف حرکت کنید، بنابراین هر نقطه از مثلث را بکشید، روشنایی LED را متناسب با آن تنظیم می کند.
مدار و طرح آردوینو بسیار ساده است و بدون توجه به اینکه از کدام تصویرسازی استفاده می شود، یکسان باقی می ماند. بنابراین با شروع مدار…
قطعات سریال آردوینو
Arduino Deumilanova با
تخته نان ATMEGA328/ تخته نمونه سازی
جامپر/ سیم های رابط
3x LED (قرمز، سبز، آبی)
1x RGB LED
6 x مقاومت 270 اهم
مدار سریال آردوینو
بسیار ساده: 3 LED هر کدام با یک زمین مشترک به برد آردوینو، پایه های مثبت (پایه بلندتر) دارای یک مقاومت 270 اهم بین آن و اتصال به یک پایه دیجیتال است. LED RGB دارای 4 پین است - یکی برای منبع تغذیه است - برخی از LED های RGB ممکن است به GND متصل شوند، بنابراین قبل از انجام این کار بررسی کنید. 3 پایه دیگر هر کدام به یک پین دیجیتال روی برد آردوینو متصل می شوند.
کد سریال آردوینو – دریافت مقادیر از پردازش
کد آردوینو نیز بسیار ساده است - ما پین های دیجیتال را همه به عنوان خروجی تنظیم می کنیم، پورت سریالی را که می خواهیم استفاده کنیم تنظیم می کنیم و سپس مقادیر را از پورت سریال می خوانیم و آنها را در یک آرایه، هر آیتم در آرایه ذخیره می کنیم. مربوط به یک مقدار برای یک LED است. با این حال یک نکته کوچک وجود دارد - به نظر می رسد LED RGB من مقدار 255 را خاموش و 0 را روشن می بیند، بنابراین من مجبور شدم برای در نظر گرفتن این مقدار کد بنویسم.