اندازه گیری سطح آب با آردوینو و سنسور JSN SR-40T
محتویات
حسگر اولتراسونیک (به عنوان سنسور SONAR نیز شناخته می شود) وسیله ای الکترونیکی است که برای اندازه گیری فاصله جسم هدف با انتشار امواج فراصوت مورد استفاده قرار می گیرد. به غیر از اندازه گیری فاصله ، برای ردیابی اجسام و ربات های عدم برخورد با مانع نیز استفاده می شود. پیش از این ، ما برای اندازه گیری فاصله و سایر پروژه ها از سنسور التراسونیک HC-SR04 به همراه آردوینو و سایر میکروکنترلرها استفاده کردیم. استفاده از این سنسور آسان و قیمت آن کم است. اما این سنسور محدودیت منفی هم دارد. یکی از آنها این است که نمی توان از این سنسورها در پروژه هایی که شامل آب هستند استفاده کرد.
در این آموزش ، ما در مورد یک سنسور اولتراسونیک ضد آب جدید به نام JSN SR-04T بحث خواهیم کرد. در طول این آموزش ، ما خواهیم فهمید که سنسور اولتراسونیک ضد آب JSN SR-04T چگونه کار می کند ، ویژگی ها و مشخصات آن چیست و نحوه راه اندازی آن با Arduino Nano چگونه است.
سنسور التراسونیک ضد آب JSN SR-04T
JSN-SR0T4 یک ماژول سنسور اندازه گیری فاصله اولتراسونیک ضد آب است که می تواند اندازه گیری فاصله (بدون تماس( 25 سانتی متر تا 450 سانتی متر را با دقت 2 میلی متر ارائه دهد. این ماژول سنسور در دو قسمت مجزا وجود دارد ، یکی مبدل است که عنصر سنجش است و دیگری صفحه کنترل است. این سنسور بسیار شبیه سنسورهای فراصوت است که در سپر اتومبیل استفاده می شود.
ماژول سنسور JSN SR-04T دارای طراحی صنعتی پروب سنجش التراسونیک، مقاومت در برابر آب ، عملکرد پایدار و دقت بالا است. می تواند در دامنه های افقی ، جلوگیری از برخورد با مانع ، کنترل خودکار ، نظارت بر اشیا و حرکت آنها ، کنترل ترافیک ، امنیت و هوش مصنوعی و سایر برنامه ها مورد استفاده قرار گیرد.
پین های سنسور JSN SR-04T
Pin No. | Pin Name | توضیحات |
1 | 5V | پایه ولتاژ 5 ولت سنسور |
2 | Trig | پایه ورودی سنسور. این پین باید برای 10 میکرو ثانیه بالا نگه داشته شود تا با ارسال امواج مافوق صوت ، اندازه گیری انجام شود. |
3 | Echo | پین خروجی اکو. این پین برای دوره ای بالا می رود که برابر با مدت زمان بازگشت موج فراصوت به سنسور خواهد بود. |
4 | Gnd | این پین به Ground سیستم متصل است. |
ماژول سنسور JSN SR-04T مشابه HC-SR04 است ، اما در مقایسه با HC-SR04 پیشرفت هایی دارد:
- بر خلاف HC-SR04، سنسور JSN SR-04T مبدل لحیم کاری شده روی PCB را ندارد. در عوض ، این سنسور به یک کابل خارجی بسیار بلند (2.5 متری) متصل شده است ، بنابراین می توانید عنصر سنجش را از مدار کنترل دور کنید.
- این سنسور در یک محفظه ضد آب قرار دارد، اگر بخواهید آن را در محیط های سخت تر قرار دهید، ممکن است مفید باشد.
با تمام این مزایا ، معایبی نیز دارد. حداقل فاصله ای که این سنسور می تواند اندازه گیری کند 20 سانتی متر در مقایسه با 2 سانتی متر HC-SR04 است. دلیل این امر این است که JSN SR-04T فقط یک مبدل دارد. این سنسور از مبدل مشابه برای انتقال و دریافت سیگنال استفاده می کند بنابراین برای تغییر حالت از حالت دیگر به زمان نیاز دارد. به همین دلیل سنسور JSN SR-04T نمی تواند زیر 20 سانتی متر اندازه گیری کند اما HC-SR04 می تواند اندازه گیری کند زیرا دارای فرستنده و گیرنده جداگانه است.
مشخصات و ویژگی های سنسور التراسونیک ضد آب JSN SR-04T:
- ولتاژ کاری: 5 ولت DC
- جریان کار ثابت: 5 میلی آمپر
- جریان کار: 30 میلی آمپر
- فرکانس انتشار صوتی: 40 کیلوهرتز
- محدوده عملکرد: 25 سانتی متر تا 4.5 متر
- طول کابل: 2.5 متر
مدار اتصال JSN SR-04T به آردوینو
شماتیک کامل مدار برای سنسور اولتراسونیک ضد آب JSN SR-04T با Arduino در زیر آورده شده است:
این پروژه شامل مقدار کمی سیم کشی است. هر دو ماژول با GND و 5V تغذیه می شوند ، پایه های سنسور اولتراسونیک Trigger و Echo به D2 و D3 آردوینو متصل می شوند. اتصالات LCD به طور کامل در جدول زیر آورده شده است.
LCD | آردوینو |
VSS | GND |
VDD | 5V |
VO | پتانسیومتر |
RS | D12 |
RW | GND |
E | D11 |
D4 | D4 |
D5 | D5 |
D6 | D6 |
D7 | D7 |
A | 5V |
K | GND |
قطعات مورد نیاز
- آردوینو نانو
- سنسور التراسونیک ضد آب JSN SR-04T
- ال سی دی کاراکتری LCD 16*2
- برد بورد
سخت افزار من در نهایت به این شکل بود:
برنامه نویسی آردوینو برای سنسور التراسونیک ضد آب
کد کامل راه انازی سنسور اولتراسونیک ضد آب JSN SR-04T با Arduino را می توانید در انتهای صفحه دانلود کنید. در اینجا قسمت های مهم کد را توضیح میدهیم.
طبق معمول ، کد را با درج تمام کتابخانه های مورد نیاز شروع میکنیم. در اینجا ، ما فقط از کتابخانه LiquidCrystal.h استفاده می کنیم. این کتابخانه برای کنترل LCD کاراکتری با استفاده از یک برد Arduino استفاده می شود. از این کتابخانه می توان برای سیم کشی ال سی دی در حالت 4 بیتی و 8 بیتی استفاده کرد.
#include<LiquidCrystal.h>
سپس در خط بعدی پین های آردوینو را که به LCD متصل می شوند تعریف میکنیم.
LiquidCrystal lcd(12, 11, 5, 6, 7, 8);
سپس پین Trig و echo را برای سنسور التراسونیک تعریف میکنیم. ما پایه Trig را به پایه D2 آردوینو و پایه echo را به پایه D3 آردوینو وصل کرده ایم.
#define ECHOPIN 3 #define TRIGPIN 2
در داخل تابع setup () ، پین Trig را به عنوان یک خروجی و پین echo را به عنوان ورودی تعریف میکنیم و همچنین ارتباط سریال را با نرخ 9600 برای نمایش نتایج در سریال مانیتور شروع کرده و ستون و ردیف ال سی دی را تعریف میکنیم.
void setup() { Serial.begin(9600); lcd.begin(16, 2); pinMode(ECHOPIN,INPUT_PULLUP); pinMode(TRIGPIN, OUTPUT); digitalWrite(ECHOPIN, HIGH); }
در loop، ابتدا پین trig را به مدت 2 میکرو ثانیه در حالت کم (Low) قرار میدهیم تا از Low بودن پایه trig اطمینان حاصل کنیم. سپس پین trig را برای 15 میکروثانیه در حالت HIGH تنظیم میکنیم تا یک موج التراسونیک ارسال شود. ما از تابع pulseIn برای خواندن زمان ارسال و دریافت موج استفاده میکنیم و آن مقدار را در متغیر “duration” ذخیره خواهیم کرد. در پایان ، ما مقدار فاصله را در سریال مانیتور چاپ خواهیم کرد.
void loop() { digitalWrite(TRIGPIN, LOW); delayMicroseconds(2); digitalWrite(TRIGPIN, HIGH); delayMicroseconds(15); digitalWrite(TRIGPIN, LOW); int distance = pulseIn(ECHOPIN, HIGH, 26000); distance=distance/58; Serial.print(distance);
آزمایش سنسور اولتراسونیک ضد آب JSN SR-04T
پس از آماده شدن کد و سخت افزار ، Arduino را به لپ تاپ متصل کرده و کد را بارگذاری کنید. بعد از آن ، مانیتور سریال را با نرخ باود 9600 باز کنید و چیزی را جلوی سنسور قرار دهید. فاصله محاسبه شده بر روی صفحه نمایش LCD نمایش داده می شود.
موارد موجود در فایل : سورس کامل
برای دانلود فایل ها باید حساب کاربری داشته باشید ثبت نام / ورود
سلام
ممنون بابت سایت خوبتان
ببخشید میشه بجای اردوینو نانو از مینی استفاده کنم ؟؟؟؟
سلام عزیز، بله