Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Teknologi Industri

Pengukuran Jarak Menggunakan Sensor Arduino dan Ultrasonik

Proyek Pengukuran Jarak Ultrasonik menggunakan Arduino

Pengukuran Jarak Ultrasonik adalah alat yang berguna dalam berbagai aplikasi akhir-akhir ini. Ini dapat digunakan dalam berbagai aplikasi seperti penentuan posisi, lokasi, dimensi, pemilihan, pengukuran level, pengontrolan, dan pembuatan profil. Dengan melakukan beberapa perhitungan matematis dengan nilai output kita juga dapat mengukur kecepatan dan berbagai dimensi fisik lainnya. Perangkat ini juga memiliki aplikasi di bidang robotika.

Jadi dengan mengingat aplikasi ini, Sensor Ultrasonik adalah alat yang hebat untuk mengukur jarak tanpa melakukan kontak fisik untuk jarak kecil. Mereka menggunakan konsep ECHO untuk mengukur jarak. Dalam proyek ini, kita akan mempelajari cara mengukur jarak dengan menghubungkan modul sensor HC-SR04 dengan Arduino dan menampilkan jarak pada LCD 16×2.

Diagram Sirkuit Proyek Pengukuran Jarak

Antarmukanya sangat sederhana. Anda hanya perlu mengikuti diagram sirkuit. Jadi pertama-tama, pin Trig dan Echo sensor ultrasonik terhubung ke A4 dan A5 Arduino UNO dan VCC dan GND terhubung ke 5V dan GND Arduino.

Sekarang, kita akan menampilkan jarak pada LCD 16x2 yang terhubung dengan Arduino. Hubungkan pin RS dan EN ke pin digital 12 dan pin digital 11 Arduino masing-masing. Sekarang hubungkan D4-D7 LCD ke pin digital 5-2 Arduino. Kami juga telah menghubungkan potensiometer 10K untuk mengontrol kontras LCD seperti yang ditunjukkan pada diagram rangkaian.

Komponen yang Diperlukan

Modul Sensor Ultrasonik

Modul sensor yang digunakan di sini adalah HC-SR04 , yang merupakan perangkat pengukuran Ultrasonik non-kontak. Modul kecil ini mampu mengukur jarak dalam rentang 2cm – 400cm. Ini adalah sensor yang sangat akurat, dapat mengukur hingga 3mm.

Sensor terdiri dari pemancar ultrasonik dan penerima ultrasonik. Prinsip kerjanya sangat sederhana. Pertama, pemicu IO mengirimkan sinyal tingkat tinggi selama 10 detik. Kemudian modul sensor mengirimkan delapan siklus 40 kHz suara ultrasonik dan mendeteksi apakah sinyal pulsa diterima kembali atau tidak. Dan jika sinyal diterima, melalui level tinggi, durasi waktu pemicu IO tetap tinggi adalah waktu dari mengirim hingga menerima sinyal.

Jarak =(Waktu Tingkat Tinggi x Kecepatan Suara di Udara (340M/dtk))/2

Diagram Waktu

Seperti yang dibahas di atas, modul bekerja pada ECHO suara. Untuk memicu modul, pulsa dikirim sekitar 10μs. Setelah proses ini, modul mengirimkan delapan siklus 40 kHz suara ultrasonik dan memeriksa pantulannya. Jadi, jika ada kendala maka sinyal menyerang dan kembali ke penerima. Dan sekarang jarak dihitung dengan rumus sederhana yang dibahas di atas. Kami membaginya dengan 2 karena waktu ini adalah waktu total untuk mencapai rintangan dan kembali ke penerima sehingga waktu yang dibutuhkan untuk mencapai rintangan adalah setengah dari total waktu. Diagram waktu dari sensor ini diberikan di bawah ini:

Spesifikasi Teknis
Pin-Out Sensor Ultrasonik HC-SR04

Seperti yang dibahas di atas, modul ini bekerja berdasarkan prinsip ECHO suara. Jadi ketika kita menghubungkan modul dengan mikrokontroler apa pun, maka modul pertama-tama dipicu melalui pin Trig dan pulsa tingkat tinggi dikirim selama 10μs. Kemudian, kami menunggu untuk menerima ECHO. Mikrokontroler dapat menghitung waktu. Dan kemudian jarak dihitung dengan rumus yang dibahas di atas.

Arduino UNO

Arduino adalah mikrokontroler open source yang banyak digunakan di banyak proyek tertanam skala kecil dan besar. Arduino yang digunakan dalam proyek ini adalah Arduino-UNO. Alasan menggunakan Arduino ini adalah karena lebih murah dan mudah untuk antarmuka. Board menyediakan 14 pin I/O digital dan 6 pin analog. Mikrokontroler bersifat open source, jadi terserah pengguna bagaimana dia ingin menggunakannya. Anda dapat memodifikasi papan dan perangkat lunak sesuai dengan kebutuhan.

Modul LCD 16×2

