Selasa, 12 Oktober 2010

TPA81 : Mengakses dgn Protokol I2C

.
Seperti telah dijelaskan pada posting sebelumnya bahwa sensor TPA81 menggunakan protokol I2C dan memiliki koneksi interface seperti gambar disamping.
Jangan lupa menambahkan Resistor Pull Up di sisi master (Mikrokontroller) dengan nilai yang direkomondasikan 1k8 ohm.
Pastikan semua interface / hubungan antara mikrokontroller dengan sensor TPA81 telah sempurna, dan modul mikrokontroller anda juga berfungsi dengan baik.

Modul sensor TPA81 juga dilengkapi dengan pin motor Servo serta fungsi tambahan untuk mengatur sudut pergerakan motor servo tersebut. Sehingga anda cukup memberikan data sudut dalam heksadesimal dan modul TPA81 secara otomatis akan mengendalikan motor servo tersebut. Fungsi ini sangat berguna jika anda meletakkan modul sensor TPA81 pada motor servo lalu menggunakan metode scanning untuk pendeteksian / pengukuran suhu.

TPA81 Register
Sebelum ke coding, beberapa register harus di ketahui terlebih dahulu, seperti terlihat pada gambar di samping.
Hanya Register 0, 1, 2, dan 3 yang dapat di baca/tulis sedangkan register lainnya dapat di baca saja.




Register 0 memiliki 2 fungsi, jika di Tulis maka akan berfungsi sebagai register Command yang memberikan perintah data mengatur posisi motor servo. Sedangkan jika di Baca akan memberikan infomasi versi refisi software / firmware modul TPA81.

Register 1, 2, 3 digunakan untuk melakukan proses kalibrasi pada sensor TPA81 dan disarankan untuk tidak menulis pada register ini karena dapat merusak data kalibrasi yang telah di program oleh manufakturnya. Tapi tidak perlu khawatir karena terdapat proteksi untuk proses penghapusan dan penulisan kalibrasi pada register-register ini yaitu penulisan perintah sebanyak 3 byte secara berurutan yang dapat mencegah penghapusan data kalibrasi secara tidak sengaja.

Register 1 jika di Baca akan memberikan data Temperatur Ambient.
Register 2 - 9 jika di Baca akan memberikan data Temperatur Pixel 1 - Pixel 8.

Coding TPA81
Program berikut mengunakan CodeVisionAVR v2.03.9
Langkah-langkah :
  • Jalankan CoViAVR, buat project baru, dan gunakan CodeWizzard, Chip misal : ATmega8535, Clock : 11.0592 MHz.
  • Tampilan menggunakan komputer komunikasi UART, Protokol : Baudrate :9600,8N1.
  • Tampilan LCD 16 x 2 padaPortB.
  • Modul sensor TPA81 SDA : PORTC.0 dan SCL : PORTC.1

Program sebagai berikut :

Wah terlanjur Upload..
Ada yang lupa tuh..
Berikan waktu kira-kira (minimal) 40 mS sebelum membaca kembali data suhu terukur pada modul TPA81 agar datanya valid.

Ada sedikit kerancuan yang saya lihat pada beberapa Coding dan akan saya bahas di posting selanjutnya.

Semoga manfaat ... ^^v...
CMIIW..

Topik yang Populer