آموزش کامل 37 کیت سنسور برای آردوینو و سایر میکروکنترلرها

بازگشت به آموزشگاه

معرفی بسته آموزشی :

این بسته آموزشی کاربردی مجهز به جعبه پلاستیکی می باشد که داخل آن 37 سنسور و ماژول مناسب برای یادگیری نحوه راه اندازی انواع سنسورها و ماژول ها مخصوص بوردهای آردوینو می باشد. همچنین یک سی دی رایگان کنار این بسته ارائه می گردد که شامل توضیحات کامل همه سنسورها و نحوه راه اندازی آن ها به همراه سورس پروژه آردوینو می باشد. به علت اینکه تعداد بالایی سنسور و ماژول در این بسته قرار دارد قیمت تمام شده آن بسیار پایین می باشد.


ویژگی های این بسته آموزشی :

  • بررسی همه جانبه سنسورها و ماژول ها و انتخاب 37 نوع مختلف از آن ها
  • دارای سی دی آموزشی شامل سورس کدهای راه اندازی همه سنسورها و ماژول ها

محتویات CD آموزشی :

  • فایل PDF آموزش فارسی معرفی ، عملکرد و نحوه راه اندازی همه 37 سنسور
  • سورس راه اندازی همه 37 سنسور در نرم افزار آردوینو
  • به همراه آموزش و سورس کدهای چند پروژه کاربردی عملی با این سنسورها

لیست سنسورها و ماژول های این بسته آموزشی :

  1. JoyStick
  2. Flame Sensor
  3. RGB LED
  4. Heartbeat Sensor
  5. Light Cup
  6. Hall Magnetic Sensor
  7. Relay
  8. Linear Hall Sensor
  9. SMD RGB
  10. 7 Color Flash
  11. Tilt Switch
  12. Temperature Sensor
  13. Big Sound Sensor
  14. Touch Sensor
  15. Two-Color LED
  16. Laser Emitter
  17. Ball Switch
  18. Analog Temperature Sensor
  19. Small Sound Sensor
  20. Digital Temperature Sensor
  21. Two-Color LED (small)
  22. Button
  23. Photoresistor
  24. IR Emission
  25. Tracking Sensor
  26. Buzzer
  27. Reed Switch
  28. Shock Sensor
  29. Temperature And Humidity Sensor
  30. IR Receiver
  31. Avoidance Sensor
  32. Passive Buzzer
  33. Mini Reed
  34. Rotary Encoders
  35. Analog Hall Sensor
  36. Tap Module
  37. Light Blocking

>> لینک خرید مستقیم از فروشگاه الکترو ولت <<


آموزش 37 کیت سنسور برای آردوینو و سایر میکروکنترلرها :

در این آموزش ، هر یک از سنسورها و ماژول های فوق را با هم بررسی می کنیم. در هر بخش ابتدا توضیحات کوتاهی راجع به آن ماژول یا سنسور ارائه خواهیم کرد سپس برنامه آردوینو مربوط به راه اندازی آن را خواهیم نوشت. توجه کنید در برخی از مثال ها یک LED روی پایه 13 وجود دارد.


بخش اول : JoyStick

جوی استیک ( JoyStick ) یک سنسور آنالوگ می باشد که معمولا برای کارهای کنترلی مورد استفاده قرار می گیرد. درون جوی استیک دو عدد پتانسیومتر ( یکی در راستای محور X و دیگری در راستای محور Y ) قرار دارد که با توجه به میزان منحرف شدن از مرکز مقدار مقاومت این دو پتانسیومتر تغییر می کند و با خواندن توسط واحد ADC آردوینو میتوان آن را به دیجیتال تبدیل کرد. همچنین درون جوی استیک یک عدد کلید ( Push Button ) نیز وجود دارد که در صورت فشرده شدن جوی استیک آن کلید نیز فشرده می شود. در شکل زیر پایه های این سنسور را مشاهده می کنید.

نحوه اتصال جوی استیک به آردوینو :

برنامه آردوینو :

توضیح برنامه :

پایه SW به یکی از پایه های دیجیتال ( پایه 2 ) وصل شده است. این پایه ورودی و پول آپ باید باشد. پایه های VRx و VRy به ترتیب به پایه های 1 و 2 آنالوگ متصل می گردند. درون حلقه مقدار های SW و VRx و VRy خوانده می شود و توسط Serial.print به کامپیوتر ارسال می گردد. درون نرم افزار Arduino IDE با کلیک بر روی سریال مانیتور ( Tools -> Serial Monitor ) میتوانید تغییرات مقادیر خوانده شده توسط ADC را ببینید.


بخش دوم : Flame Sensor

این سنسور برای تشخیص شعله های آتش با فاصله نزدیک می باشد. که میتواند در پروژه هایی که برای نظارت و کنترل ایمنی آتش می باشد استفاده شود. درون این سنسور یک گیرنده مادون قرمز وجود دارد که نورهای با طول موج بین 760 تا 1100 نانومتر را تشخیص می دهد. در صورتی که سنسور آتش را تشخیص دهد پایه digital output آن 1 می شود. همچنین مقدار ولتاژ آنالوگ روی پایه Analog بسته به شدت آتش با رابطه عکس تغییر می کند. این سنسور محدوده عملکرد محدودی دارد که در شکل زیر مشاهده می کنید.

نحوه اتصال سنسور شعله به آردوینو :

برنامه آردوینو :

