Contoh Arduino dan HC-SR04 Mudah

Selepas membeli HC-SR04 dari Amazon, saya tidak dapat menyelesaikannya. Tidak mahu mengakui saya mempunyai sensor DOA di tangan saya, saya mencari persediaan contoh mudah. Selepas menghabiskan terlalu lama ini daripada saya merasakan saya perlu, saya membuat keputusan untuk membuat pengajaran ini untuk membantu peminat baru muncul mendapatkan projek mereka dari tanah.

Saya mengakui contoh ini lebih daripada tulang telanjang kerana ia mempunyai LED, tetapi ini membolehkan saya mengujinya tanpa memerlukan PC untuk menunjukkan jarak dan memeriksa ketepatan sensor.

Langkah 1: Senarai Bahagian

Arduino UNO R3 (saya gunakan gunung Adafruit)
Satu (1) Sensor ultrasonik HC-SR04
Satu (1) LED Merah
Satu (1) LED Hijau
Dua (2) 560 ohm (Hijau, Biru, Coklat, Emas) Resistor
Separuh Breadboard
Lapan (8) wayar penyambung lelaki / lelaki
Seorang pemerintah yang mengukur sentimeter (atau menggunakan monitor siri)

Langkah 2: Sambungkan Komponen

Sambungkan komponen dan wayar seperti yang ditunjukkan dalam dua gambar.

Langkah 3: Muat naik Lakaran

Salin lakaran ke Arduino anda dan nonton lampu berkelip.


/ *
HC-SR04 Ping jarak sensor]
VCC untuk arduino 5v GND untuk arduino GND
Echo ke Arduino pin 13 Trig ke pin Arduino 12
POS Merah kepada pin Arduino 11
POS Hijau untuk pin Arduino 10
560 ohm perintang kepada kedua-dua LED NEG dan GRD power rail
Maklumat lanjut di: //goo.gl/kJ8Gl
Peningkatan kod asal kepada lakaran Ping yang diperoleh dari Trollmaker.com
Sesetengah kod dan pendawaian diilhamkan oleh //en.wikiversity.org/wiki/User:Dstaub/robotcar
* /

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

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

kekosongan gelung () {
tempoh yang panjang, jarak;
digitalWrite (trigPin, LOW); // Menambah baris ini
delayMicroseconds (2); // Menambah baris ini
digitalWrite (trigPin, TINGGI);
// delayMicroseconds (1000); - Dihapuskan baris ini
delayMicroseconds (10); // Menambah baris ini
digitalWrite (trigPin, LOW);
tempoh = pulseIn (echoPin, HIGH);
jarak = (tempoh / 2) / 29.1;
jika (jarak <4) {// Di sinilah LED On / Off yang berlaku
digitalWrite (diketuai, TINGGI); // Apabila keadaan Merah dipenuhi, LED Hijau harus dimatikan
digitalWrite (led2, LOW);
}
lain {
digitalWrite (led, LOW);
digitalWrite (led2, HIGH);
}
jika (jarak> = 200 || jarak <= 0) {
Serial.println ("Daripada lingkungan");
}
lain {
Serial.print (jarak);
Serial.println ("cm");
}
kelewatan (500);
}

Lampiran

  • Muat turun Code.txt

Artikel Berkaitan