Merhaba arkadaşlar serimin 4. konusu ile devam ediyorum.
bu konuda bir önceki sensörümüz ile mesafeye göre led yakacağız
aşağıda kullandığım sensörün bilgilerini ve linkini de bırakacağım.
sensörümüz 3. konumdaki HC-SR04 sensörü ile aynıdır.
2cm'den 400cm'ye kadar 3mm hassasiyetle ölçüm yapabilen bir ultrasonik sensör çeşididir.
Uzaklık okuma, radar ve robot uygulamalarında kullanılabilir.
satış linki (alternatif yerlerde bulunmaktadır)
Çalışma mantığı:
DEVRE ŞEMASI:
MESAFE SENSÖRÜ
LEDLER:
Devre sistemimiz hazır olduğuna göre artık kodlarımızı yazmaya başlayabiliriz
C:
const int trigPin = 9;
const int echoPin = 10;
long duration;
int distance;
void setup() {
//US
pinMode(trigPin, OUTPUT); // sensör çıkış
pinMode(echoPin, INPUT); // sensör giriş
Serial.begin(9600); //
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
}
void loop() {
// temizler
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// trigpin okur
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// echopin okur mikrosaniye cinsi
duration = pulseIn(echoPin, HIGH);
// MESAFE HESAPLAMA
distance= duration*0.034/2;
// Mesafeyi ledlerle ifade etme
digitalWrite(2,1);
digitalWrite(3,1);
digitalWrite(4,1);
digitalWrite(5,1);
digitalWrite(6,1);
digitalWrite(7,1);
if(distance > 5) digitalWrite(2,0);
if(distance > 10) digitalWrite(3,0);
if(distance > 15) digitalWrite(4,0);
if(distance > 20) digitalWrite(5,0);
if(distance > 25) digitalWrite(6,0);
if(distance > 30) digitalWrite(7,0);
delay(200);
}
Okuduğunuz için teşekkür ederim.
bir sonraki konuyu siz seçin:
Aynı sensör ile radar mı?
Hava sıcaklığı sensörü mü?