این طرح به شما نشان می دهد که چگونه حسگر نور اسپلورا را بخوانید و کالیبره کنید. از آنجایی که سطوح نور از مکانی به مکان دیگر متفاوت است، باید سنسور را برای هر مکان کالیبره کنید.
برای انجام این کار، سنسور را برای چند ثانیه بخوانید و بیشترین و کمترین قرائت را به صورت حداکثر و حداقل ذخیره کنید.
شما از خواندن سنسور برای تنظیم روشنایی LED با نگاشت مقادیر به محدوده کوچکتر، با استفاده از حداقل و حداکثر مقادیری که در کالیبراسیون به دست آورده اید، استفاده خواهید کرد.
جریان
فقط Arduino Esplora شما برای این مثال مورد نیاز است. اسپلورا را با کابل USB به کامپیوتر خود وصل کنید و مانیتور سریال آردوینو را باز کنید.
حسگر نور و LED RGB در Esplora
کد
چند متغیر ایجاد کنید تا مقادیر حداکثر و حداقل شما را برای سنسور نور نگه دارید، و یکی دیگر را برای اینکه Esplora متوجه شود که آیا سنسور کالیبره شده است یا خیر.
برای ارسال داده به رایانه خود، باید یک اتصال سریال باز کنید. از Serial.begin () برای باز کردن یک پورت سریال با 9600 baud در Esplora استفاده کنید .
از Esplora.readButton () استفاده کنید تا ببینید آیا دکمه 1 فشرده شده است یا خیر. اگر چنین است، calibrate()
تابعی را که در زیر می نویسید تماس بگیرید.
برای خواندن حسگر نور، از Esplora.readLightSensor () استفاده کنید. این مقدار بین 0 تا 1023 را به شما می دهد که در یک متغیر ذخیره می شود.
شما می خواهید مقدار را از حسگر به محدوده ای که برای LED مناسب است با استفاده از حداکثر و حداقل محدوده خود ترسیم کنید. تابع map ( ) 5 آرگومان می گیرد، مقدار اصلی، مقدار حداقل سنسور، حداکثر مقدار سنسور، حداقل مقدار LED (0) و حداکثر مقدار LED (255). این مقدار را در یک متغیر جدید به نام ذخیره کنید brightness
.
تابع map () مقادیر را به 0 و 255 محدود نمی کند. اگر خوانش حسگر خارج از مقادیر حداکثر و حداقل خود اتفاق بیفتد، map() مقادیر کمتر از 0 یا بالاتر از 255 را برمی گرداند. برای اطمینان از ماندن در آن محدوده، محدودیت ().