Modul ini biasanya digunakan di banyak tempat dalam proyek yang disematkan, karena lebih murah dan mudah untuk berinteraksi dengan mikrokontroler. Anda mungkin pernah melihat jenis tampilan ini di kalkulator, mustimeter, dll. Modul LCD yang digunakan di sini dapat menampilkan 16 karakter berturut-turut dan memiliki dua baris. Jadi, pada dasarnya memiliki 16 kolom dan 2 baris. Setiap karakter yang ditampilkan terdiri dari 5×8 piksel (matriks piksel).

Jika Anda menghitung total piksel pada seluruh LCD maka hasilnya adalah 5x8x16x2=1280 piksel. Yang merupakan jumlah besar. Sekarang untuk menampilkan sesuatu pada LCD kita perlu menentukan posisi karakter juga. Jadi, itu benar-benar hal yang sulit untuk dilakukan. Jadi untuk mengatur kerja yang tepat, IC bernama HD44780 digunakan. IC ini mengambil data dan perintah dari mikrokontroler dan kemudian melakukan beberapa pemrosesan sehingga output yang diinginkan dapat dicetak pada LCD. IC ini membuat antarmuka LCD sangat mudah. Kami mungkin menggunakan LCD di banyak proyek kami untuk menampilkan output melalui sensor atau dari modul lainnya. Mari kita lihat beberapa spesifikasi teknis modul LCD.

Mari kita lihat konfigurasi pin LCD.

Pinout dan Deskripsi LCD 16×2

Nomor Pin Nama Deskripsi
1 VSS Ini adalah arde dan terhubung ke arde sirkuit.
2 VDD Supply daya untuk LCD (4.7V hingga 5.3V), biasanya 5V
3 VE Pin ini digunakan untuk memanipulasi kontras LCD. Untuk melakukannya, kita perlu menghubungkan potensiometer dengan pin ini. Jadi dengan mengatur kenop potensiometer kita bisa mendapatkan tingkat kontras yang berbeda pada tampilan.
4 RS Pilih Daftar. Pin ini digunakan untuk menggeser antara perintah dan register data. Pin ini terhubung ke Mikrokontroler
5 RW Baca/Tulis. Pin ini digunakan untuk membaca atau menulis ke LCD. Hal ini umumnya didasarkan untuk menulis data.
6 ID Aktifkan pin. Pin ini terhubung dengan mikrokontroler dan diberi 1 atau 0 untuk mengakui data.
7 Pin data (0-7) Pin ini digunakan untuk mengirim data 8-bit ke LCD dari mikrokontroler. LCD ini juga dapat digunakan dalam mode 4-bit. Untuk ini, Anda hanya perlu menghubungkan 4 pin data.
8 A Anoda. Pin ini merupakan pin positif untuk backlight LCD. Ini sepenuhnya opsional untuk menggunakan pin ini. Gunakan jika Anda membutuhkan lampu latar. Konsumsi saat ini menjadi sangat sedikit jika Anda tidak menggunakan lampu latar seperti yang ditunjukkan dalam spesifikasi teknis.
9 K Katoda. Pin ini adalah pin negatif untuk lampu latar LCD.

Mari kita lihat antarmuka dasar LCD dengan Arduino. Kami akan mencetak beberapa teks pada LCD dengan menulis kode sederhana. Pertama hubungkan pin RS dan EN ke pin digital 12 dan 11 Arduino. Sekarang hubungkan pin D4-D7 LCD ke pin digital 5-2 Arduino. Sekarang hubungkan RW, VSS dan K dengan ground dan VDD dan A dengan 5V Arduino. Hubungkan potensiometer dengan VE seperti yang ditunjukkan pada diagram rangkaian untuk mengontrol kontras LCD.

Sekarang masuk ke bagian pengkodean. Pertama, kita perlu menyertakan library LiquidCrystal.h untuk LCD.

#include

Sekarang dalam dua baris berikutnya kami telah mendefinisikan variabel untuk pin data LCD yang terhubung dengan Arduino dan kemudian meneruskannya sebagai argumen dalam fungsi lcd sehingga kami dapat mengirim data dari Arduino ke LCD.

const int rs =12, en =11, d4 =5, d5 =4, d6 =3, d7 =2;

LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

Dalam fungsi Setup, kita telah menginisialisasi LCD dengan menggunakan fungsi lcd.begin(). Kami telah melewati 16 dan 2 karena LCD yang kami gunakan memiliki 16 kolom dan 2 baris serta kami menggunakan seluruh LCD. Jika Anda hanya membutuhkan sebagian dari LCD maka Anda dapat meneruskan argumen yang sesuai.

Selanjutnya, kami mencetak 'Halo, Dunia!' di baris berikutnya. Anda dapat mencetak pesan khusus yang ingin Anda cetak tetapi ingat satu hal, bahwa pesan yang melebihi ukuran tampilan akan dicetak di baris berikutnya. Jadi, manipulasi pesan Anda sebagaimana mestinya.