توضیح برنامه :

در ابتدا یک عدد دلخواه برای مینیمم و ماکزیمم مقدار سنسور شعله تعیین می کنیم. سپس مقدار آنالوگ را از سنسور شعله می خوانیم. این مقدار آنالوگ را بوسیله تابع map به تفاضل مینیمم و ماکزیمم تقسیم کرده و به سه عدد 0 ، 1 یا 2 تبدیل می کنیم. ( برای اطلاعات بیشتر راجع به تابع map به >> این لینک << مراجعه کنید ). درنهایت در صورتی که مقدار نهایی سنسور 0 باشد یعنی آتش نزدیک سنسور است. در صورت 1 بودن یعنی آتش دور است ( یا ضعیف است ) و در صورتی 3 باشد یعنی آتشی در محدوده عملکرد سنسور وجود ندارد.

توجه : در روش دوم برنامه نویسی میتوان با خواندن پایه دیجیتال تنها وجود یا عدم وجود شعله را تشخیص داد.


بخش سوم : RGB LED

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

میزان درخشندگی پایه های R,G,B هر سه توسط PWM کنترل می شود. PWM مخفف Pulse Width Modulation به معنای مدولاسیون عرض پالس می باشد. در این روش برای کنترل ولتاژ اعمالی به LED ها از یک پالس دیجیتال استفاده می گردد که دارای یک فرکانس ثابت اما عرض پالس متغیر می باشد. توسط پالس PWM میتوان میزان توان اعمالی به LED را کنترل کرد. به طوری که هر چه عرض پالس بیشتر شود ولتاژ معادل پالس و در نتیجه توان اعمالی آن بزرگتر می شود. شکل زیر سه پالس PWM با پهنای پالس مختلف و ولتاژ معادل آن ها را نشان می دهد.

نحوه اتصال به آردوینو :

برنامه آردوینو :

توضیح برنامه :

ابتدا هر سه پین R و G و B را خروجی می کنیم. سپس توسط تابع analogWrite میتوان یک موج PWM تولید کرده و به پایه مورد نظر داد. ورودی این تابع میتواند عددی بین 0 تا 255 باشد. هر چه عدد به 255 نزدیک تر باشد رنگ مورد نظر پر رنگ تر می گردد. برای تغییر رنگ از حلقه for  و متغیر حلقه ( var ) استفاده شده است که میتواند انواع رنگ ها را ایجاد کند.


بخش چهارم : Heartbeat Sensor

این سنسور همانطور که از نام آن پیداست برای تشخیص ضربان قلب از روی انگشت استفاده می شود. درون این سنسور یک فرستنده مادون قرمز و یک گیرنده فوتو ترانزیستور استفاده شده است. با تغییر فشار خون مقدار خروجی سنسور نیز تغییر می کند. فرستنده باید در یک طرف انگشت و گیرنده در طرف دیگر انگشت قرار گیرد و دقیقا باید روبروی هم قرار گیرند. شکل زیر این موضوع را نشان می دهد.

نحوه اتصال به آردوینو :

برنامه آردوینو :

توضیح برنامه :

در این برنامه ابتدا مقدار جدیدی از پایه آنالوگ سنسور خوانده می شود و در متغیر rawValue ذخیره می گردد. این مقدار با مقدارهای قبلی خوانده شده طبق فرمول موجود جمع شده و درون Value ریخته می شود. ( نوعی عمل میانگین گیری در هر مرحله صورت می گیرد). در نهایت مقدار rawValue و Value توسط Serial.print به کامپیوتر ارسال می گردد. درون نرم افزار Arduino IDE با کلیک بر روی سریال مانیتور ( Tools -> Serial Monitor ) میتوانید تغییرات مقادیر خوانده شده توسط ADC را ببینید. هر چه زمان بیشتری بگذرد ، مقدار نشان داده شده به ضربان قلب واقعیتان نزدیک تر می گردد.


بخش پنجم : Magic Light Cup

دو عدد ماژول مجیک لایت کاپ ( یا جام نور جادویی ) مشابه هم در این بسته آموزشی وجود دارد. پایه های این ماژول به شرح زیر است :

هر ماژول از دو بخش تشکیل شده است ، یک LED معمولی قرمز رنگ و یک حباب کوچک که درون آن جیوه وجود دارد. جیوه داخل حباب باعث می شود که همانند یک سوئیچ عمل کند که در زمان حرکت قطع و وصل می شود. این سوئیچ به آردوینو متصل می شود و هنگام هر تکان خوردن چراغ LED را با نور بیشتر یا کمتری روشن می کند.

نحوه اتصال به آردوینو :

برنامه آردوینو :

توضیح برنامه :

در این برنامه دو سنسور لایت کاپ متصل شده است ( A و B ) که در صورت تکان خوردن A ، نور LEDA زیاد و LEDB کم می شود. در صورت تکان خوردن دومی ، برعکس حالت قبل اتفاق می افتد. یعنی نور LEDA کم و نور LEDB زیاد می شود.


بخش ششم : Switch Hall Magnetic Sensor

اثر هال یک اثر الکترومغناطیسی است که توسط Edwin Hall در سال 1879 کشف شد. طبق این اثر اگر یک هادی در میدان مغناطیسی قرار گیرد ، از طرف میدان مغناطیسی نیرویی وارد بر الکترون های آن هادی می شود که موجب حرکت آن ها و بوجود آمدن اختلاف پتانسیل ( ولتاژ ) می گردد. همانطور که در شکل زیر مشاهده می کنید ، در یک طرف نیمه هادی قطب N و در طرف دیگر قطب S قرار دادیم و مشاهده می شود که بارهای مثبت و منفی ( الکترون ) در دو سمت هادی جمع شده و باعث بوجود آمدن اختلاف پتانسیل در هادی شده است.

سنسور اثر هال مدل 3144 یک سنسور اثر هال سه پایه از نوع سوئیچی ( Switch ) است. روی این سنسور عدد 3144 نوشته شده است. اگر هیچ میدانی وجود نداشته باشد ، خروجی سنسور Low می شود و در صورت وجود میدان مغناطیسی قوی اطراف سنسور خروجی آن High می شود. یک LED نیز روی برد قرار دارد که در صورت High شدن ، روشن می گردد. شکل زیر پایه های این سنسور را نشان می دهد.

اتصال به آردوینو :

برنامه آردوینو :

توضیح برنامه :

زمانی که میدان مغناطیسی تشخیص داده شود ، LED روشن و در غیر این صورت خاموش است.


بخش هفتم : Relay

رله نوعی سوئیچ است که میتواند بوسیله ولتاژ پایین ( مثلا 5 ولت ) ، قطع/وصل بودن ولتاژ بالا ( نظیر برق 220 ولت ) را کنترل نماید. اگر به طرف ولتاژ پایین رله ولتاژ 5 ولت اعمال شود کنتاکت درون رله برقدار شده و باعث اتصال کوتاه شدن طرف دیگر رله می شود.

نحوه اتصال رله به آردوینو :

برنامه آردوینو :

توضیح برنامه :

هر یک ثانیه رله روشن و خاموش می گردد.


بخش هشتم : Linear Hall Sensor

عملکرد این سنسور همانند بخش ششم می باشد با این تفاوت که علاوه بر خروجی دیجیتال ، دارای خروجی آنالوگ نیز می باشد. در این ماژول از سنسور اثر هال مدل 49E به همراه مدار جانبی استفاده شده است. این سنسور در هنگام قرار گرفتن در میدان مغناطیسی ولتاژ آنالوگ متناسب با قدرت آن میدان تولید می کند. ولتاژ آنالوگ خروجی پس از دریافت توسط آردوینو به دیجیتال تبدیل می گردد. در صورتی که میدان قوی در اطراف سنسور شناسایی شود ، LED موجود روی آن روشن می گردد. در این ماژول با استفاده از یک مقایسه کننده ( آپ امپ ) مدل LM324 علاوه بر خروجی آنالوگ ، خروجی دیجیتال نیز تعبیه شده است. یک پتانسیومتر برای کنترل حساسیت خروجی دیجیتال نیز وجود دارد.

نحوه اتصال به آردوینو :

برنامه آردوینو :

توضیح برنامه :

مقدار آنالوگ سنسور خوانده شده و پس از تبدیل به دیجیتال ، مقدار عددی آن نمایش داده می شود. همچنین زمانی که میدان مغناطیسی قوی اطراف سنسور تشخیص داده شود ، LED روشن و در غیر این صورت خاموش است. درون نرم افزار Arduino IDE با کلیک بر روی سریال مانیتور ( Tools -> Serial Monitor ) میتوانید تغییرات مقادیر خوانده شده سنسور هال توسط آردوینو را ببینید.


بخش نهم : SMD RGB LED

دو عدد ماژول RGB در این بسته آموزشی وجود دارد که اولی در بخش سوم بررسی شد. تفاوت این دو ماژول تنها در بسته بندی ( Package ) آن ها است. به طوری که اولی پایه دار و دومی روی سطح بورد ( یا SMD ) می باشد.

نحوه اتصال به آردوینو :

همانند بخش سوم

برنامه آردوینو :

همانند بخش سوم


بخش دهم : 7 Color Flash LED

این ماژول دارای یک LED هفت رنگ می باشد که به طور خودکار تغییر رنگ می دهد. برای راه اندازی این ماژول کافی است پایه VCC آن را به پایه 13 آردوینو متصل کنیم.

برنامه آردوینو :

توضیح برنامه :

LED به مدت دو ثانیه روشن و سپس دو ثانیه خاموش می شود و …


بخش یازدهم : Mercury Tilt Switch

با این سوئیچ قبلا در بخش پنجم آشنا شده بودیم. تیلت سوئیچ شامل یک حباب است که داخل آن جیوه وجود دارد. جاذبه زمین باعث کشیده شدن جیوه به پایین ترین سطح ممکن و تماس آن با کنتاکت های موجود می گردد. بنابراین این سوئیچ هنگام حرکت و تغییر زاویه قطع و وصل می گردد.

نحوه اتصال به آردوینو :

برنامه آردوینو :

توضیح برنامه :

سنسور تیلت سوئیچ را تکان دهید ، به محض اینکه سوئیچ بسته باشد ، LED موجود روی پایه 13 روشن می گردد.


بخش دوازدهم : Temperature Sensor

این ماژول یک سنسور دمای دیجیتال مدل DS18B20 می باشد که از پروتکل سریال 1wire ( یک سیمه ) استفاده می کند. ابعاد این سنسور بسیار کوچک بوده و میتواند مقدار دما را با دقت 16Bit ( دو بایت ) ارسال کند.

نحوه اتصال به آردوینو :

برنامه آردوینو :

