فهرست مطالب:

میکسر رنگ با آردوینو: 9 مرحله (همراه با تصاویر)
میکسر رنگ با آردوینو: 9 مرحله (همراه با تصاویر)

تصویری: میکسر رنگ با آردوینو: 9 مرحله (همراه با تصاویر)

تصویری: میکسر رنگ با آردوینو: 9 مرحله (همراه با تصاویر)
تصویری: اگر یکی از این ۷ نشانه را در وجود تان مشاهده کردید پس شما یک نابغه هستید. 2024, جولای
Anonim
Image
Image

توسط tliguori330 بیشتر توسط نویسنده دنبال کنید:

حوزه رنگ با آردوینو
حوزه رنگ با آردوینو
ربات Doodle با فرایند طراحی
ربات Doodle با فرایند طراحی
ربات Doodle با فرایند طراحی
ربات Doodle با فرایند طراحی
پیانو لمسی آردوینو
پیانو لمسی آردوینو
پیانو لمسی آردوینو
پیانو لمسی آردوینو

درباره: همیشه در حال یادگیری ….. بیشتر درباره tliguori330 »

میکسر رنگ یک پروژه عالی برای همه کسانی است که با آردوینو کار می کنند و رشد می کنند. در پایان این دستورالعمل ، با چرخاندن 3 دستگیره می توانید تقریباً هر رنگی را که می توانید تصور کنید مخلوط کرده و مطابقت دهید. سطح مهارت به اندازه ای پایین است که حتی یک تازه کار کامل می تواند آن را با موفقیت کامل کند ، اما به اندازه کافی جالب است که برای یک دامپزشک با تجربه لذت بخش باشد. هزینه این پروژه تقریباً هیچ است و اکثر کیت های آردوینو با مواد مورد نیاز ارائه می شوند. در هسته این کد برخی از عملکردهای اصلی آردوینو وجود دارد که هرکسی از آردوینو استفاده می کند می خواهد آنها را بفهمد. ما در مورد توابع analogRead () و analogWrite () به عنوان یک تابع معمول دیگر به نام map () عمیق تر خواهیم شد. این پیوندها شما را به صفحات مرجع arduino برای این توابع می رسانند.

مرحله 1: قطعات و قطعات

قطعات و قطعات
قطعات و قطعات
قطعات و قطعات
قطعات و قطعات
قطعات و قطعات
قطعات و قطعات
قطعات و قطعات
قطعات و قطعات

آردوینو اونو

پتانسیومتر (x3)

LED RGB

مقاومت 220 اهم (x3)

سیم های جامپر (x12)

تخته نان

مرحله 2: پیشرفت خود را برنامه ریزی کنید

پیشرفت خود را برنامه ریزی کنید
پیشرفت خود را برنامه ریزی کنید

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

1) 3 پتانسیومتر مختلف را بخوانید و مقادیر آنها را در متغیرها ذخیره کنید.

2) ما این مقادیر را با محدوده LED RGB مطابقت می دهیم.

3) سپس در نهایت ما آن مقادیر تبدیل شده را به هر یک از رنگهای RGB می نویسیم.

مرحله 3: نحوه استفاده از پتانسیومترها

نحوه استفاده از پتانسیومترها
نحوه استفاده از پتانسیومترها
نحوه استفاده از پتانسیومترها
نحوه استفاده از پتانسیومترها

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

مرحله 4: شماتیک سیم کشی پتانسیومتر (3x)

شماتیک سیم کشی پتانسیومتر (3x)
شماتیک سیم کشی پتانسیومتر (3x)
شماتیک سیم کشی پتانسیومتر (3x)
شماتیک سیم کشی پتانسیومتر (3x)
شماتیک سیم کشی پتانسیومتر (3x)
شماتیک سیم کشی پتانسیومتر (3x)

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

مرحله 5: استفاده از AnalogRead () و متغیرها

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

int val = analogRead (A0) ؛

مرحله 6: استفاده از مانیتور سریال با 1 دستگیره

Image
Image