lcd.begin(16, 2);

lcd.print(“Halo, Dunia!”);

Dalam fungsi loop kita telah mengatur kursor ke posisi (0,1) dengan menggunakan fungsi lcd.setCursor(). Setelah ini, kami mencetak waktu pencetakan pesan.

lcd.setCursor(0, 1);

lcd.print(millis() / 1000);

Setelah menulis kode, unggah ke papan Arduino dan Anda akan melihat pesan tercetak di layar. Anda dapat mengubah kontras dengan memutar kenop potensiometer yang terhubung.

Memrogram Arduino untuk Pengukuran Jarak Sensor Ultrasonik

Bagian pengkodean sangat mudah untuk proyek ini. Mulailah dengan menyertakan file header untuk LCD.

#include <LiquidCrystal.h>

Dalam dua baris berikutnya, kita telah mendefinisikan makro untuk pin A4 (pin 18) dan A5 (pin 19) Arduino sehingga kita dapat menggunakan nama-nama tersebut daripada menggunakan pin angka.

#define trig 18
#define echo 19

Sekarang di baris berikutnya, kita telah mendefinisikan variabel untuk berbagai pin LCD yang terhubung ke Arduino dan kemudian meneruskannya ke fungsi lcd sehingga kita dapat menginisialisasi LCD.

const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

Sekarang kita telah mendefinisikan variabel jarak 'd' dan variabel waktu 't' dan menginisialisasinya dengan 0.

float t=0,d=0;

Sekarang masuk ke fungsi setup. Pada baris pertama, kita telah menginisialisasi LCD dengan menggunakan lcd.begin() dan kemudian pada dua baris berikutnya kita telah mendefinisikan mode pin untuk pin trigger dan echo sebagai output dan input masing-masing.

void setup()
{
 lcd.begin(16,2);
 pinMode(trig,OUTPUT);
 pinMode(echo,INPUT);
}

Selanjutnya masuk ke fungsi loop. Pertama, kita telah mengosongkan LCD dengan fungsi lcd.clear() sehingga setelah setiap iterasi perulangan, keluaran sebelumnya tidak mempengaruhi keluaran saat ini. Sekarang di enam baris berikutnya, kami menginisialisasi sensor ultrasonik kami dengan mengirimkan pulsa tingkat tinggi selama 10μs. Dan seperti yang kita ketahui bahwa setelah ini, sensor secara otomatis mengirimkan delapan siklus 40kHz suara ultrasonik dan memeriksa pantulannya. Jadi di baris berikutnya, kami mengambil waktu dari sensor. Kemudian kita hitung jaraknya. Kami membaginya dengan 10.000 karena kecepatannya dalam meter/detik, jadi kami mengubahnya dalam sentimeter.

void loop() 
{
  digitalWrite(trig, LOW);
  delayMicroseconds(2);
  digitalWrite(trig, HIGH);
  delayMicroseconds(10);
  digitalWrite(trig, LOW);
  t = pulseIn(echo, HIGH);
  d = t * 0.0340 / 2;
  d = t * 0.01330 / 2;
  lcd.setCursor(0, 0);
  lcd.print("Distance: ");
  lcd.print(d);
  lcd.print(" cm");
  delay(1000); 
}

Kerja Rangkaian Pengukuran Jarak

Setelah menulis kode, unggah ke Arduino dan Anda sudah siap. Sekarang bawa benda atau tangan Anda di depan sensor. Periksa jarak pada LCD. Terus ubah jarak objek dari sensor dan Anda akan mendapatkan jarak akurat yang baik.

Saat kami menginisialisasi sensor dengan mengirimkan pulsa tingkat tinggi selama 10μs, sensor mengirimkan delapan siklus ultrasonik 40kHz dan jika siklus ini dipantulkan oleh hambatan apa pun maka mereka akan dipantulkan kembali ke penerima. Sekarang, sensor memberikan waktu yang dibutuhkan dalam perjalanan sinyal ultrasonik dari pemancar ke rintangan dan dari rintangan ke penerima. Jadi, kami menggunakan waktu ini untuk menghitung jarak antara sensor dan penghalang.


Teknologi Industri

  1. Apa yang dimaksud dengan Kerja Sensor Jarak dan Aplikasinya
  2. Sensor Arduino – Jenis dan Aplikasi
  3. Sirkuit dan Modul Sensor PIR Bekerja
  4. Sensor Suhu Python dan Raspberry Pi
  5. Mesin ULTRASONIC LEVITATION Menggunakan ARDUINO
  6. Voltmeter DIY Menggunakan Arduino dan Smartphone
  7. IOT - Smart Jar Menggunakan ESP8266, Arduino dan Sensor Ultrasonik
  8. Pengukuran Frekuensi dan Siklus Tugas Menggunakan Arduino
  9. Radio FM Menggunakan Arduino dan RDA8057M
  10. Radar Mini dengan Arduino