Basit Arduino ve HC-SR04 Örneği

Amazon'dan bir HC-SR04 satın aldıktan sonra kutunun dışında çalıştıramadım. Elimde bir DOA sensörü bulunduğunu kabul etmek istemiyorum, basit bir örnek kurulum aradım. Bunun için ihtiyacım olduğunu düşündüğümden çok fazla zaman geçirdikten sonra, diğer gelişmekte olan tamircilerin projelerini yerden kaldırmasına yardımcı olmak için bunu öğretici yapmaya karar verdim.

Bu örneğin LED'leri olduğu için çıplak kemiklerden daha fazlası olduğunu itiraf ediyorum, ancak bu, mesafeyi göstermek ve sensörün doğruluğunu kontrol etmek için bir PC'ye ihtiyaç duymadan test etmeme izin veriyor.

Adım 1: Parça Listesi

Arduino UNO R3 (Adafruit montajı kullanıyorum)
Bir (1) HC-SR04 Ultrasonik Sensör
Bir (1) Kırmızı LED
Bir (1) Yeşil LED
İki (2) 560 ohm (Yeşil, Mavi, Kahverengi, Altın) Dirençler
Yarım Breadboard
Sekiz (8) Erkek / Erkek bağlantı telleri
Santimetreyi ölçen bir cetvel (veya seri monitörü kullanın)

Adım 2: Bileşenleri Bağlayın

Bileşenleri ve kabloları iki resimde gösterildiği gibi bağlayın.

3. Adım: Çizim'i yükleyin

Eskizi Arduino'nuza kopyalayın ve göz alıcı ışıkları izleyin.


/ *
HC-SR04 Ping mesafe sensörü]
VCC arduino 5v GND'den arduino GND'ye
Echo - Arduino pin 13 Trig - Arduino pin 12
Kırmızı POS - Arduino pin 11
Yeşil POS - Arduino pin 10
LED NEG ve GRD güç rayına 560 ohm direnç
Daha fazla bilgi için: //goo.gl/kJ8Gl
Trollmaker.com kaynaklı Ping taslağında orijinal kod geliştirmeleri
//En.wikiversity.org/wiki/User:Dstaub/robotcar'dan esinlenen bazı kodlar ve kablolar
* /

#define trigPin 13
#define echoPin 12
#define led 11
#define led2 10

void setup () {
Serial.begin (9600);
pinMode (trigPin, OUTPUT);
pinMode (echoPin, INPUT);
pinMode (led, ÇIKIŞ);
pinMode (led2, ÇIKIŞ);
}

void loop () {
uzun süre, mesafe;
digitalWrite (trigPin, LOW); // Bu satırı ekledi
delayMicroseconds (2); // Bu satırı ekledi
digitalWrite (trigPin, YÜKSEK);
// delayMicroseconds (1000); - Bu satır kaldırıldı
delayMicroseconds (10); // Bu satırı ekledi
digitalWrite (trigPin, LOW);
süresi = pulseIn (echoPin, HIGH);
mesafe = (süre / 2) / 29.1;
if (mesafe <4) {// Burası LED Açık / Kapalı olur
digitalWrite (yol, HIGH); // Kırmızı durumu karşılandığında, Yeşil LED kapanmalıdır
digitalWrite (LED2, DÜŞÜK);
}
Başka {
digitalWrite (yol, DÜŞÜK);
digitalWrite (LED2, HIGH);
}
eğer (mesafe> = 200 || mesafe <= 0) {
Serial.println ("Aralık dışı");
}
Başka {
Serial.print (mesafe);
Serial.println ("cm");
}
gecikmesi (500);
}

Ekler

  • Code.txt İndir

İlgi̇li̇ Makaleler