در حال حاضر ما می توانیم مقادیر را از دستگیره ها دریافت کرده و آنها را در یک متغیر ذخیره کنیم ، اما اگر بتوانیم این مقادیر را ببینیم مفید خواهد بود. برای این کار باید از مانیتور سریال ساخته شده استفاده کنیم. کد زیر اولین طرح است که ما در Arduino IDE اجرا می کنیم و می توانید آن را در سایت خود بارگیری کنید. در تنظیمات void () پین های آنالوگ متصل به هر پای میانی را به عنوان INPUT فعال کرده و مانیتور سریال را با استفاده از Serial.begin (9600) فعال می کنیم. بعد فقط یکی از دکمه ها را می خوانیم و مانند قبل آن را در متغیری ذخیره می کنیم. تغییر در حال حاضر این است که ما یک خط اضافه می کنیم که تعداد عدد ذخیره شده در متغیر را چاپ می کند. اگر طرح را کامپایل و اجرا می کنید ، می توانید مانیتور سریال خود را باز کرده و اعداد را در صفحه پیمایش کنید. هر بار که کد حلقه می شود ، یک عدد دیگر را می خوانیم و چاپ می کنیم. اگر دکمه متصل به A0 را بچرخانید باید مقادیر بین 0-1023 را ببینید. بعداً هدف این است که هر 3 پتانسیومتر را بخوانید که برای ذخیره و چاپ به 2 خواننده آنالوگ دیگر و 2 متغیر متفاوت نیاز دارد.

void setup () {

pinMode (A0 ، INPUT) ؛ pinMode (A1 ، INPUT) ؛ pinMode (A2 ، INPUT) ؛ Serial.begin (9600)؛ } void loop () {int val = analogRead (A0)؛ Serial.println (val)؛ }

مرحله 7: استفاده از LED RGB

استفاده از LED RGB
استفاده از LED RGB
استفاده از LED RGB
استفاده از LED RGB
استفاده از LED RGB
استفاده از LED RGB

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

برای ایجاد رنگ از تابع analogWrite () برای کنترل میزان اضافه کردن قرمز ، آبی یا سبز استفاده می کنیم. برای استفاده از این تابع باید بگویید با کدام پین# صحبت می کنیم و یک عدد بین 0-255. 0 کاملاً خاموش است و 255 بیشترین مقدار یک رنگ است. اجازه دهید پای قرمز را به پین 9 ، سبز را به پین 10 و آبی را به پین 11 متصل کنید. این ممکن است کمی آزمایش و خطا انجام دهد تا مشخص شود کدام پا کدام رنگ است. اگر می خواستم رنگ بنفش ایجاد کنم ، می توانم مقدار زیادی قرمز ، بدون سبز و شاید نیمی از قدرت آبی را انجام دهم. من شما را تشویق می کنم که با این اعداد کار کنید ، واقعاً هیجان انگیز است. برخی از نمونه های رایج در تصاویر بالا آمده است

void setup () {

pinMode (9 ، OUTPUT) ؛ pinMode (10 ، OUTPUT) ؛ pinMode (11 ، OUTPUT) ؛ } void loop () {analogWrite (9 ، 255) ؛ analogWrite (10 ، 0) ؛ analogWrite (11 ، 125)}

مرحله 8: استفاده از پتانسیومترها برای کنترل LED RGB (با یک اشکال)

استفاده از پتانسیومترها برای کنترل LED RGB (با یک اشکال)
استفاده از پتانسیومترها برای کنترل LED RGB (با یک اشکال)
استفاده از پتانسیومترها برای کنترل LED RGB (با یک اشکال)
استفاده از پتانسیومترها برای کنترل LED RGB (با یک اشکال)
استفاده از پتانسیومترها برای کنترل LED RGB (با یک اشکال)
استفاده از پتانسیومترها برای کنترل LED RGB (با یک اشکال)

