Bu uygulamada Arduino Uno ile HC-SR04 Ultrasonik sensör kullanarak 5 adet LED ile 20cm-100cm arasındaki mesafenin seviyesini gösteren uygulama yaptık. 20cm’den küçük olduğunda ve 100cm’den büyük olduğunda bütün ledler sönük olacaktır.
Ultrasonik sensör ile ilgili ayrıntılı bilgi için;
https://elektrokod.wordpress.com/2014/01/17/ultrasonik-mesafe-sensoru-uygulamasi/
Arduino Kodları
#define TETIK 9 #define YANKI 8 long sure, mesafe; byte seviye; void setup() { pinMode(TETIK,OUTPUT); pinMode(YANKI,INPUT); DDRD |=0xF8; // Seviye göstergesi için ledler çıkış olarak ayarlandı Serial.begin(9600); } void loop() { digitalWrite(TETIK,HIGH); delayMicroseconds(10); digitalWrite(TETIK,LOW); while(!(PORTB|=1<<0)); // Echo pini LOW da kaldığı sürece bekle sure=pulseIn(YANKI,HIGH); mesafe=(sure*34)/2000; Serial.print(mesafe);Serial.print("\t"); seviye=map(mesafe,0,100,0,6); Serial.println(seviye); switch(seviye) { case 0: PORTD&=0x03;break; case 1: PORTD&=0x03;PORTD|=0x08;break; case 2: PORTD&=0x03;PORTD|=0x18;break; case 3: PORTD&=0x03;PORTD|=0x38;break; case 4: PORTD&=0x03;PORTD|=0x78;break; case 5: PORTD&=0x03;PORTD|=0xF8;break; default:PORTD&=0x03;break; } delay(100); }
Kaynaklar:
https://howtomechatronics.com/tutorials/arduino/ultrasonic-sensor-hc-sr04/