Seçilmiş

Atolye

Teknoloji

Ev & Dekorasyon

Mutfak

Oyun

Outdoor

Sanat

HC-SR04 İle Mesafe Ölçümü

Tanıtım: HC-SR04

Bu sensör çok amaçlı, ultrasonik bir sensördür. Bugün nasıl çalıştığını test edeceğiz. Yanımda breadboard'ım olmadığı için direkt arduino üzerine kurdum.+5V yi arduinonun dijital pininden alıyor. Datasheet'te yazdığına göre çalışmak için 15mA yeterliymiş. Ki bu değer atmega 328'in 40mA olan absolute max değerini geçmiyor.

1. Adım: Elektronik Bağlantılar

Arduino'nuza sensör; dışarıya bakacak şekilde, GND bacağı GND'ye; VCC bacağı ise 11 numaralı pine bağlanmalıdır.

Ledlerinizin +bacağını A0 A2 A3 A5 pinlerine bağlayın. GND'yi ise hepsini birlikte 1/4w ~250ohm dirence bağlayın.

2. Adım: Yazılım


#define sensor_VCC 11
#define trig 12
#define echo 13

#define led1 19 //a5 oluyor
#define led2 17
#define led3 16
#define led4 14
long duration, distance;
void setup() {
  // put your setup code here, to run once:
  pinMode(trig, OUTPUT);
  pinMode(echo, INPUT);
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(sensor_VCC, OUTPUT);
  digitalWrite(sensor_VCC,HIGH);
  
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(trig, LOW);  // Added this line
  delayMicroseconds(2); // Added this line
  digitalWrite(trig, HIGH);
  delayMicroseconds(10); // Added this line
  digitalWrite(trig, LOW);
  duration = pulseIn(echo, HIGH);
  distance = (duration/2) / 29.1;
  if (distance < 8) {  // This is where the LED On/Off happens
    digitalWrite(led1,HIGH);
    digitalWrite(led2,HIGH);
    digitalWrite(led3,HIGH);
    digitalWrite(led4,HIGH);  
  }
  else if (distance < 15) {
    digitalWrite(led1,HIGH);
    digitalWrite(led2,HIGH);
    digitalWrite(led3,HIGH);
    digitalWrite(led4,LOW);
  }else if(distance < 30){
    digitalWrite(led1,HIGH);
    digitalWrite(led2,HIGH);
    digitalWrite(led3,LOW);
    digitalWrite(led4,LOW);
  }else if(distance < 45){
    digitalWrite(led1,HIGH);
    digitalWrite(led2,LOW);
    digitalWrite(led3,LOW);
    digitalWrite(led4,LOW);
    
  }else {
    digitalWrite(led1,LOW);
    digitalWrite(led2,LOW);
    digitalWrite(led3,LOW);
    digitalWrite(led4,LOW);
}
  delay(100);
}

Kısmi olarak jsvester adlı arkadaştan kopya çektim. Duyrulur.

3. Adım: Video

Yorumlar.

2840 Görüntülenme

0 Favoriler


coco

Trakya Üniversitesinde İngilizce Öğretmenliği okuyorum. Hobi olarak yazılım ve elektronikle ilgileniyorum. Bu siteyi deneyimlerimi paylaşmak için kullanıyorum. Üye olup sizler de paylaşabilirsiniz.


Bir Söz

“İtiraf ederim ki, düşmanlarımız çok çalışıyor. Biz de onlardan daha çok çalışmaya mecburuz. Çalışmak demek, boşuna yorulmak, terlemek değildir. Zamanın gereklerine göre bilim ve teknik ve her türlü medeni buluşlardan azami derecede yararlanmak zorunluluğudur.”

Tagler

KENDİN YAP MÜHENDİSLİK PROJELERİ PROJE PAYLAŞIN ELEKTRİK ELEKTRONİK MÜHENDİS EVDE YAP PROJE YAP ARDUİNO YAZILIM PCB HAZIRLAMA NE YAPTIK DIY DIY YAPIMI NASIL YAPILIR DEKORASYON DIY FİKİRLERİ

Sosyal Medya

Facebook Instagram