ماژول فرستنده گیرنده IR Tracking Module با سنسور TCRT5000 transmitter
ماژول فرستنده گیرنده IR Tracking Module با سنسور TCRT5000 transmitter
سنسور TCRT5000 یک نوع سنسور اپتیکال است که برای تشخیص فاصله و ترکیب لیزر و اینفرارد بکار میرود. این سنسور اپتیکال شامل یک جفت امیتر و گیرنده است که از دیود اشعه تحت قرار گرفتهاند و بر روی یک برشی از PCB (برد مدار چاپی) نصب میشوند.اصل کار سنسور TCRT5000 به این صورت است که امیتر، اشعه اینفرارد را ایجاد کرده و به طور پیوسته تابانده میکند. اگر اشیاء یا سطوحی از این اشعه عبور کنند و بر روی گیرنده بیافتند، این شعاع به کاهش مییابد. گیرنده با شناسایی کاهش شدت اشعه، تغییرات فاصله را تشخیص میدهد.
مشخصات فنی سنسور TCRT5000
- نوع سنسور: اپتیکال (شامل امیتر و گیرنده اینفرارد)
- ماکزیمم ولتاژ تغذیه: بین 3 ولت تا 5 ولت
- جریان مصرفی: در حدود 20 میلیآمپر
- خروجی: دیجیتال (خروجی متصل به خروجی دیجیتال یک میکروکنترلر یا مدار منطقی)
- رنج تشخیص فاصله: تا 5 میلیمتر تا 15 میلیمتر، اما این مقدار ممکن است بسته به شرایط محیطی و کیفیت سنسور تغییر کند.
- جریان خروجی: در حدود 100 میلیآمپر (میتواند به عنوان منبع جریان برای LED یا بخشی از مدار استفاده شود).
- مادون قرمز: از نوع IR LED با طول موج حدود 950 نانومتر.
- محدوده دمای عملکرد: بین -25 درجه سانتیگراد تا +85 درجه سانتیگراد.
ّبررسی پایه های سنسور TCRT5000
- پایه سیگنال SIG برای دریافت داده
- پایه VCC تغذیه
- پایه GND
به همراه سنسور TCRT5000 چه اقلامی باید خریداری شود؟
- برد آردوینو
- کابل فلت
- بردبورد
- نمایشگر
راه اندازی سنسور TCRT5000 با آردوینو
در ادامه یک برنامه ساده برای Arduino است که از سنسور TCRT5000 استفاده شده است.
const int sensorPin = A0;: این خط متغیر sensorPin را به پین آنالوگ A0 اختصاص میدهد. این پین از جهت خواندن مقدار آنالوگی که توسط سنسور TCRT5000 ارسال میشود، استفاده میشود.void setup(): این تابع، بخشی از برنامه Arduino است که به صورت یکبار اجرا میشود و تنظیمات اولیه را انجام میدهد.Serial.begin(9600);: این دستور ارتباط سریال را با نرخ 9600 بیت بر ثانیه برای ارتباط با کامپیوتر یا مانیتور سریال آماده میکند. این باید با نرخ بود کامپیوتر هماهنگ شود.void loop(): این تابع همچون مینویس که به صورت پیوسته اجرا میشود و برنامه اصلی را پیادهسازی میکند.int sensorValue = analogRead(sensorPin);: این دستور مقدار آنالوگی موجود در پین A0 را خوانده و در متغیر sensorValue ذخیره میکند.Serial.print("مقدار سنسور: ");: این دستور متن "مقدار سنسور: " را در مانیتور سریال چاپ میکند، اما هنوز خط جدید نمیزند.Serial.println(sensorValue);: این دستور مقدار آنالوگی سنسور (ذخیره شده در sensorValue) را در مانیتور سریال نمایش میدهد و خط جدید میزند.delay(100);: این دستور تاخیر 100 میلیثانیهای ایجاد میکند، تا از خواندنها با فرکانس بالا جلوگیری کند و مانع از اضافه شدن مقادیر زائد در مانیتور سریال شود.
// تنظیمات پینهای سنسور TCRT5000
const int sensorPin = A0; // سنسور TCRT5000 را به پین آنالوگ A0 وصل کنید
void setup() {
Serial.begin(9600); // مقداردهی اولیه ارتباط سریال با کامپیوتر
}
void loop() {
// خواندن مقدار سنسور
int sensorValue = analogRead(sensorPin);
// نمایش مقدار سنسور در مانیتور سریال
Serial.print("مقدار سنسور: ");
Serial.println(sensorValue);
// تاخیر کوچکی قبل از خواندن مقدار بعدی
delay(100);
}
راه اندازی سنسور TCRT5000 با میکروپایتون
در ادامه روش راه اندازی سنسور TCRT5000 با میکروپایتون نوشته شده است. کد تحلیل شده است. from machine import ADC: این خط دستوری است که ماژول ADC (تبدیل کننده آنالوگ به دیجیتال) از ماژول machine را ایمپورت میکند. این ماژول به ما اجازه میدهد تا از ADC برای خواندن مقادیر آنالوگی استفاده کنیم.import time: این خط دستوری است که ماژول time را ایمپورت میکند. این ماژول به ما اجازه میدهد از توابع مربوط به زمان مثل time.sleep_ms() استفاده کنیم.sensorPin = 34: این خط متغیر sensorPin را به مقدار 34 تنظیم میکند که نشاندهنده پین GPIO که سنسور TCRT5000 به آن متصل شده است، است.adc = ADC(Pin(sensorPin)): این خط متغیر adc را به یک شیء از کلاس ADC میسازد و آن را به پین مشخصشده sensorPin متصل میکند. این شیء به ما امکان خواندن مقادیر آنالوگی از سنسور را میدهد.while True:: این یک حلقه بینهایت (infinite loop) است که برنامه را به صورت پیوسته اجرا میکند.sensorValue = adc.read(): این خط مقدار آنالوگی از سنسور را با استفاده از شیء adc خوانده و آن را در متغیر sensorValue ذخیره میکند.print("مقدار سنسور:", sensorValue): این خط مقدار آنالوگی سنسور را که در متغیر sensorValue ذخیره شده است، در REPL MicroPython نمایش میدهد.time.sleep_ms(100): این خط باعث تاخیر 100 میلیثانیهای میشود تا از خواندنها با فرکانس بالا جلوگیری کند و مقادیر زائد در REPL MicroPython ایجاد نشود.
from machine import ADC
import time
# تنظیمات پینهای سنسور TCRT5000
sensorPin = 34 # سنسور TCRT5000 را به پین GPIO 34 وصل کنید
# ایجاد یک شیء ADC برای خواندن مقادیر آنالوگی
adc = ADC(Pin(sensorPin))
while True:
# خواندن مقدار سنسور
sensorValue = adc.read()
# نمایش مقدار سنسور در REPL MicroPython
print("مقدار سنسور:", sensorValue)
# تاخیر کوچکی قبل از خواندن مقدار بعدی
time.sleep_ms(100)
مشخصات
- کاربری
- مناسب برای استفاده شخصی
- نوع ماژول
- IR - اینفرارد
- تعداد قطعات
- 6 عدد
- ابعاد فیبر
- 10 * 42 میلی متر
- تعداد فیبر
- 1 عدد
- سطح تجربه مورد نیاز
- پیشرفته
- ابعاد
- 42x10mm
- نوع ال ای دی
- فرستنده گیرنده
- ولتاژ مورد نياز
- 3.5 تا 5 ولت DC
- فیبر مدار چاپی
- فایبرگلاس
- توان
- فاصله مجاز سنسور 1 تا 8 میلیمتر
- چاپ مس
- دارای چاپ مشکی
- تعداد پایه ها
- 3 پایه
- اقلام همراه محصول
- ندارد
- ترتیب پایه ها
- GND - VCC - S
- کشور سازنده
- چین
- باتری
- ندارد
- محدوده دید
- 0.2 تا 15 میلی متر
- مد کاری
- 950 نانومتر
- اتصال پایه VCC ماژول تشخیص حرکت به ۵ ولت
- اتصال پایه GND ماژول تشخیص حرکت به GND تغذیه
- اتصال پایه OUT ماژول تشخیص حرکت به یک پایه مقاومت یک کیلو اهم و اتصال پایه دیگر مقاومت به پایه بیس ترانزیستور
- اتصال پایه امیتر ترانزیستور به GND
- اتصال پایه کلکتور ترانزیستور به صورت سری با یک مقاومت یک کیلو اهمی به ۵ ولت
- اتصال پایه کلکتور(به تصویر شماتیک دقت کنید) به پایه IN ماژول رله
- اتصال پایه VCC ماژول رله به ۵ ولت
- اتصال پایه GND ماژول رله به GND
بله سنسورهای PIR مدلهای SR501 و SR505 بدون استفاده از میکروکنترلر هم قابل راه اندازی هستند. کافیست قطعات زیر را تهیه کنید. این ماژول دارای یک پایه ورودی به نام IN و یا SIGNAL جهت فعال و یا غیر فعال سازی لامپ متصل به رله است. ماژول رله زمانی عملکرد صحیح خواهد داشت که ولتاژ پایه IN با ولتاژ تغذیه یکسان باشد. از آنجاییکه ولتاژ تغذیه ماژول ۵ بوده و خروجی سنسور تشخیص حرکت ۳٫۳ ولت است، لذا از یک ترانزیستور استفاده می کنیم. این ترانزیستور به شکل یک گیت NOT عمل می کند. زمانیکه ولتاژ ۳٫۳ در ورودی قرار گیرد، خروجی آن ۰ شده و زمانیکه ورودی ۰ در بیس آن قرار گیرد، خروجی ۵ ولت می شود. سپس اتصالات را طبق توضیحات زیر انجام دهید.
امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایههای GPIO قابل اتصال به میکروکنترلرها هستند.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.