برای خواندن دما توسط این سنسور دو نوع برنامه مختلف میتوان نوشت. اولی با استفاده از کتابخانه OneWire و دومی با استفاده از کتابخانه DallasTemperature می باشد. توجه داشته باشید که برای استفاده از این برنامه ها باید ابتدا کتابخانه مربوطه را با سرچ کردن نام آن در منوی Manage Library نصب نمایید. ( شکل زیر )

برنامه اول :

برنامه دوم :


بخش سیزدهم : Big Sound Sensor

این سنسور میتواند صداهای بلند را تشخیص دهد. روی این سنسور یک میکروفن قرار دارد. میکروفن میتواند سیگنال صوتی را به سیگنال الکتریکی تبدیل کند. این سنسور دارای هر دو خروجی آنالوگ و دیجیتال می باشد. میکروفن صداهای محیط را به صورت مستقیم به خروجی آنالوگ می برد. اما زمانی که قدرت صدا از یک سطح مشخصی بالاتر رود ، پایه دیجیتال خروجی High می گردد. یک پتانسیومتر جهت تنظیم حساسیت خروجی دیجیتال نیز تعبیه شده است.

نحوه اتصال به آردوینو :

برنامه آردوینو اول برای استفاده از پایه دیجیتال :

توضیح برنامه :

به محض شناسایی صدای بلند ، LED روشن می گردد.

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

توضیح برنامه :

در این برنامه هر چه صدای دریافت شده قوی تر باشد ، LED موجود روی بورد با سرعت بیشتری چشمک می زند. درون نرم افزار Arduino IDE با کلیک بر روی سریال مانیتور ( Tools -> Serial Monitor ) میتوانید تغییرات مقادیر خوانده شده این سنسور را ببینید.


بخش چهاردهم : Metal Touch Sensor

این سنسور میتواند تماس دست یا هر اندام یا وسیله دیگری را تشخیص دهد. درون آن از یک ترانزیستور مدل KSP13 برای تشخیص لمس استفاده می گردد. در صورتی که به پایه وسط این ترانزیستور کوچکترین لمسی وارد شود سنسور تشخیص می دهد. برای همین بهتر است پایه سوم را به سمت بیرون کج کنید تا در دسترس قرار گیرد. علت تشخیص لمس توسط این سنسور به خاطر این مسئله است که بدن انسان نوعی هادی جریان می باشد که همانند آنتن امواج الکترومغناطیسی را در هوا جذب می کند. این سنسور نیز همانند سنسورهای قبلی دارای دو خروجی دیجیتال و آنالوگ می باشد. حساسیت پایه دیجیتال توسط پتانسیومتر قابل تنظیم است.

نحوه اتصال به آردوینو :

برنامه آردوینو :

توضیح برنامه :

به  محض تشخیص لمس ، LED روشن می گردد.


بخش پانزدهم : Two Color LED

LED دو رنگ دارای سه پایه ( زمین , قرمز , زرد ) می باشد. در نتیجه با استفاده از PWM میتوان رنگ های قرمز ، زرد و ترکیبی از این دو را بدست آورد. توصیه می شود برای طول عمر LED از مقاومت 330 اهم برای پایه زمین یا دو پایه دیگر استفاده کنید.

اتصال به آردوینو :

مشابه RGB LED ( بخش سوم )

برنامه آردوینو :

توضیح برنامه :

در این برنامه توسط دو حلقه for تمام طیف های رنگی این LED دو رنگ نمایان می شود.


بخش شانزدهم : Laser Emitter

لیزرها به علت جمع کردن انرژی و شلیک کردن آن در یک جهت باریک ، استفاده گسترده ای در صنایع مختلف نظیر صنایع پزشکی و نظامی دارند. این ماژول یک لیزر است که با ولتاژ 5 ولت کار می کند. یک پایه سیگنال وجود دارد که به محض برقدار شدن لیزر فعال شده و شروع به تابش انرژی می کند. یکی از کاربردهای لیزر تولید پالس های کد شده نوری در انتقال دیتا می باشد ( شبیه به فیبر نوری ).

اتصال به آردوینو :

پایه S لیزر را به پایه 13 آردوینو متصل می کنیم. پایه های – و + را به ترتیب به GND و 5V+ متصل می کنیم.

برنامه آردوینو :

توضیح برنامه :

یک ثانیه لیزر روشن و ثانیه بعدی خاموش می شود.


بخش هفدهم : Ball Switch

این سنسور که نوعی Tilt Switchاست ، به محض تغییر زاویه قطع و وصل می شود. درون این سنسور یک توپ کوچک وجود دارد که حرکات کوچک و ریز را تشخیص می دهد. از همین رو به آن Ball Switch گفته می شود.

اتصال به آردوینو :

همانند بخش یازدهم

برنامه آردوینو :

توضیح برنامه :

به  محض تغییر زاویه سنسور ، LED روشن می گردد.


بخش هجدهم : Analog Temperature Sensor

این سنسور دمای آنالوگ نوعی مقاومت متغیر Thermistor ( ترمیستور یا ترمال رزیستور ) حساس به تغییرات دما می باشد. به طوری که با افزایش دما مقدار ولتاژ خروجی سنسور شروع به کاهش می کند. برای اندازه گیری دقیق دما ابتدا باید سنسور را کالیبره کرد. یعنی ابتدا سنسور را در دمایی قرار داد که مقدار دقیق آن مشخص باشد، سپس ولتاژ خروجی آنالوگ آن را اندازه گیری کرد و بعد از آن با هر تغییر دمایی میتوان دمای محیط را حدس زد.

