Proyek STM32 dengan Sensor Ultrasonik

Proyek/aplikasi Mikrokontroler STM32 kali ini kita bakalan memakai sensor ultrasonik. Sebenarnya sudah banyak yang membahasnya, terutama aplikasi pada Arduino. Nah disini kita akan memakai mikrokontroler STM32F103C8T6 dengan development boardnya blue pill. Aplikasi Ultrasonik dengan Arduino UNO silakan cek disini. Jika teman – teman masih pertamakali memakai STM32 silakan baca juga artikel “Mengenal STM32 dan Cara Pemrogramannya”.

Prinsip Kerja Sensor Ultrasonik

Sensor ultrasonik kita pakai untuk ‘mengukur waktu’ kemudian dikonversi menjadi jarak. Kok bisa ya ? Oke kalau begitu kita obrolin dikit tentang sensor ultrasonik ini. Sebenarnya ada banyak tipe sensor ultrasonik,  tetapi pada proyek STM32 dan sensor ultrasonic ini kita ambil yang murah dan mudah diperoleh saja yaitu model HC-SR04. Sensor ultrasonic ini terdiri dari 2 transducer ultrasonic : transmitter (pengirim) dan receiver (penerima) dengan kemampuan pengukuran 3 sampai 300 cm.

Pada sensor ultrasonik HC=SR04 terdapat  4 pin/kaki : Trig, Echo, Vcc dab Gnd dengan masing – masing mempunyai fungsi sebagai berikut :

  • Pin Trig (Triger) à sebagai pin/kaki untuk memicu (men-trigger) pemancaran gelombang ultrasonik. Cukup dengan membuat logika “HIGH – LOW” maka sensor akan memancarkan gelombang ultrasonik.
  • Pin Echo à sebagai pin/kaki untuk mendeteksi ultrasonik yang memantul (echo) kembali, apakah sudah diterima atau belum. Selama gelombang ultrasonik belum diterima, maka logika pin ECHO akan “HIGH”. Setelah gelombang ultrasonik diterima maka pin ECHO berlogika “LOW”.
  • Pin Vcc à sebagai pin koneksi ke power supply + 5 Vdc. Dapat juga dihubungkan langsung ke pin 5V Arduino.
  • Pin Gnd (Ground) à adalah pin koneksi ke power supply Ground. Dapat juga dihubungkan ke pin Gnd Arduino.

Cara kerja sensor ultrasonik dapat kita jelaskan dengan mulai memperhatikan gambar berikut :

Timing diagram (diagram waktu) merupakan gambaran sinyal (HIGH & LOW) yang terjadi pada masing – masing pin (Trig & Echo) berdasarkan waktu.

Gambarnya kita potong satu persatu ya.. Kita mulai dari bagian atas. Bagian sinyal pin Trig.

Kaki/Pin Trig berfungsi sebagai pemicu (trigger). Pin ini harus diberi sinyal “HIGH” kemudian “LOW”. Siapa yang memberinya ? Ya tentu saja Arduino. Berapa lama ? Seperti pada gambar yaitu minimal 10 µs (micro seconds).

Begitu mendapat trigger, sensor ultrasonik (bagian pemancar) akan memancarkan gelombang ultrasonik sebanyak 8 siklus dengan frekuensi 40 Khz. Gelombang ultrasonik akan terus merambat, bergerak dengan kecepatan 344 m/s.

Nah, selama gelombang ultrasonik masih merambat (belum mengenai penghalang/dinding), logika pin Echo adalah “HIGH”.

Ketika gelombang ultrasonik mengenai penghalang/dinding, sebagian gelombang akan diteruskan ke media yang ditabrak, sebagian lagi memantul dan kembali menuju arah sensor. Pada saat ultrasonik diterima kembali oleh sensor, maka otomatis pin ECHO akan berubah logikanya menjadi “LOW”.

