dominoFiber     domiRobot     Forum


Projeler - Boy Ölçer

Arduino Boy Ölçer Uygulaması
Bu projemizde HC SR-04 mesafe sensörü kullanarak boy ölçer yapacağız. Boy bilgisi 16x2 lcd ekranda görüntülenecektir.

Amaç
Boy ölçer yapma becerisi kazanmak.

Seviye:
Orta seviye

Şema 1: Boy ölçer fritzing devre şeması

Arduino kodları
Kod: [Seç]
#include <LiquidCrystal.h>                // likid kristal kutuphanesi eklendi
LiquidCrystal lcd(8,9,4,5,6,7);           // likid kristal pinleri
#define echoPin 2                         // eko pini D2
#define trigPin 3                         // tetik pini D3
#define buton 13                          // buton pini D13
long sure, kalibre_mesafesi, cisim_ile_sensor_arasindaki_mesafe, boy;

void setup()
{
  pinMode(echoPin, INPUT);
  pinMode(trigPin,OUTPUT);
  acilis_iletisi();
  kalibre_et();
}

void loop()
{
  olcumu_baslat();
  if(digitalRead(buton) == 1)
  {
    olcum_yap();
    sure_hesapla();
    cisim_ile_sensor_arasindaki_mesafeyi_hesapla();
    boy_hesapla();   
  }
}

void acilis_iletisi()
{
  lcd.begin(16,2);
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("BOY OLCER       ");
  lcd.setCursor(0,1);
  lcd.print("4006 BiLiM FUARI");
  delay(1500); 
}

void kalibre_et()
{
  digitalWrite(trigPin, LOW);
  delayMicroseconds(5);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin,LOW);
  sure = pulseIn(echoPin, HIGH);
  kalibre_mesafesi = sure / 29.1 / 2;
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("KALiBRASYON");
  lcd.setCursor(0,1);
  lcd.print("YAPILDI");
  delay(1000);
}

void olcumu_baslat()
{
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("BOYUNUZU OLCMEK");
  lcd.setCursor(0,1);
  lcd.print("iCiN BUTON BASIN");
  delay(200);   
}


void olcum_yap()
{
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("BOYUNUZ");
    lcd.setCursor(0,1);
    lcd.print("OLCULUYOR");   
    delay(1000); 
    digitalWrite(trigPin, LOW);
    delayMicroseconds(5);
    digitalWrite(trigPin, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPin,LOW);       
}


void sure_hesapla()
{
  sure = pulseIn(echoPin, HIGH);                          // Eko pini 5V gelmesinden itibaren süre ölç sure degiskenine kaydet
}


void cisim_ile_sensor_arasindaki_mesafeyi_hesapla()
{
  cisim_ile_sensor_arasindaki_mesafe = sure / 29.1 / 2;       
}


void boy_hesapla()
{
  boy = kalibre_mesafesi - cisim_ile_sensor_arasindaki_mesafe;
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("BOYUNUZ ");
  lcd.print(boy);
  lcd.print(" cm ");
  lcd.setCursor(0,1);
  lcd.print("OLARAK OLCULDU  ");   
  delay(5000);       
}

Malzeme listesi

Download
İhtiyaç duyulması halinde projeye ait dosyaları buraya tıklayıp indirebilirsiniz.

Yorumlar ve sorularınız için forum sitemizdeki konudan faydalanabilirsiniz.



16x2 LCD Ekran satın al

  • 16x2 LCD Ekran Satın Al16x2 LCD Ekran Satın Al16x2 LCD Ekran Satın Al

Arduino uno R3 satın al

  • Arduino uno R3<br /> satın alArduino uno R3<br /> satın alArduino uno R3<br /> satın al