اتصال به آردوینو :

برنامه آردوینو :

توضیح برنامه :

ابتدا مقدار ولتاژ آنالوگ از سنسور خوانده شده و بعد از تبدیل به یک عدد دیجیتال توسط تابع Thermistor به دما تبدیل می شود. درون نرم افزار Arduino IDE با کلیک بر روی سریال مانیتور ( Tools -> Serial Monitor ) میتوانید تغییرات مقادیر خوانده شده این سنسور را ببینید.


بخش نوزدهم : Small Sound Sensor

این سنسور همانند سنسور بخش سیزدهم می باشد با این تفاوت که این سنسور نسبت به صداهای کوچک حساسیت دارد. روی این سنسور یک میکروفن قرار دارد. میکروفن میتواند سیگنال صوتی را به سیگنال الکتریکی تبدیل کند. این سنسور دارای هر دو خروجی آنالوگ و دیجیتال می باشد. میکروفن صداهای محیط را به صورت مستقیم به خروجی آنالوگ می برد. اما زمانی که قدرت صدا از یک سطح مشخصی بالاتر رود ، پایه دیجیتال خروجی High می گردد. یک پتانسیومتر جهت تنظیم حساسیت خروجی دیجیتال نیز تعبیه شده است.

نحوه اتصال به آردوینو :

برنامه آردوینو اول برای استفاده از پایه دیجیتال :

توضیح برنامه :

به محض شناسایی صدای کوچک ، LED روشن می گردد.

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

توضیح برنامه :

در این برنامه هر چه صدای دریافت شده قوی تر باشد ، LED موجود روی بورد با سرعت بیشتری چشمک می زند. درون نرم افزار Arduino IDE با کلیک بر روی سریال مانیتور ( Tools -> Serial Monitor ) میتوانید تغییرات مقادیر خوانده شده این سنسور را ببینید.


بخش بیستم : Digital Temperature Sensor

این سنسور همانند سنسور آنالوگ بخش هجدهم می باشد. با این تفاوت که یک مقایسه کننده ( آپ امپ ) و یک پتانسیومتر به آن اضافه شده است. در نتیجه این سنسور علاوه بر خروجی آنالوگ که برای دما استفاده می شود ، یک خروجی دیجیتال نیز دارد که میتواند یک آستانه دمایی ایجاد کند. به طوری که اگر دما بالاتر از آستانه باشد خروجی دیجیتال سنسور High و در غیر این صورت Low می باشد. توسط تغییر پتانسیومتر این آستانه دمایی برای خروجی دیجیتال تغییر می کند.

اتصال به آردوینو :

پایه خروجی دیجیتال سنسور را به پایه 7 آردوینو و پایه های + و G سنسور را به ترتیب به 5V+ و GND آردوینو متصل کنید.

برنامه آردوینو برای استفاده از پایه دیجیتال :

توضیح برنامه :

به محض افزایش دما از آستانه تنظیم شده سنسور ، LED روش می گردد.


بخش بیست و یکم : Small Two Color LED

در این بسته آموزشی دو عدد ماژول LED دو رنگ وجود دارد که در شکل فوق نوع کوچکتر آن را مشاهده می کنید. نوع بزرگ آن را در بخش پانزدهم بررسی کردیم. این دو ماژول هیچ تفاوت عملکردی با هم ندارند و تنها از نظر بسته بندی ( Package ) با هم تفاوت دارند.

اتصال به آردوینو :

همانند بخش پانزدهم

برنامه آردوینو :

همانند بخش پانزدهم


بخش بیست و دوم : Button

این ماژول همان کلید فشاری یا پوش باتن ( Push Button ) می باشد. این ماژول دارای یک خروجی سیگنال می باشد که در حالت عادی High می باشد و به محض فشرده شدن Low می شود.

اتصال به آردوینو :

پایه Signal را به پایه 2 آردوینو و پایه های + و G سنسور را به ترتیب به 5V+ و GND آردوینو متصل کنید.

برنامه آردوینو :

توضیح برنامه :

برنامه دائما منطق پایه سیگنال را می خواند و در صورت زده شدن کلید ، LED خاموش می گردد.


بخش بیست و سوم : Photoresistor Sensor

سنسور فوتورزیستور نوعی مقاومت وابسته به نور ( LDR ) می باشد. این مقاومت با شدت نور تابیده شده به سطح آن رابطه عکس دارد یعنی هر چه محیط سنسور شدت نور بیشتری داشته باشد ، LDR مقاومت کمتری دارد و در نتیجه ولتاژ خروجی LDR بیشتر می گردد. از این سنسور میتوان برای روشن کردن اتوماتیک چراغ در زمان کمبود نور استفاده کرد.

اتصال به آردوینو :

برنامه آردوینو :

توضیح برنامه :

هر چه نور محیط بیشتر باشد ، LED با سرعت کمتری چشمک می زند. درون نرم افزار Arduino IDE با کلیک بر روی سریال مانیتور ( Tools -> Serial Monitor ) میتوانید تغییرات مقادیر خوانده شده این سنسور را ببینید.


بخش بیست و چهارم : IR Emitter

این ماژول یک فرستنده مادون قرمز ( Infrared Transmitter ) می باشد. این ماژول از نظر ظاهری کاملا شبیه به LED است اما از مدولاسیون 38 کیلوهرتز برای ارسال امواج مادون قرمز بوسیله میکروکنترلر استفاده می کند. از امواج IR در کنترل تلویزیون ها و در دوربین های مادون قرمز استفاده می گردد. توجه نمایید که اشعه مادون قرمز در جهت و محدوده خاصی میتواند منتشر شود.

اتصال به آردوینو :

پایه S را به پایه 3 و پایه دیگر را به GND آردوینو متصل می کنیم.

برنامه آردوینو :

توضیح برنامه :

در این برنامه از کتابخانه استاندارد IRremote استفاده شده است که ابتدا باید این کتابخانه را از قسمت Manage Libraries با سرچ کردن نام آن نصب کنید. در این برنامه کد 0xFFA25D هر ثانیه ارسال می شود و در هنگام ارسال LED روشن می گردد. برای تشخیص درستی ارسال و یا برای دریافت دیتا در طرف دیگر نیاز به گیرنده IR می باشد که در بخش سی ام بررسی شده است.


بخش بیست و پنجم : Tracking Sensor

این ماژول دارای سنسور فرستنده و گیرنده مادون قرمز در یک بسته بندی می باشد و میتواند خطوط سفید و سیاه را تشخیص دهد. از این قابلیت در ربات های مسیریاب استفاده می شود. فرستنده مادون قرمز همواره روشن است و سیگنال ارسال می کند. اگر این سیگنال به سطح سفید برخورد کند ، منعکس شده و گیرنده مادون قرمز آن را جذب می کند و پایه S در این حالت Low می گردد. اما اگر سیگنال به سطح مشکی برخورد کند ، بازتابش صورت نمی گیرد و سطح پایه S در این حالت High می گردد.

اتصال به آردوینو :

برنامه آردوینو :

توضیح برنامه :

در این برنامه هر 500 میلی ثانیه ، پایه سیگنال سنسور خوانده شده و به کامپیوتر ارسال می گردد. درون نرم افزار Arduino IDE با کلیک بر روی سریال مانیتور ( Tools -> Serial Monitor ) میتوانید تغییرات مقادیر خوانده شده این سنسور را ببینید.


بخش بیست و ششم : Active Buzzer

این ماژول یک بازر اکتیو ( فعال ) می باشد. بازر نوعی بوق است که بوسیله آن میتوان صداهای کوچک و متنوعی ساخت. به وسیله بازر حتی میتوان آهنگ برنامه ریزی و پخش کرد.

اتصال به آردوینو :

برنامه آردوینو :

توضیح برنامه :

روش کار با بازر همانند LED می باشد و برای تولید صداهای مختلف باید به آن موج PWM با پهنای مختلف اعمال کرد. توسط تابع analogWrite میتوان موج PWM با پهنای بین 0 تا 255 ساخت.


بخش بیست و هفتم : Reed Switch

رید سوئیچ ، کلیدی است که در صورت قرار گرفتن آهنربا روی آن ، روشن می شود. در واقع این سنسور همانند سنسور اثر هال ، میدان مغناطیسی قوی را تشخیص می دهد. از سنسورهای اثر هال به علت داشتن خروجی دقیق اغلب در اندازه گیری سرعت ماشین ها و شمارش محصولات در خطوط تولید استفاده می شود در حالی که از رید سوئیچ برای شناسایی وجود/عدم وجود میدان مغناطیسی استفاده می گردد. رید سوئیچ دارای یک پوسته شیشه ای می باشد که درون آن دو کنتاکت از جنس آهن وجود دارد. در حالت عادی این دو کنتاکت به هم وصل نیستند اما در صورت وجود میدان مغناطیسی قوی باردار شده و به هم متصل می گردند. توسط پتانسیومتری که روی بورد وجود دارد میتوان حساسیت سنسور به میدان های اطراف آن را کنترل کرد.

اتصال به آردوینو :

برنامه آردوینو :

توضیح برنامه :

به محض روشن شدن کلید و تشخیص میدان مغناطیسی قوی ، LED روشن می شود.


بخش بیست و هشتم : Shock Sensor

در این ماژول ، سنسور تشخیص شوک ( لرزش ) قرار دارد. این سنسور در حالت عادی خاموش است اما زمانی که لرزش را احساس کند وضعیتش تغییر می کند. ظاهر این سنسور به خازن نیز شباهت دارد اما در درون سنسور فنر و توپ های فلزی وجود دارد که در حالت عادی از یکدیگر جدا هستند و به محض لرزش ، با برخورد به یکدیگر سیگنال تریگر ( Trigger ) را ایجاد می کنند.

اتصال به آردوینو :

برنامه آردوینو :

توضیح برنامه :

به محض لرزش ، LED روشن می شود.


بخش بیست و نهم : Temperature and Humidity Sensor

این ماژول شامل یک سنسور دما و رطوبت مدل DHT11 می باشد. DHT11 یک سنسور دیجیتال یکپارچه و کالیبره شده است که میتواند همزمان رطوبت و دمای محیط را با پروتکل تک سیمه ( 1Wire ) ارسال نماید. پایه های این سنسور را در شکل زیر مشاهده می کنید.

اتصال به آردوینو :

برنامه آردوینو :

