ماژول تشخیص مسافت ضد آب آلتراسونیک

UL-WP05V یک ماژول عالی برای سنجش مسافت در پروژهای شما می باشد، نوع سنسور استفاده شده در این ماژول به شما این امکان را می دهد تا با قرار دادن برد ماژول در یک محفظه ضد آب به راحتی در ربات و یا پروژه خود یک مسافت یاب ضد آب داشته باشید ، اما دقت کنید که محفظه آن باید طوری طراحی شود که فقط برد را پوشش دهد و سنسور آلتراسونیک بیرون از محفظه قرار گیرد، خود سنسور کاملا ضد آب و ضد رطوبت می باشد می توانید حتی در زیر باران نیز مورد استفاده قرار قرار گیرد. راه اندازی این ماژول با کمک بردهای آردوینو بسیار ساده می باشد ، کافی است نمونه کدها را از انجمن دریافت نموده و در محیط برنامه نویسی آردوینو کپی نمایید. همچنین پتانسومتر روی ماژول به شما این امکان را می دهد بدون نیاز به هیچ میکروکنترلری فاصله مطلوب خود را با تغییر پتانسیومتر تعیین نموده و پین OC یا Open Collector را به یک رله یا سویچ متصل نمایید ، در این حالت در صورتی که مسافت تشخیص داده شده توسط ماژول از آستانه تعیین شده توسط پتانسیومتر کمتر یا بیشتر شود وضعیت پین OC نیز تغییر خواهد نمود و به عنوان مثال دستگاه مورد نظر شما با کمک رله روشن یا خاموش خواهد شد.

مشخصات فنی:

ولتاژ کاری : 5 تا 12 ولت DC
جریان ثابت : 6 میلی آمپر
محدوده قابل تشخیص : 350mm-3000mm
پین ها : VCC (5.0-12V), ECHO, TRIG, OC, GND



مثال آردوینو :

کد:
/*
 # Be name Khoda!
 # Example code for the humidity/temperature sensor - DHT11
 # Company    : AftabRayaneh
 # Website    : http://shop.aftabrayaneh.com
 # Developer  : Reza Najafi
 # Date       : 01.04.2013
 # Version    : 1.2
  VCC (5.0-12V), ECHO, TRIG, OC, GND
 Connect pin VCC  to arduino +5V
 Connect pin Trig to arduino Digital 2
 Connect pin Echo to arduino Digital 4
 Connect pin GND  to arduino GROUND
 */
const int trigPin = 2;
const int echoPin = 4;

void setup() {
  // initialize serial communication:
  Serial.begin(9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}

void loop()
{
  int distance =  get_distance();
  if(distance>0)
  {
    Serial.print(distance);
    Serial.print("cm");
    Serial.println();
  }
  else
  {
     Serial.println("Time Out");
  }
  
    delay(500);  
}


long microsecondsToCentimeters(long microseconds)
{
  long distance;
  distance = (0.34 *(microseconds-250)/2)+30;
  distance=distance/10;

  return distance;
}

long get_distance()
{
  int echo ,duration; 
  long t2,t1;
  digitalWrite(trigPin, LOW);
  delayMicroseconds(100);
  digitalWrite(trigPin, HIGH);
  echo=HIGH;
  duration=0;
  t1 = micros();
  while(echo && duration<20000)
  {
    echo=digitalRead(echoPin);
    t2 = micros();
    duration = t2-t1;
  }
  if(duration<20000) 
    return microsecondsToCentimeters(duration);
  else
    return 0;
}
جهت سفارش این کالا، به این بخش در فروشگاه آفتاب رایانه مراجعه نمایید.