Meminjam teknik echo  sounder yang      dipakai untuk mengukur kedalaman laut, bisa dibuat alat pengukur  jarak dengan      ultra sonic. Pengukur jarak ini memakai rangkaian yang sama dengan  Jam Digital      dalam artikel yang lalu, ditambah dengan rangkaian pemancar dan  penerima Ultra      Sonic.
    Prinsip kerja echo sounder untuk  pengukuran jarak      digambarkan dalam Gambar 1. Pulsa Ultrasonic, yang merupakan sinyal  ultrasonic      dengan frekwensi lebih kurang 41 KHz sebanyak 12 periode, dikirimkan  dari      pemancar Ultrasonic. Ketika pulsa mengenai benda penghalang, pulsa  ini dipantulkan,      dan diterima kembali oleh penerima Ultrasonic. Dengan mengukur  selang waktu      antara saat pulsa dikirim dan pulsa pantul diterima, jarak antara  alat pengukur      dan benda penghalang bisa dihitung.
     Gambar 2 merupakan Rangkaian Jam Digital dalam  artikel lalu      yang direvisi untuk keperluan ini. Titik desimal pada tampilan  satuan dinyalakan      dengan tahanan R8. Setiap      kali tombol Start ditekan, AT89C2051       membangkitkan pulsa ultrasonic pada Pin P3.4      yang dipancarkan dengan rangkaian Gambar 3, selanjutnya lewat pin P3.5  yang terhubung ke rangkaian penerima      ultrasonic di Gambar 4, sambil mengukur selang waktu AT89C2051  memantau datangnya      pulsa pantul.
    Hasil pengukuran waktu itu, dengan sedikit  perhitungan matematis      ditampilkan di sistem penampil 7 ruas sebagai besaran jarak, dengan  satuan      centimeter dan 1 angka dibelakang titik desimal.
Klik pada gambar untuk melihat ukuran sebenarnya 
Rangkaian Kontrol & Tampilan
Rangkaian Pemancar Ultra Sonic
Rangkaian Penerima Ultra Sonic
Potongan Program 2 - Mengukur waktu pantulan ultra sonic
      1   SET   TR1                                              Hidupkan untaian pencacah   
           2          SampaiNol:     
           3    JNB   TF1,SampaiNol                        Tunggu selama TF1 masih =1       
           4   ACALL PulsaUltraSonic                Bangkitkan pulsa Ultrasonic           
           5          TungguPantulan:      
           6   JB    TF1,Selesai                                 TL1/TH1 melimpah? Ya, stop       
           7   JB    P3.5,TungguPantulan           Tunggu selama P3.5 =1       
           8          Selesai: 
      9   CLR   TR1                                             Matikan untaian pencacah
Potongan Program 3 - Menghitung jarak
      1      CLR   A  
           2      MOV   Operand,TL1       
           3      MOV   Operand+1,TH1       
           4      MOV   Operand+2,A       
           5      MOV   Pengali,#10       
           6      MOV   Pengali+1,A       
           7      MOV   Pengali+2,A       
           8      ACALL Perkalian                HasilKali := 10      * TL1_TH1       
           9          ;
  10      MOV   R0,#HasilKali  
  11      MOV   R1,#Operand  
  12      ACALL Copy                     Copy-kan  isi HasilKali ke      Operand  
  13      MOV   Pembagi,#58  
  14      MOV   Pembagi+1,#0  
  15      MOV   Pembagi+2,#0  
  16      ACALL Pembagian                HasilBagi := (10*TL1_TH1)      / 58
Potongan Program 4 - Jarak dalam bentuk biner dirubah ke desimal untuk ditampilkan
      1     MenampilkanHasil:
           2      ACALL HapusTampilan       
           3          ;
           4      MOV   DPTR,#AngkaPembagi           Mulai dengan 1000       
           5      MOV   R7,#4                        Maksimum 4 digit       
           6      MOV   R4,#RuasRatusan       
           7      CLR   F0                           Belum pernah simpan       
           8                   
           9      MOV   R0,#HasilBagi       
  10      MOV   R1,#SisaBagi  
  11      ACALL Copy  
  12     DigitBerikutnya:
  13      MOV   R0,#SisaBagi  
  14      MOV   R1,#Operand  
  15      ACALL Copy  
  16        
  17     * Ambil      AngkaPembagi dari Tabel
  18       
  19      CLR   A  
  20      MOV   Pembagi+2,A  
  21      MOVC  A,@A+DPTR  
  22      INC   DPTR  
  23      MOV   Pembagi,A  
  24       
  25      CLR   A  
  26      MOVC  A,@A+DPTR  
  27      INC   DPTR  
  28      MOV   Pembagi+1,A  
  29        
  30      ACALL Pembagian         SisaBagi dibagi 1000;      100; 10 dan 1  
  31        
  32      MOV   A,HasilBagi      HasilBagi=0?  
  33      JNZ   SimpanRuas             Tidak, jadikan simpan ruas  
  34      JNB   F0,Berikutnya          Belum pernah simpan dan 0  
  35     SimpanRuas:
  36      SETB   F0                     Sudah pernah simpan angka  
  37      ACALL JadikanRuas  
  38      MOV   R0,$04                 R0 <- R4  
  39      MOV   @R0,A                  Simpan  
  40     Berikutnya:
  41      INC   R4  
  42      DJNZ  R7,DigitBerikutnya  
  43      RET  
  44       
  45     AngkaPembagi:
  46      DW    1000  
  47      DW    100  
  48      DW    10  
  49      DW    1
 P          Program untuk mengendalikan AT89C2051 harus diisikan ke dalam      IC microcontroller itu, untuk itu diperlukan alat yang dinamakan  sebagai AT89C2051  Flash PEROM Programmer.
Program Lengkap Pengukur Jarak Ultrasonik menggunakan AT89C2051 dapat anda download disini 

3 komentar:
terima kasih
bang sensor ini bs mengukur max brp meter ?
sangat membantu saya..... thanks.
Posting Komentar