همانند سنسور دمای DS18B20 برای این سنسور هم دو نوع برنامه میتوان نوشت. اولی با استفاده از کتابخانه dht.h و دومی بدون استفاده از کتابخانه می باشد. توجه داشته باشید که برای استفاده از کتابخانه باید ابتدا آن را با سرچ کردن نام آن در منوی Manage Library نصب نمایید.

برنامه اول :

برنامه دوم :


بخش سی ام : IR Reciever

در بخش بیست و چهارم فرستنده IR را توضیح دادیم که برای ارسال دیتا استفاده می شود همچنین گفتیم که برای دریافت دیتا باید از ماژول گیرنده IR استفاده نماییم. درون این ماژول یک فرستنده مادون قرمز 38 کیلوهرتز مدل vs1838b وجود دارد که سیگنال دریافتی مادون قرمز را به سطح ولتاژ منطقی تبدیل می کند.

اتصال به آردوینو :

برنامه آردوینو :

توضیح برنامه :

در این برنامه از کتابخانه IRremote استفاده شده است که قبلا آن را از طریق Library Manager نصب کرده بودیم. در این برنامه به محض دریافت دیتای مادون قرمز ، نتیجه به کامپیوتر فرستاده می شود. درون نرم افزار Arduino IDE با کلیک بر روی سریال مانیتور ( Tools -> Serial Monitor ) میتوانید مقادیر خوانده شده این سنسور را ببینید.


بخش سی و یکم : Avoidance Sensor

این ماژول به منظور جلوگیری از برخورد با موانع می باشد که در انواع ربات ها میتواند کاربرد داشته باشد. درون این ماژول یک فرستنده و یک گیرنده مادون قرمز وجود دارد که بررسی کننده موانع می باشد. فرستنده مادون قرمز همواره سیگنال ارسال می کند. هنگامی که هیچ جسمی مقابل سنسور قرار نگرفته باشد ، گیرنده مادون قرمز سیگنالی دریافت نمی کند و درنتیجه خروجی ماژول Low می شود. در صورتی که جسمی مقابل سنسور تشخیص داده شود ، سیگنال ارسال شده بازتابش می شود و توسط گیرنده دریافت می گردد و در نتیجه خروجی ماژول High می شود. عملکرد این سنسور مشابه Tracking Sensor بخش بیست و پنجم است با این تفاوت که اولا در این سنسور ، فرستنده و گیرنده مادون قرمز در بسته بندی جدا از هم بوده و ثانیا میتوانند فاصله بیشتری را پوشش دهند. همچنین دو عدد پتانسیومتر برای تنظیم حساسیت ارسال و دریافت وجود دارد. ( شکل زیر )

اتصال به آردوینو :

برنامه آردوینو :

توضیح برنامه :

به محض شناسایی مانع ، LED روشن می گردد.


بخش سی و دوم : Passive Buzzer

این ماژول شامل یک بازر پسیو ( غیر فعال ) می باشد. بازر پسیو مشابه بازر اکتیو است با این تفاوت که در بازر اکتیو از یک اسیلاتور داخلی برای کنترل صدای بوق استفاده می شود و در نتیجه کنترل آن توسط پایه های بیرونی راحت تر شده است. اما در بازر پسیو هیچ مدار اضافی وجود ندارد و درنتیجه اگر ولتاژ DC قابل توجهی به این بازر اعمال نگردد کار نمی کند. بنابراین برای کار با بازر غیرفعال باید از موج PWM با فرکانس های بین 2 تا 5 کیلوهرتز استفاده کرد. بازرهای فعال به علت استفاده از مدار داخلی کمی گران تر هستند. در شکل زیر تفاوت ظاهری بازرهای پسیو و اکتیو را مشاهده می کنید.

اتصال به آردوینو :

برنامه آردوینو :

توضیح برنامه :

در این برنامه توسط حلقه for و به صورت نرم افزاری دو موج PWM متفاوت ایجاد و اعمال شده است.


بخش سی و سوم : Mini Reed Switch

این ماژول دارای یک رید سوئیچ تکی می باشد. نحوه عملکرد آن مشابه توضیحات بخش بیست و هفتم می باشد. تفاوت بین آنها یکی این است که در این سنسور از مدار کوچکتری استفاده شده است و دیگری این است که این سنسور دارای پتانسیومتر جهت تنظیم حساسیت نمی باشد و تنها میدان های مغناطیسی قوی را شناسایی می کند.

اتصال به آردوینو :

همانند بخش بیست و هفتم

برنامه آردوینو :

همانند بخش بیست و هفتم


بخش سی و چهارم : Rotary Encoder

این ماژول دارای یک انکودر چرخشی و یک محور فلزی ( شبیه به پتانسیومتر ) می باشد. این ماژول در کل یک وسیله الکترومکانیکی می باشد که موقعیت زاویه ای یا سرعت چرخش محور شفت خود را به صورت دیجیتالی کدگذاری می کند. از جمله کاربردهای آن می‌توان به کاربرد در کنترل صنعتی انواع موتورها ، در روباتیک و برآورده ساختن بعضی از هدف‌های لنزهای عکاسی و همچنین در دستگاه‌های ورودی رایانه نام برد. یک انکودر ( Encoder ) از نوع افزایشی داخل و عمود بر محور چرخش قرار گرفته است که با توجه به مقدار چرخش و سرعت چرخش ، دو سیگنال دیجیتالی A و B را به خروجی ارسال می کند. این دو سیگنال A و B همواره اختلاف فاز 90 درجه با یکدیگر دارند. یک سوئیچ فشاری درون این ماژول قرار دارد که به محض فشار دادن عمل می کند ( پایه SW ). وظیفه این سوئیچ صفر کردن زاویه است به طوری که در ابتدای روشن شدن جهت شفت را در نقطه صفر دلخواه قرار می دهیم و یک بار آن را فشار می دهیم. سپس بسته به اینکه انکودر در جهت راست بچرخد یا در جهت چپ ، سیگنال های A و B شکل متفاوتی خواهد داشت. همانطور که در شکل زیر هم مشاهده می کنید ، در صورتی که چرخش به سمت راست ( ساعتگرد ) باشد ، سیگنال A به اندازه 90 درجه جلوتر از سیگنال B است و در صورتی که چرخش به سمت چپ ( پاد ساعتگرد ) باشد ، سیگنال B به اندازه 90 درجه جلوتر از سیگنال A است.

نکته : در این ماژول A همان پایه CLK ( Clock ) و B همان پایه DT ( Data ) است.

اتصال به آردوینو :

برنامه آردوینو :

توضیح برنامه :

در این برنامه برای نشان دادن وضعیت انکودر چرخشی سه LED با سه رنگ متفاوت ( یا یک LED سه رنگ ) استفاده شده است. همچنین 5 وضعیت تعریف شده است. وضعیت اول در نقطه 0 شروع است. با فشردن دکمه برنامه به این وضعیت می رود و در این وضعیت هر سه LED روشن است.


بخش سی و پنجم : Analog Hall Sensor

عملکرد این سنسور همانند بخش ششم می باشد با این تفاوت که علاوه بر خروجی دیجیتال ، دارای خروجی آنالوگ نیز می باشد. در این ماژول از سنسور اثر هال مدل 49E به همراه مدار جانبی استفاده شده است. این سنسور در هنگام قرار گرفتن در میدان مغناطیسی ولتاژ آنالوگ متناسب با قدرت آن میدان تولید می کند. ولتاژ آنالوگ خروجی پس از دریافت توسط آردوینو به دیجیتال تبدیل می گردد. تفاوت این ماژول با ماژول بخش هشتم در این است که اولا دارای خروجی آنالوگ به تنهایی است ( خروجی دیجیتال و LED مربوطه را ندارد ) و ثانیا پتانسیومتر برای تنظیم حساسیت خروجی دیجیتال وجود ندارد. در شکل زیر پایه های این ماژول را مشاهده می کنید.

اتصال به آردوینو :

پایه خروجی سیگنال سنسور را به پایه A5 آردوینو و پایه های تغذیه سنسور را به پایه های GND و 5V+ آردوینو متصل می کنیم.

برنامه آردوینو :

توضیح برنامه :

در این برنامه مقدار آنالوگ از پایه سیگنال سنسور خوانده شده و به صورت دسیمال ( مبنای 10 ) به کامپیوتر ارسال می گردد. درون نرم افزار Arduino IDE با کلیک بر روی سریال مانیتور ( Tools -> Serial Monitor ) میتوانید مقادیر خوانده شده این سنسور را ببینید.


بخش سی و ششم : Knock Sensor

این سنسور شامل یک فنر است که داخل یک باکس شیشه ای قرار گرفته است. کاربرد این سنسور همانند سنسور شوک است که در بخش بیست و هشتم بررسی شد با این تفاوت که این سنسور میتواند لرزش های بسیار کوچک را نیز شناسایی نماید. در شکل زیر پایه های این سنسور را مشاهده می کنید.

اتصال به آردوینو :

پایه خروجی سنسور را به پایه 3 آردوینو و پایه های – و + را به ترتیب به GND و 5V+ آردوینو متصل می کنیم.

برنامه آردوینو :

توضیح برنامه :

در این برنامه منطق خروجی سنسور خوانده می شود و در صورت تغییر منطق وارد حلقه if می شود. اگر منطق خوانده شده Low باشد ، off و اگر منطق خوانده شده High باشد on به کامپیوتر ارسال می گردد. همچنین تعداد دفعاتی که منطق High شده است شمرده شده و به کامپیوتر ارسال می گردد. درون نرم افزار Arduino IDE با کلیک بر روی سریال مانیتور ( Tools -> Serial Monitor ) میتوانید مقادیر خوانده شده این سنسور را ببینید.


بخش سی و هفتم : Light Blocking Sensor

این سنسور میتواند وجود مانع بین دو پره خود را تشخیص دهد. در حالت عادی خروجی سنسور High است و زمانی که جسمی در وسط سنسور ( در وسط U شکل ) قرار گیرد ، سنسور Low می شود.

اتصال به آردوینو :

برنامه آردوینو :

توضیح برنامه :

در صورت تشخیص مانع ، LED روشن می گردد.


در صورتی که این مطلب مورد پسندتان واقع شد لایک و اشتراک گذاری فراموش نشود

دیدگاه (3)

  • علی نژاد پاسخ

    سلااااممم..عالی بود…عالیییییی
    اجرکم عند الله

    1397-12-13 در 15:07
  • lashkar پاسخ

    با سلام و عرض ادب و احترام
    زکات علم نشر آن علم است .
    خداوند خیرتون بده.
    عالی

    1399-05-21 در 08:50
  • مهران پاسخ

    بسیار خوب بود، بسیار سپاسگزارم.

    1401-04-05 در 19:06

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

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

بازگشت به آموزشگاه