آموزش آردوینو UNO ( ماژول فرستنده گیرنده مادون قرمز TCRT5000)

به آموزش آردوینو ( قسمت بیست و سوم – TCRT5000) خوش اومدید.

بازبینی اول : در تاریخ ۱۴۰۰/۰۵/۲۷ انجام شد!

ماژول TCRT5000

از این ماژول در کاربردهای مختلف بخصوص رباتیک استفاده زیادی می شود. این سنسور فاصله تا ۲۵ میلی متر را می تواند تشخیص بدهد. آپ امپ موجود بر روی بورد به شماره  LM393 می باشد که توسط پتانسیومتر قرار گرفته بر روی بورد کالیبره می شود. خروجی به دو صورت آنالوگ و دیجیتال با ولتاژ کاری ۵ ولت در دسترس  بوده است.

روی هر ماژول TCRT5000 دو تا LED وجود داره:

LED اول که به محض متصل کردن ماژول به منبع تغذیه روشن میشود.

LED دوم تنها زمانی روشن میشود که سنسور گیرنده امواج مادون قرمز راتشخیص بدهد.

هر ماژول فرستنده گیرنده TCRT5000 چهار تا پایه داره:

VCC : پایه تغذیه ماژول که باید به ولتاژ ۳.۳ تا ۵ ولت متصل شود.

GND : پایه زمین ماژول که باید به زمین مدار متصل کنیم.

A0 : خروجی آنالوگ ماژول که به یکی از پایه های A0……….A5 برد آردوینو متصل میکنیم.

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

پیاده سازی عملی پروژه

مقاومت محدود کننده جریان( ۳۳۰ اهم )سر راه LED بزارید که نسوزد.

ولتاژ تغذیه LCD و ماژول TCRT5000همون ولتاژ ۵ ولت برد آردوینو هست.

پایه A0 ماژول TCRT5000 را به A0 برد آردوینو  و پایه D0 ماژول را به پایه شماره ۸ برد آردوینو متصل کنید.

شبیه سازی پروژه در پروتئوس

مدار را مانند شکل زیر ببنید.

کد های دستوری

با دستور <include <LiquidCrystal.h# کتابخانه کار با LCD کاراکتری را فراخوانی میکنیم.

خط بعدی یک شی بنام LCD برای تعریف آرایش پایه های LCD معرفی کردیم.

پایه های A0  و ۸ و ۹ برد آردوینو را به ترتیب به sensorPin و D0 وled تغییر نام دادیم.

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
#define sensorPin A0
#define D0 8
#define led 9

در تابع setup برنامه:

پایه شماره ۸ (D0) برد آردوینو را بعنوان ورودی و پایه شماره ۹ (led) را بعنوان خروجی تعریف کردیم.

با دستور lcd.begin نوع LCD کاراکتری را مشخص میکنیم .

با دستور lcd.clear صفحه نمایش LCD را پاک میکنیم.

با دستور lcd.print متن دلخواه خودمان را روی LCD چاپ میکنیم.

برای نمایش متن یک تاخیر ایجاد میکنیم.

با دستور lcd.clear صفحه نمایش LCD را پاک میکنیم.

void setup() {
  pinMode (D0, INPUT);
  pinMode (led, OUTPUT);
  lcd.begin(16, 2);
  lcd.clear();
  lcd.print(" amokh.ir");
  delay(2000);
  lcd.clear();
}

در تابع loop برنامه:

با دستور analogRead مقادیر آنالوگ و با دستور digitalRead مقادیر دیجیتال خروجی ماژول را میخونیم و بر روی LCD کاراکتری نمایش میدیدم.

با دستور if…….else وضعیت پایه دیجیتال (D0) ماژول را چک میکنیم .

اگه خروجی دیجیتال ماژول فعال شد ما پایه شماره ۹ برد آردوینو را که به LED متصل کردیم فعال میکنیم.

void loop() {
  if (value_D0 == HIGH)  
  {            
    digitalWrite(led, HIGH);
  } 
  else
  {
   digitalWrite(led, LOW);
  }
  lcd.setCursor(0, 0);
  lcd.print("A0:");
  lcd.setCursor(3, 0); 
  lcd.print(value_A0); 
  
  lcd.setCursor(0, 1); 
  lcd.print("D0:");
  lcd.setCursor(3, 1); 
  lcd.print(value_D0); 
  
  delay(500);
}

کد کامل پروژه

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
#define sensorPin A0
#define D0 8
#define led 9

void setup() {
  pinMode (D0, INPUT);
  pinMode (led, OUTPUT);
  lcd.begin(16, 2);
  lcd.clear();
  lcd.print(" amokh.ir");
  delay(2000);
  lcd.clear();
}

void loop() {
  if (value_D0 == HIGH)  
  {            
    digitalWrite(led, HIGH);
  } 
  else
  {
   digitalWrite(led, LOW);
  }
  lcd.setCursor(0, 0);
  lcd.print("A0:");
  lcd.setCursor(3, 0); 
  lcd.print(value_A0); 
  
  lcd.setCursor(0, 1); 
  lcd.print("D0:");
  lcd.setCursor(3, 1); 
  lcd.print(value_D0); 
  
  delay(500);
}

پایان آموزش آردوینو  ( قسمت بیست و سوم – TCRT5000)

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

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

قبلا حساب کاربری ایجاد کرده اید؟
گذرواژه خود را فراموش کرده اید؟
Loading...