Thursday, 15 January 2015

Mengakses Sensor TPA 81 (ThermoPile Array)

Salaamm Kapasitorrr!!!!!!!!!
Kali ini kita akan membahas bagaimana cara mengakses sensor TPA81. Sensor ini biasanya sering dipakai di KRPAI (Kontes Robot Pemadam Api Indonesia) dimana robot harus mencari titik api tanpa menggunakan juring ataupun menggunakan juring guna untuk memadamkan api tepat dititik apinya. Sebelum kita lanjut, mungkin ada yang belum tahu apa sih sensor TPA81 ini???? Sensor TPA81 adalah singkatan dari ThermoPile Array 8x1 dimana sensor mampu mendeteksi titik api
dalam kisaran jarak 2 meter. Hasil pembacaan titik api tersebut dipresentasikan kedalam 8 buah titik (array). Untuk lebih jelasnya dapat didownload datasheetnya disini.

Lanjut kita kebagian permrogramann.
Yang harus diperhatikan dalam pemrogram sensor TPA81 adalah jalur data yang akan digunakan adalah jalur data serial I2C. Jadi pada saat melakukan setting awal jangan lupa untuk menggunakan jalur data I2Cnya. Berikut potongan program untuk mengakses sensor ini.

  1.  #include <i2c.h>
  2. #define address 0xD0
  3. #define address2 0xD4
  4.  
  5. int data_tpa;
  6. int i;
  7. unsigned int pixel[10];
  8. unsigned int pixel2[10];
  9.  
  10. void tpa_read(int reg)
  11. {
  12.     //delay_ms(40);
  13.     i2c_start();
  14.     i2c_write(address); 
  15.     i2c_write(reg);
  16.     i2c_start();
  17.     i2c_write(address+1);
  18.     data_tpa=i2c_read(0);
  19.     i2c_stop();
  20. }
  21. void tpa2_read(int reg)
  22. {
  23.     //delay_ms(40);
  24.     i2c_start();
  25.     i2c_write(address2); 
  26.     i2c_write(reg);
  27.     i2c_start();
  28.     i2c_write(address2+1);
  29.     data_tpa=i2c_read(0);
  30.     i2c_stop();
  31. }
  32. void ambil_data_tpa()
  33. {
  34.      
  35.       for(i=2;i<10;i++)
  36.       {
  37.       tpa_read(i);
  38.       pixel[i]=data_tpa;
  39.           if(pixel[i]>100)
  40.           {
  41.             pixel[i]=1;
  42.           }
  43.           else
  44.           {
  45.             pixel[i]=0;
  46.           }
  47.       }
  48.      
  49.       for(i=2;i<10;i++)
  50.       {
  51.       tpa2_read(i);
  52.       pixel2[i]=data_tpa;
  53.           if(pixel2[i]>100)
  54.           {
  55.             pixel2[i]=1;
  56.           }
  57.           else
  58.           {
  59.             pixel2[i]=0;
  60.           }
  61.       }
  62. }
Semoga bermanfaat..
Salam Kapasitor!!!!!!!
Iklannya diklik ya gan hehehe
Matur nuwun..

15 comments:

  1. Gan.. mau nanya.. untuk di arduino pin apa yg digunakan untuk dihubungkan dengan sensor TPA81 ini?
    Terimakasih sebelumnya

    ReplyDelete
    Replies
    1. klo untuk arduino, pin yg digunakan adlh pin sda & scl (I2C).. biasanya disetiap board arduino sdh dipisahkan pin I2C nya..

      Delete
  2. LIBRARY nya gmn itu kak, mohon bimbingannya

    ReplyDelete
    Replies
    1. Selamat pagi..
      mksd gmn disini itu gmn ya mas?
      klo library yg sy pakai disini, udh disediain dr compilernya mas..

      Delete
  3. sore kak,
    bagaimana yaa kak memakai 3 tpa sekaligus,tapi dengan 1 alamat saja?

    ReplyDelete
    Replies
    1. Sore mas,
      Bisa, akses 3 tpa sekaligus bisa dilakukan asal dgn alamat yg berbeda, jika tidak, alamat & data yg diterima tidak sesuai dgn kondisi sebenarnya..
      Apa Ada masalah di penggantian address sensor tpa?

      Delete
    2. malam mas,
      mau tanya bagaimana merubah settingan default address dari pabrikan ???
      misal D0 ke D2, soalnya alamatnya langsung saya ganti gak bisa ?

      Delete
    3. address apanya mas? address i2c apa gmn?

      Delete
  4. Mas permisi
    saya mau nanya, klo di arduino itu alamat i2c tpa81nya kok gamau kebaca ya? itu kenapa ya? mungkin bisa bantu
    thx

    ReplyDelete
    Replies
    1. udh dicoba pake program i2c_scanner dari arduino? klo ga kebaca brrt boardnya rusak..

      Delete
  5. apa ada datasheet yang berisi hasil pembacaan warna panas yang bisa ditangkap oleh sensor tpa841 ini? terima kasih.

    ReplyDelete
  6. Mas kalo 3 tpa81 di jadiin 11 alamat pin data sda scl nya gimana??

    Terus untuk program nya gimana?

    ReplyDelete