آردوینو, پروژه, پروژه آردوینو, توصیه شده

پروژه راه اندازی LED چشمک زن و فوتوسل | قسمت پنجم آموزش آردوینو

پروژه راه اندازی LED چشمک زن و فوتوسل

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

خلاصه کلی

در این قسمت می‌خواهیم یک پروژه آردوینو ساده و درعین‌حال، جذاب را همراه  شما بررسی کنیم. پس تا پایان این مطلب سیسوگ را همراهی کنید.

این اسکچ بر اساس کد چشمک‌زن LED پست قبلی (قسمت چهارم) است، با این تفاوت که سرعت چشمک زدن LED بسته به شدت نور محیط متغییر خواهد بود. نرخ چشمک زن توسط یک سنسور حساس به نور به نام فوتوسل تعیین می‌شود. فوتوسل در واقع photo resistor (فتورزیستور) است، مقاومت وابسته به نور (light-dependent resistor) به اختصار LDR نیز گفته می‌شود. فوتوسل را همان‌طور که در شکل 1 نشان‌داده‌شده است، سیم‌کشی کنید.

آردوینو با فوتوسل (photoresistor)

شکل 1: آردوینو با فوتوسل (photoresistor)

✅نکته

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

فتوترانزیستور دارای یک‌پایه بلند و یک‌پایه کوتاه است، مانند LED. شما می‌توانید آن را دقیقاً مانند شکل 1، سیم‌کشی کنید، اما باید پایه بلند را به ولتاژ 5 ولت و پایه کوتاه را به مقاومت و پین 0 متصل کنید. همچنین،‌ سعی کنید یک فتوترانزیستور مثل Adafruit part number 2831 تهیه کنید که بتواند نور قابل‌مشاهده را از نور معمولی تشخیص دهد.

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

در واقع، مقدار مقاومت نشان‌داده‌شده در شکل 1 به محدوده فوتوسل شما بستگی دارد: شما به یک مقاومت نیاز دارید که در حدود مقاومت ماکزیمم (بیشترین مقدار فوتوسل زمانی اتفاق می‌افتد که نوری به این مقاومت نتابد.) فوتوسل باشد. شما می‌توانید این مقدار را با پوشاندن فوتوسل در حالی که مقاومت آن را با یک مولتی‌متر اندازه‌گیری می‌کنید، پیدا کنید. بنابراین، اگر فوتوسل شما در ناحیه 10K اهم باشد، از یک مقاومت  10K استفاده کنید. اگر از یک فتوترانزیستور استفاده می‌کنید، مقداری بین  1K و  10K مناسب خواهد بود.

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

شما می‌توانید نرخ چشمک‌زدن LED را با استفاده از تابع Arduino map به‌صورت زیر تغییر دهید:

 

✅نکته

اگر در زمان تغییر شدت نور، تغییری در مقادیر مشاهده نمی‌کنید، باید پیوسته مقادیر low و high را تغییر دهید. اگر از یک فتوترانزیستور استفاده می‌کنید و تغییری در نرخ چشمک‌زدن مشاهده نمی‌شود، مقدار 10 را برای low امتحان کنید.

اگر به هر دلیلی مقدار تأخیر شما خارج از محدوده‌ بین low و high باشد، مقدار تابع map مقداری خارج از محدوده‌ بین minDuration و maxDuration خواهد شد. اگر بعد از تابع map، از تابع constrain استفاده کنید، مشکل مقادیر خارج از محدوده (out-of-range) برطرف می‌شود.

اگر می‌خواهید مقدار متغیر delayval را در کامپیوتر خود مشاهده کنید، می‌توانید این مقادیر را در سریال مانیتور آردوینو پرینت کنید. این اسکچ، کد مقدار تأخیر را در سریال مانیتور نمایش می‌دهد. شما می‌توانید در نرم‌افزار Arduino IDE، با کلیک بر روی آیکون سمت راست نوار بالا، پنجره مانیتور سریال را باز کنید.

 

تغییر فرکانس صدا متناسب با تغییرات نور

مانند شکل زیر شما می‌توانید با اتصال یک بلندگو کوچک به پین ۹، از سنسور نوری برای کنترل فرکانس صدا استفاده کرد.

اتصالات یک بلندگو با مدار فتورزیستور

شکل 2: اتصالات یک بلندگو با مدار فتورزیستور

 

برای تنظیم نرخ روشن و خاموش‌شدن پین ۹ و ایجاد فرکانس در طیف صدا قابل شنود، باید مقادیر حداقل و حداکثر تأخیر را کاهش دهید. به‌عنوان‌مثال، می‌توانید از کد زیر استفاده کنید:

 

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

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

شما نیز میتوانید یکی از نویسندگان سیسوگ باشید.   همکاری با سیسوگ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *