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.
- #include <i2c.h>
- #define address 0xD0
- #define address2 0xD4
- int data_tpa;
- int i;
- unsigned int pixel[10];
- unsigned int pixel2[10];
- void tpa_read(int reg)
- {
- //delay_ms(40);
- i2c_start();
- i2c_write(address);
- i2c_write(reg);
- i2c_start();
- i2c_write(address+1);
- data_tpa=i2c_read(0);
- i2c_stop();
- }
- void tpa2_read(int reg)
- {
- //delay_ms(40);
- i2c_start();
- i2c_write(address2);
- i2c_write(reg);
- i2c_start();
- i2c_write(address2+1);
- data_tpa=i2c_read(0);
- i2c_stop();
- }
- void ambil_data_tpa()
- {
- for(i=2;i<10;i++)
- {
- tpa_read(i);
- pixel[i]=data_tpa;
- if(pixel[i]>100)
- {
- pixel[i]=1;
- }
- else
- {
- pixel[i]=0;
- }
- }
- for(i=2;i<10;i++)
- {
- tpa2_read(i);
- pixel2[i]=data_tpa;
- if(pixel2[i]>100)
- {
- pixel2[i]=1;
- }
- else
- {
- pixel2[i]=0;
- }
- }
- }
Salam Kapasitor!!!!!!!
Iklannya diklik ya gan hehehe
Matur nuwun..
Makasih mas :D
ReplyDeleteSm2 mas, mg brmanfaat..
DeleteGan.. mau nanya.. untuk di arduino pin apa yg digunakan untuk dihubungkan dengan sensor TPA81 ini?
ReplyDeleteTerimakasih sebelumnya
klo untuk arduino, pin yg digunakan adlh pin sda & scl (I2C).. biasanya disetiap board arduino sdh dipisahkan pin I2C nya..
DeleteLIBRARY nya gmn itu kak, mohon bimbingannya
ReplyDeleteSelamat pagi..
Deletemksd gmn disini itu gmn ya mas?
klo library yg sy pakai disini, udh disediain dr compilernya mas..
sore kak,
ReplyDeletebagaimana yaa kak memakai 3 tpa sekaligus,tapi dengan 1 alamat saja?
Sore mas,
DeleteBisa, 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?
malam mas,
Deletemau tanya bagaimana merubah settingan default address dari pabrikan ???
misal D0 ke D2, soalnya alamatnya langsung saya ganti gak bisa ?
address apanya mas? address i2c apa gmn?
DeleteMas permisi
ReplyDeletesaya mau nanya, klo di arduino itu alamat i2c tpa81nya kok gamau kebaca ya? itu kenapa ya? mungkin bisa bantu
thx
udh dicoba pake program i2c_scanner dari arduino? klo ga kebaca brrt boardnya rusak..
DeleteThis comment has been removed by the author.
ReplyDeleteapa ada datasheet yang berisi hasil pembacaan warna panas yang bisa ditangkap oleh sensor tpa841 ini? terima kasih.
ReplyDeleteMas kalo 3 tpa81 di jadiin 11 alamat pin data sda scl nya gimana??
ReplyDeleteTerus untuk program nya gimana?