Arduino ile nesne algılayınca LED'in yanması

555370

Centipat
Katılım
21 Haziran 2022
Mesajlar
44
Öncelikle selam, bir Arduino projesi için yardımınıza ihtiyacım var.
Başlıktaki gibi mesafe algılayıcı sensör (HC-SR04) ile bir proje yapacağım.
Kısaca mesafe sensörü bir nesne algılamazken kırmızı, bir nesne algıladığında ise yeşil yanmasını sağlamak istiyorum.
Nasıl yapacağım konusunda yardımcı olursanız sevinirim. Teşekkürler.
 
Loop kullanmanız gerekmekte. Sensörün kullanımını biliyor musunuz? Ona göre kod atacağım.
 
Kabloları nasıl bağlamam gerektiği ile ilgili çok bilgim yok. Arduino ile çok uğraşmamıştım daha önce 3D yazıcılar ile uğraştığım için. Okulda bir hocam istedi bende olur dedim ancak dediğim gibi çok fazla bilgi sahibi değilim.
 
Kabloları nasıl bağlamam gerektiği ile ilgili çok bilgim yok. Arduino ile çok uğraşmamıştım daha önce 3D yazıcılar ile uğraştığım için. Okulda bir hocam istedi bende olur dedim ancak dediğim gibi çok fazla bilgi sahibi değilim.
Breadboardınız var mı?
 
1686480934967.png

Biraz uğraştırdı. Devreyi bu şekilde tasarlayın.

C++:
const int trigPin = 2;    // Ultrasonik sensörün trig pini
const int echoPin = 3;    // Ultrasonik sensörün echo pini
const int greenLedPin = 4;  // Yeşil LED'in bağlı olduğu pin
const int redLedPin = 5;    // Kırmızı LED'in bağlı olduğu pin

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(greenLedPin, OUTPUT);
  pinMode(redLedPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  // Ultrasonik sensörden mesafe ölçümü
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  long duration = pulseIn(echoPin, HIGH);
  int distance = duration * 0.034 / 2;

  // Sensörün algıladığı mesafeleri görmek için
  Serial.print("Mesafe: ");
  Serial.print(distance);
  Serial.println(" cm");

  // Mesafe 10 cm'den daha kısa ise yeşil LED'i yak, aksi halde kırmızı LED'i yak ama alttaki 10 sayısı değiştiğirirseniz santimde öyle değişir
  if (distance < 10) {
    digitalWrite(greenLedPin, HIGH);
    digitalWrite(redLedPin, LOW);
  } else {
    digitalWrite(greenLedPin, LOW);
    digitalWrite(redLedPin, HIGH);
  }

  delay(500);  // Ölçümler arasında 0.5 saniye bekleme yapıyor
}

Bu şekil deneyip sonuçları atın. Hata olursa bakarım.
 
Teşekkürler.

Sketch uses 3182 bytes (9%) of program storage space. Maximum is 32256 bytes.
Global variables use 200 bytes (9%) of dynamic memory, leaving 1848 bytes for local variables. Maximum is 2048 bytes.
Failed uploading: no upload port provided
Arduino'nun programını kurdum ama kodu yüklerken bu hatayı ver Arduinonun klon olması ile bir alakası varmı acaba.
 
Son düzenleme:
Teşekkürler.

Sketch uses 3182 bytes (9%) of program storage space. Maximum is 32256 bytes.
Global variables use 200 bytes (9%) of dynamic memory, leaving 1848 bytes for local variables. Maximum is 2048 bytes.
Failed uploading: no upload port provided
Arduino'nun programını kurdum ama kodu yüklerken bu hatayı ver Arduinonun klon olması ile bir alakası varmı acaba.
Çok fazla yük yüklenmiş gibi. Evet olabilir. Bellek yetersiz geliyor olabilir. Pinler doğru takıldı mı?

İnternetten baktım. Yanlış olarak kurmuşsunuz driveri. Veya doğru kurduysanız bilgisayarı yeniden başlatmalısınız.
 

Geri
Yukarı