زمان آن رسیده است که دو کد خود را با هم ادغام کنیم. شما باید به اندازه کافی روی یک نان برد استاندارد فضای کافی برای قرار دادن هر 3 دستگیره و LED RGB داشته باشید. ایده این است که به جای تایپ مقادیر آبی و سبز قرمز ، از مقادیر ذخیره شده در هر پتانیمومتر برای تغییر مداوم رنگ ها استفاده می کنیم. در این مورد به 3 متغیر نیاز داریم. redval ، greenval ، blueval همه متغیرهای متفاوتی هستند. به خاطر داشته باشید که می توانید این متغیرها را به هر چیزی که می خواهید نامگذاری کنید. اگر دکمه "سبز" را بچرخانید و مقدار قرمز تغییر کند ، می توانید نام ها را به طور صحیح تغییر دهید. اکنون می توانید هر دکمه را بچرخانید و رنگ ها را کنترل کنید !!

void setup () {

pinMode (A0 ، INPUT) ؛ pinMode (A1 ، INPUT) ؛ pinMode (A2 ، INPUT) ؛ pinMode (9 ، OUTPUT) ؛ pinMode (10 ، OUTPUT) ؛ pinMode (11 ، OUTPUT) ؛ } void setup () {int redVal = analogRead (A0)؛ int greenVal = analogRead (A1) ؛ int blueVal = analogRead (A2) ؛ analogWrite (9 ، redVal) ؛ analogWrite (10 ، greenVal) ؛ analogWrite (11 ، blueVal) ؛ }

مرحله 9: BONUS: نقشه () عملکرد و کد پاک کننده

ممکن است متوجه شوید که با شروع به چرخاندن دستگیره برای یک رنگ ، آن بزرگتر می شود و سپس ناگهان پایین می آید و خاموش می شود. این الگوی رشد و سپس خاموش شدن سریع 4 بار با چرخاندن دستگیره تا انتها تکرار می شود. اگر به خاطر داشته باشید ما گفتیم که پتانسیومترها می توانند مقادیر بین 0 تا 1023 را بخوانند. تابع analogWrite () فقط مقادیر بین 0 تا 255 را می پذیرد. هنگامی که پتانسیومتر از 255 فراتر رفت ، اساساً از 0 شروع می شود. یک عملکرد خوب برای کمک به اشکالی به نام map (). می توانید طیف وسیعی از اعداد را در محدوده ای دیگر از اعداد در یک مرحله تبدیل کنید. ما اعداد 0-1023 را به اعداد 0-255 تبدیل می کنیم. به عنوان مثال ، اگر دکمه در نیمه راه تنظیم شود ، باید 512 را بخوانید. این عدد به 126 تغییر می کند که نصف قدرت LED است. در این طرح نهایی ، پین ها را با نام متغیرها برای راحتی خود نامگذاری کردم. اکنون یک میکسر رنگ کامل برای آزمایش دارید !!!

// نام متغیرها برای پین های پتانسیومتر

int redPot = A0؛ int greenPot = A1؛ int bluePot = A2 // نام متغیرها برای پایه های RGB int redLED = 9؛ int greenLED = 10؛ int blueLED = 11؛ void setup () {pinMode (redPot، INPUT)؛ pinMode (greenPOT ، INPUT) ؛ pinMode (bluePot ، INPUT) ؛ pinMode (قرمز LED ، OUTPUT) ؛ pinMode (سبز LED ، OUTPUT) ؛ pinMode (blueLED ، OUTPUT) ؛ سریال ، شروع (9600) ؛ } void loop () {// خواندن و ذخیره مقادیر از پتانسیومتر int redVal = analogRead (redPot) ؛ int greenVal = analogRead (greenPot) ؛ int blueVal - analogRead (bluePot) ؛ // تبدیل مقادیر 0-1023 به 0-255 برای RGB LED redVal = map (redVal، 0، 1023، 0، 255)؛ greenVal = نقشه (greenVal، 0، 1023، 0، 255)؛ blueVal = نقشه (blueVal، 0، 1023، 0، 255)؛ // این مقادیر تبدیل شده را به هر رنگ RGB LED analogWrite (redLED ، redVal) بنویسید ؛ anaogWrite (greenLED ، greenVal) ؛ analogWrite (blueLED ، blueVal) ؛ // نمایش مقادیر در مانیتور سریال Serial.print ("قرمز:") ؛ Serial.print (redVal) ؛ Serial.print ("سبز:") ؛ Serial.print (greenVal) ؛ Serial.print ("آبی:") ؛ Serial.println (blueVal) ؛ }

توصیه شده: