Program Sensor Ping Ultrasonic dan Mikrokontroler dengan Bascom AVR

Setelah pada tulisan sebelumnya membahas tentang prinsip kerja sensor ping ultrasonic, maka ditulisan kali ini belajarlistrik.com akan membahas Program Sensor Ping Ultrasonic menggunakan compiler Bascom AVR. Untuk perhitungan bagaimana proses pengambilan data dan karakteristik sensor ping ultrasonic, teman-teman bisa membaca di artikel prinsip kerja sensor ping ultrasonic.

Blok diagram program sensor ping ultrasonic

Blok diagram program sensor ping ultrasonic

Pada dasarnya ada dua perhitungan yang dapat digunakan untuk mendapatkan data jarak yang terbaca oleh sensor ping ultrasonic, pertama sudah dibahas di postingan sebelumnya, dimana:

jarak = lebar pulsa(timer) * 0,16 – 17,2

Atau kita juga dapat melakukan perhitungan berdasarkan kecepatan suara ultrasonic, seperti yang kita ketahui kecepatan rambat suara ultrasonic di udara 29 mikro detik / cm, maka:

jarak = lebar pulsa(timer) / 29*2 atau jarak = lebar pulsa (timer) / 58

Kenapa nilai 29 mikro detik dikalikan dua, karena berdasarkan prinsip kerja sensor ultrasonic, lebar pulsa yang dibaca adalah pantulan signal yang akan dibaca oleh echo, sehingga waktu tempuhnya dikali 2.

Signal pulse yang dikeluarkan oleh sensor ping ultrasonic

Signal pulse yang dikeluarkan oleh sensor ping ultrasonic

Program Sensor Ping Ultrasonic

$regfile = “m8535.dat”
$crystal = 1000000
Dim Flag As Bit

Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , Rs = Portc.0
Config Lcd = 16 * 2
Dim Jarak As Word

Cls

Config Timer1 = Timer , Prescale = 1
On Timer1 Jarak_over
Enable Interrupts
Sig Alias Portb.0
Pin_sig Alias Ddrb.0
Sig_in Alias Pinb.0
Lcd “PING dg Timer”
Lowerline
Lcd “Jarak=”

Do
Gosub Ukur_jarak
Locate 2 , 8
Lcd Jarak ; ” cm”

Loop
End
Ukur_jarak:
Flag = 1
Pin_sig = 1
Sig = 0
Enable Timer1
Timer1 = 0
Sig = 1
Waitus 5
Sig = 0
Waitus 760
Start Timer1
Pin_sig = 0
Sig = 1
While Flag = 1
If Sig_in = 0 Then
Stop Timer1
Jarak = Timer1
Flag = 0
End If
Wend

Jarak = Jarak / 58
Return
Jarak_over:
Flag = 0
Stop Timer1
Timer1 = 0
Jarak = 0
Return

Penjelasan Program Sensor Ping Ultrasonic dengan Bascom AVR

Pada program kita menggunakan Timer1 pada Mikrokontroler ATMEGA 8535 karena Timer1 memiliki register yang lebih panjang daripada timer0 dan timer 2 yaitu sebesar 16 bit = 0 – 65535 dan menggunakan clock 1 MHz dan Prescale 1, sehingga frekuensi prescale = 1 MHz / 1 = 1 MHz dan karena T (waktu) = 1 / f, maka

T = 1 / 1000.000 = 1 Mikro detik

Kecepatan timer mikrokontroler yang kita gunakan dalam program dengan pengaturan diatas adalah, 1 µs dibutuhkan timer untuk menjalankan satu siklus program. Maksimal data timer yang kita butuhkan adalah 18000 µs, dengan T sebesar 1 µs maka data yang kita butuhkan adalah 18000, masih masuk dalam range timer 16 bit (0 – 65535). Namun tidak bisa menggunakan timer 8 bit (0 – 255).

Perhitungan frekuensi untuk membuat program sensor ping ultrasinic dengan mikrokontroler atau arduino

Perhitungan frekuensi untuk membuat program sensor ping ultrasinic dengan mikrokontroler atau arduino

sumber gambar:http://ilmu-otomasi.blogspot.co.id/2013/03/sensor-ultrasonik.html

Sesuai dengan datasheet sensor ping ultrasonic, komunikasi antara sensor dan mikrokontroler menggunakan komunikasi serial 1 wire, pada awalnya mikrokontroler berfungsi sebagai output dan memberikan trigger awal ke sensor, sensor yang telah ditrigger akan mulai mengeluarkan signal ultrasonic, setelah itu kita fungsikan mikrokontroler sebagai input.

Waktu yang dibutuhkan timer untuk menerima pantulan signal ultrasonic inilah yang kita gunakan untuk perhitungan jarak.

Lalu simulasikan program atau bisa langsung downloadkan program ke Mikrokontroler.

 

Rankaian simulasi program sensor ping ultrasinic dengan software proteus

Rankaian simulasi program sensor ping ultrasinic dengan software proteus

Semoga bermanfaat.

Referensi:

http://ilmu-otomasi.blogspot.co.id/2013/03/sensor-ultrasonik.html

https://www.parallax.com/sites/default/files/downloads/28015-PING-Sensor-Product-Guide-v2.0.pdf

Published on Mar 10, 2017 | Under Belajar Mikrokontroler | By admin

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Tutorial Listrik | Belajar Mikrokontroler Arduino | Aplikasi PLC SCADA | Belajarlistrik