Bagimana, sudah mulai ada gambaran ? OK, next ! Lebar pulsa atau “lamanya” pin ECHO berlogika “HIGH” = waktu tempuh ultrasonik.

Paham ? Baik, kita perjelas :

  • Ketika gel.ultrasonik memancar (pergi) maka logika pin Echo = 1.
  • Selama gel.ultrasonik masih merambat (belum kembali) logika pin Echo = 1.
  • Setelan gel.ultrasonik memantul dan kembali trus terdeteksi oleh sensor penerima, maka pin ECHO = 0.

Kecepatan (cepat rambat) gelombang ultrasonik di udara = 344 m/s (meter per-detik). Artinya untuk menempuh jarak 344 m dibutuhkan waktu 1 detik. Atau untuk menempuh jarak 1 m butuh waktu 1/344 s atau 0,0029 s. Jika menempuh jarak 1 cm ( 1 cm = 0,01 m) maka butuh waktu 0,01 x 0,0029 s = 0,000029 s (29 µs).

Nah karena gelombang ultrasonik melakukan perjalanan pergi – pulang (pancar – terima) sehingga waktu yang dibutuhkan menjadi 2x. Hal ini berpengaruh pada perhitungan jaraknya. Waktu tempuh menjadi 2x, sehingga untuk menempuh jarak 1 cm diperlukan waktu 29 µs x 2 = 58 µs.

Ingat ya, ini kesimpulannya ! untuk menempuh jarak 1 cm dibutuhkan waktu 58 µs. Dengan kata lain, untuk menghitung jarak tempuh = waktu tempuh/58 (cm).

Contoh :

Waktu yang tercatat mulai dari ultrasonik dipancarkan sampai diterima adalah 5800 µs. Jarak yang terukur = 5800/58 = 100 cm.

Tenang, hitungan – hitungan tadi tidak akan kita pakai pada pemrograman ini, karena sudah ada library yang memudahkan kita. Teori dan contoh tadi untuk memberi gambaran agar teman – teman memahami tentang cara kerja sensor ultrasonik.

Praktek Ultrasonic Range Meter dg STM32 & Sensor HC-SR04

Selanjutnya kita akan langsung praktek membuat proyek STM32 Ultrasonic Range Meter. Siapkan komponen – komponennya.

  • Development board STM32 (blue pill)
  • Sensor ultrasonic HC-SR04
  • LCD 16×2
  • Trimpot 10k
  • USB to TTL / USB to Serial (CH340/CP2102)
  • Breadboard
  • Kabel konektor

Berikutnya buatlah rangkaian STM32, LCD dan sensor ultrasonic seperti gambar berikut :

Koneksi sensor ultrasonik dengan STM32 :

Program Ultrasonic Range Meter STM32 dg Arduino IDE

Programnya kita pakai Arduino IDE. Jika masih pertamakali silakan pelajari dulu “Mengenal STM32 & Cara Pemrogramannya”. Buka/ jalankan Arduino IDE. Jangan lupa seting/atur untuk jenis board, nomor port dll. Sebelumnya kita perlu sebuah library ultrasonik, silakan download disini : Library Ultrasonik.

Masukkan ke folder libraries dimana anda menyimpan file aplikasi Arduino IDE. Atau cara yang lain memasukkan library Arduino bisa cek di artikel ini.

Buat lembaran kerja baru kemudian silakan tulis kode program berikut ini :

Simpan (save) kemudian upload ke board blue pill. Hasilnya akan tampil di LCD seperti ini :

Atur jarak antara sensor ultrasonic dengan obyek yang diukur kemudian amati hasilnya. Mengenai pembahasan programnya Insya Allah kita bahas pada lain kesempatan.

Alhamdulillah sudah selesai pembahasan kita kali ini aplikasi Arduino dan sensor ultrasonic untuk mengukur jarak.

Semoga bermanfaat.

Ardutech – “Sahabat inovasi anda

Leave a Reply

Your email address will not be published. Required fields are marked *