در قسمت بیست و نهم از آموزش آردوینو به بررسی پاسخ به تغییرات ولتاژ و اندازهگیری ولتاژهای بیش از ۵ ولت (تقسیم ولتاژ) پرداختیم. در این قسمت قصد داریم درباره دریافت ورودی از سنسورها صحبت کنیم.
با دریافت و استفاده از ورودی سنسورها، آردوینو میتواند به محیط اطرافش واکنش نشان دهد یا اطلاعاتی از آن جمعآوری کند. این یکی از رایجترین کارهایی است که در کار با آردوینو با آن سر و کار خواهید داشت. در این فصل، روشهای ساده و کاربردی برای استفاده از محبوبترین حسگرها و دستگاههای ورودی توضیح داده شده است.
همچنین، شماتیکهای سیمکشی نحوه اتصال و تأمین انرژی این دستگاهها را نشان میدهند و نمونه کدها به شما کمک میکنند تا دادههای حسگرها را پردازش و استفاده کنید.
سنسورها به ورودیهای دنیای فیزیکی واکنش نشان میدهند و آن را به یک سیگنال الکتریکی تبدیل میکنند که آردوینو میتواند از طریق یک پایهی ورودی آن را بخواند.
ماهیت سیگنال الکتریکیای که توسط یک سنسور ارائه میشود، بستگی به نوع سنسور و میزان اطلاعاتی دارد که باید منتقل کند. برخی سنسورها مانند فتوسلها و سنسورهای ضربه (پیزوالکتریک) از موادی ساخته شدهاند که ویژگیهای الکتریکیشان در پاسخ به تغییرات فیزیکی تغییر میکند. برخی دیگر ماژولهای الکترونیکی پیشرفتهتری هستند که از میکروکنترلر داخلی خود برای پردازش اطلاعات استفاده میکنند و سپس سیگنال پردازششده را به آردوینو ارسال میکنند.
سنسورها از روشهای زیر برای ارائه اطلاعات استفاده میکنند:
برخی دستگاهها، مانند سنسور شیب، تنها ولتاژ را روشن و خاموش میکنند. این نوع سنسورها را میتوان مشابه سوئیچهایی در نظر گرفت که در قسمتهای قبلی توضیح داده شد.
سایر سنسورها یک سیگنال آنالوگ ارائه میدهند (ولتاژی که متناسب با چیزی است که اندازهگیری میشود، مانند دما یا میزان نور). دستورالعملهای مربوط به تشخیص نور، دما و صدا نشان میدهند که چگونه میتوان از سنسورهای آنالوگ استفاده کرد. همهی این موارد از دستور analogRead استفاده میکنند.
سنسورهای فاصلهسنج، مانند سنسور PING)))، دادهها را با استفاده از مدت زمان یک پالس ارائه میدهند که این مدت زمان متناسب با مقدار فاصله است. در کاربردهایی که از این نوع سنسورها استفاده میشود، مدت زمان پالس با استفاده از دستور pulseIn اندازهگیری میشود.
برخی سنسورها از پروتکل سریال برای ارسال دادهها استفاده میکنند. برای نمونه، ماژول GPS (توضیح داده شده در قسمتهای پیشین) از طریق پورت سریال آردوینو ارتباط برقرار میکند. از آنجایی که بیشتر بردهای آردوینو تنها یک پورت سریال سختافزاری دارند، اگر چند سنسور سریال داشته باشید یا این پورت برای کار دیگری درگیر باشد، میتوانید با استفاده از روشهایی مثل Serial نرمافزاری، پورتهای سریال بیشتری اضافه کنید.
رابطهای ارتباطی دیجیتال سریال I2C و SPI برای این طراحی شدهاند که پردازندهها و میکروکنترلرهایی مثل آردوینو بتوانند با سنسورها و ماژولهای خارجی ارتباط برقرار کنند. برای مثال، در قسمتهای بعدی توضیح میدهیم که چگونه یک ماژول ژیروسکوپ از طریق I2C به آردوینو متصل میشود. این پروتکلها به طور گستردهای در سنسورها، محرکها (actuators) و تجهیزات جانبی مورد استفاده قرار میگیرند.
یک دستهی دیگر از ابزارهای اندازهگیری وجود دارد که ممکن است برایتان کاربردی باشد. این ابزارها در واقع دستگاههای مصرفی هستند که درونشان سنسور وجود دارد، اما بهعنوان یک محصول کامل و مستقل فروخته میشوند، نه صرفاً بهعنوان سنسور.
برای مثال، ماوس PS/2 میتواند بسیار مفید باشد، چون سنسورها را در قالب محصولاتی آماده، مقاوم و ارگونومیک در اختیار شما قرار میدهد. از طرفی، قیمت آنها معمولاً پایین است (گاهی حتی از خود سنسورهای تکی هم ارزانترند)، چون به صورت انبوه تولید میشوند. شاید شما هم چند تا از این وسایل را در خانه داشته باشید.
اگر از دستگاهی استفاده میکنید که به طور خاص در این سری آموزشها بررسی نشده است، به مدیر کتابخانه آردوینو (Library Manager) سر بزنید تا ببینید آیا کتابخانهای برای آن دستگاه وجود دارد یا نه.
اگر کتابخانهای موجود نبود، ممکن است بتوانید از یک دستورالعمل دیگر که برای دستگاهی با خروجی مشابه نوشته شده، استفاده یا آن را با کمی تغییر برای نیاز خودتان سازگار کنید.
اطلاعات مربوط به سیگنال خروجی یک سنسور معمولاً از طریق شرکت سازنده یا در دیتاشیت دستگاه قابلدسترسی است. میتوانید دیتاشیت را با جستجوی شماره مدل یا نام قطعه در گوگل پیدا کنید.
دیتاشیتها معمولاً برای مهندسانی نوشته میشوند که در حال طراحی محصولاتی برای تولید انبوه هستند، و بنابراین جزئیات بسیار بیشتری نسبت به آنچه برای راهاندازی اولیه نیاز دارید، در آنها ارائه میشود.
اگر دیتاشیت را در وبسایت فروشنده قطعه پیدا نکردید، معمولاً میتوانید با جستجو در اینترنت و واردکردن نام قطعه همراه با کلمهی “datasheet” آن را پیدا کنید.
اطلاعات مربوط به سیگنال خروجی معمولاً در بخشی با عنوانهایی مانند data format , interface , output signal یا موارد مشابه قرار دارد. همچنین فراموش نکنید حتماً حداکثر ولتاژ مجاز را بررسی کنید (که معمولاً در بخشی با عنوان Absolute Maximum Ratings ذکر شده) تا مطمئن شوید به قطعه آسیب وارد نمیکنید.
سنسورهایی که برای حداکثر ولتاژ ۳.۳ ولت طراحی شدهاند، ممکن است در صورت اتصال به ولتاژ بالاتر (مانند پایههای خروجی آردوینو که با منطق ۵ ولت کار میکنند) آسیب ببینند یا کاملاً از کار بیفتند.
بنابراین، قبل از اتصال هر دستگاهی، حتماً حداکثر ولتاژ مجاز (Absolute Maximum Rating) آن را بررسی کنید.
اگر لازم است خروجی ۵ ولتی را به ورودیای متصل کنید که فقط ۳.۳ ولت را تحمل میکند، در بیشتر موارد میتوانید از تقسیمکننده ولتاژ (Voltage Divider) استفاده کنید. برای اطلاعات بیشتر در مورد ساخت و استفاده از تقسیمکننده ولتاژ، به قسمتهای قبلی مراجعه کنید.
خواندن داده از سنسورها در دنیای پرنویز آنالوگ، ترکیبی از علم، هنر و پشتکار است. برای رسیدن به نتیجهی مطلوب، ممکن است نیاز باشد خلاقیت به خرج دهید و روشهای مختلف را با آزمونوخطا امتحان کنید.
یکی از مشکلات رایج این است که سنسور تنها به شما میگوید یک وضعیت فیزیکی رخ داده، اما دلیل آن را مشخص نمیکند. قراردادن سنسور در موقعیت، محدوده و جهتگیری مناسب و همچنین محدودکردن تأثیر عوامل ناخواستهای که نباید باعث فعالشدن آن شوند، مهارتهایی هستند که با تجربه به دست میآیند.
یکی دیگر از چالشها، جداکردن سیگنال مورد نظر از نویزهای زمینهای است. در قسمتهای بعدی توضیح داده خواهد شد که چگونه میتوانید با تعیین یک آستانه (Threshold) مشخص کنید که چه زمانی سیگنال از یک سطح مشخص بالاتر رفته است. همچنین، بررسی میشود که چگونه میتوان با میانگینگیری از چندین خوانش (readings)، نوسانات ناشی از نویز را کاهش داد و سیگنال را صافتر و قابلاعتمادتر کرد.
برای آشنایی بیشتر با نحوهی کار با قطعات الکترونیکی و اتصال آنها، میتوانید به کتاب Make: Electronics نوشتهی چارلز پلت (Charles Platt) از انتشاراتMake Community مراجعه کنید.
کتاب Making Things Talk نوشتهی تام آیگو (Tom Igoe) نیز به ترکیب علم، هنر و پشتکار در طراحی و پیادهسازی سیستمهای مبتنی بر سنسور با استفاده از آردوینو میپردازد.
پاسخ به تغییرات ولتاژ +...
من کاپیتان آردوینو، اسمم میلاده و اینجا هستم تا تجربیاتم در رابطه با آردوینو رو با شما به اشتراک بزارم!
مقالات بیشتر
نویسنده شو !
سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.