uzaklik

HC-SR04 Ultrasonic Sensörü ve Arduino ile uzaklık ölçmek

Mustafa Sayan Beyin yaptığı bu projeyi paylaşmak boynumuzun borcu .Öncelikle kısaca kendisinden bahsedeyim. Mustafa bey 1951 doğumlu ve arduinoya merak salan biri

Kendi anlatımıyla projemiz ;

 İnternette gezinirken rastladığım  dosyaları ve çalışma görüntüleri eklenmiş bir uygulamayı yararlı olması dileklerimle göndermekteyim. Umarım yararlı olur. İyi çalışma dileklerimle.

uzaklik

Programımız.

#include <LCD5110_Graph.h>
// Bu kütüphaneyi yükledikten sonra projeyi rahatlıkla gerçekleştirebilirsiniz.
// www.arduinom.org      Mustafa Sayan beye teşekkürler
#define echoPin 3 // Echo Pin
#define trigPin 2 // Trigger Pin

LCD5110 lcd(8,9,10,11,12);

extern unsigned char BigNumbers[];
extern uint8_t ui[];

int maximumRange = 2500; // en uzak mesafe 
int minimumRange = 1; // en kısa mesafe 
long duration, distance; // uzaklık ölçmek için gerekli zaman 


String distanceString = "0";

void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
lcd.InitLCD();
lcd.setFont(BigNumbers);
}

void loop() {
int stringLength = 0;

lcd.clrScr();
lcd.drawBitmap(0, 0, ui, 84, 48);
distanceString = readSensor();

stringLength = distanceString.length();
printDistance(stringLength);
lcd.update();
delay(50);
}

void printDistance(int length)
{
switch(length)
{
case 1:  lcd.print(distanceString,38,19); break;
case 2:  lcd.print(distanceString,24,19); break;
case 3:  lcd.print(distanceString,10,19); break;
default:  lcd.print(distanceString,0,19); break;
}
}

String readSensor()
{
String distanceS = "0";
digitalWrite(trigPin, LOW);
delayMicroseconds(2);

digitalWrite(trigPin, HIGH);
delayMicroseconds(10);

digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);

distance = duration/58.2;
distanceS = String(distance);
if(distance>maximumRange || distance<minimumRange)
{
distanceS = "---";
}

delay(50);
return distanceS;
}

  1. admin 14 Eylül 2015 07:40

    Mustafa sayan bey . Projenizi paylastiginiz icin cok tesekkurler .

    Cevapla

Bir Cevap Yazın

Time limit is exhausted. Please reload CAPTCHA.