Sensor ultrasonik Arduino: bagaimana mengukur jarak
Dengan Arduino, anda boleh mengukur jarak menggunakan sensor ultrasonik dengan mudah. Dalam petua praktikal ini, kami akan menunjukkan kepada anda bagaimana.
Sensor ultrasonik Arduino: bagaimana mengukur jarak
Untuk mengukur jarak, anda perlu papan roti dengan beberapa kabel jumper serta modul pengukuran ultrasonik HC-SR04 sebagai tambahan kepada Arduino.
- Sambungkan pin mod "Pin" untuk modul Pin 13 dan pin "Echo" untuk Pin 12 daripada Arduino. Juga sambungkan modul pengukuran ultrasonik HC-SR04 kepada 5V dan tanah.
- Tentukan "pencetus" sebagai output dan "echo" sebagai input. Anda juga memerlukan pembolehubah lama "tempoh" dan "jarak".
- Mula-mula matikan pemicu (»digitalWrite (pencetus, LOW);«) dan tunggu 2 microseconds (»delayMicroseconds (2); Kemudian tukar pencetus ("digitalWrite (mencetuskan, TINGGI);", tunggu 10 mikroseconds ("delayMicroseconds (10);") dan matikannya semula ("digitalWrite (mencetuskan, LOW); Gunakan ini untuk mengira tempoh (»durasi = pulseIn (echo, HIGH);«) dan akhirnya jarak sebenar (»jarak = (durasi / 2) / 29.1;
- Dengan pembolehubah ini, anda boleh terus mengira seperti yang anda mahukan.
Arduino: Kod sampel untuk sensor ultrasonik
Dalam gambar anda boleh melihat kod yang anda boleh gunakan jika anda ingin menggunakan HC-SR04 secara profesional. Anda juga dialu-alukan untuk menyalin kod di sini:
- #include #define trigger 13 #define echo 12 #define led_1 11 #define led_2 10 int value_tone; tempoh yang panjang, jarak; LiquidCrystal lcd (7, 6, 5, 4, 3, 2); void setup () {Serial.begin (9600); pinMode (mencetuskan, OUTPUT); // Pin daripada HC-SR04 pinMode (echo, INPUT); // Pin daripada HC-SR04 pinMode (led_1, OUTPUT); // PinMode LED (led_2, OUTPUT); // PinMode LED (9, OUTPUT); // buzzer lcd.begin (16, 2); } void loop () {digitalWrite (mencetuskan, LOW); delayMicroseconds (2); digitalWrite (mencetuskan, TINGGI); delayMicroseconds (10); digitalWrite (mencetuskan, LOW); tempoh = pulseIn (echo, HIGH); jarak = (tempoh / 2) / 29.1; jika (jarak = 200 || jarak <= 0) {Serial.println ("Daripada lingkungan"); } lain {Serial.print (jarak); Serial.println ("cm"); } lcd.clear (); lcd.setCursor (1, 0); lcd.print ("Jarak:"); lcd.print (jarak); lcd.print ("cm"); jika (jarak 0) {value_tone = peta (jarak, 0, 200, 0, 5000); nada (9, value_tone); } lain {} kelewatan (500); }
Dalam hujung praktikal seterusnya, kami akan menunjukkan kepada anda cara menyiapkan modul GSM pada Arduino.