Sharp tarafından geliştirilen bu popüler sensör analog çıkışa sahip olmakla birlikte 2.25 V çıkışında 4cm ölçümünü ve 0.4V çıkışında ise 30 cm mesafeyi algılamaktadır.
Dökümanındaki tipik değerler tablosunu incelediğimizde ve bu tablodaki voltaj değerlerini uzaklık cinsine çevirdiğimizde (bu sensör minimum 4cm ve maksimum 30cm algılayabileceğini gözönünde bulundurunuz) şu formülü elde edeceğiz :
uzaklık = (2914 / ( okunanADCDeger + 5)) – 1;
Bağlantı Şeması:
Arduino Kodları:
<br />//Infrared Mesafe Algılama Sensörü - Sharp GP2D120<br />//3 pini olan modül bir analog çıkışa sahiptir<br /><br />int IRpin = 0; //analog pin 0<br /><br />void setup(){<br /> pinMode(IRpin,INPUT);<br /> Serial.begin(9600);<br />}<br /><br />void loop()<br />{<br /> int val = analogRead(IRpin);<br /> float distance = calculate_distance(val);<br /> Serial.print(distance);<br /> Serial.print("t");<br /> Serial.print("cm");<br /> Serial.println();<br /><br />//just to slow down the output<br /> delay(1000);<br />}<br /><br />float calculate_distance(int readVal)<br />{<br /> //5V / 1024 = 0.0048828125<br /> //Between 4 and 30cm<br /> float volts = (float)readVal * 0.0048828125;<br /> float distance = (2914 / ( readVal + 5)) - 1;<br /> return distance;<br />}<br />
Seri Port Dinlemesi :
Referanslar:
http://www.sharpsma.com/webfm_send/1205
http://www.acroname.com/articles/sharp.html
