sensor suhu TPA81(kalo lampu pijar gimana ya)

Sensor Thermal Array  TPA-81 produksi Devantech ini dapat digunakan untuk mengukur nilai suhu yang ada di daerah kerja sensor.  Koneksi sensor Thermal Array ini melalui protokol I2C seperti halnya kompas elektronik. Pin SDA dihubungkan dengan pin mikrokontroler yang berfungsi sebagai serial data, dan pin SCL dihubungkan dengan pin mikrokontroler yang berfungsi sebagai serial clock.

Modul sensor Thermal Array dengan komunikasi protokol I2C ini sama dengan modul kompas elektronik seperti yang telah dijelaskan sebelumnya. Alamat fix dari sensor ini adalah 0xD0. Selanjutnyamembaca data register dengan mengirimkan nilai alamat register yang diinginkan. Data sensor ada pada alamat register 0x02-0x09 untuk data
sensor pixel 1-pixel 8. Untuk sistem komunikasi I2C secara keseluruhan sama dengan modul kompas elektronik, yang berbeda hanyalah alamat dari modul dan register-register yang dibaca. Sedangkan cara-cara komunikasinya sama, yaitu dengan menggunakan sistem komunikasi standard I2C. Data yang terbaca pada register-register yang menyimpan data sensor tiap pixel adalah data 8 bit yang mempresentasikan nilai suhu yang terukur.
Secara umum, cara untuk mendapatkan nilai-nilai suhu dari sensor thermal array sama seperti pada kompas elektronik, yang berbeda hanyalah pada alamat register yang akan dibaca dan alamat device-nya. Berikut ini adalah potongan program subrutin pembacaan data sensor  thermal array pada register dengan alamat sesuai input variabel addr.

Sub Baca_TPA(byval Pixel As Byte) ‘PIXEL DI IDI REGISTER 2-9
I2cstart
I2cwbyte &HD0
I2cwbyte Pixel
I2cstart
I2cwbyte &HD1

I2crbyte Data_tpa , Nack
I2cstop
‘Waitms 10
End Sub

sensor ultraviolet uvitron (sensor api)

Sensor ini memberikan sinyal aktif apabila mendeteksi adannya sinyal ultraviolet. Tipe sensor yang dipilih adalah Hamamatsu R2868. Prinsip kerja sensor ini adalah mendeteksi adanya gelombang ultraviolet pada range 185 – 260 nm,sensor ini bisa digunakan untuk mendeteksi api lilin karena api lilin berada pada range tersebut. sensor ini memiliki jangkauan hingga 5 meter.

Sensor diatas sangat presisi dan sangat rentan sekali. Dalam perlakuannya sensor tersebut tidak boleh dipegang secara langsung oleh tangan manusia. Hal ini disebabkan karena bisa mengurangi sensitivitas dari sensor tersebut (kata datasheetnya)

modul ini terdiri dari 2 bagian, tabung uvitron dan drivernya (C3704) Tabung UVtron terdiri ata dua kaki yaitu pin katoda dan anoda, untuk dapat beroperasi normal UVtron butuh suplay tegangan antara 350 -400 V DC, karena sumber tegangan yang digunakan hanya 5 V maka digunakanlah sebuah driver untuk memenuhi kebutuhan tersebut. Driver dc yang digunakan adalah type Hamamatsu C3704 yang mampu menghasilkan catu hingga 350V DC dengan Vcc 5 V. driver ini selain berfungsi sebagai penyedia tegangan untuk UVtron juga berfungsi sebagai pemproses sinyal yang diperoleh dari tabung UVtron R2868 dan kemudian mengolah data tersebut menjadi data digital.

sensor ping buatan paralax (ultrasonic)

sensor ping (ultasonic) adalah modul pengukur jarak dengan ultrasonic buatan Parallax Inc. sensor  ini dapat mengukur jarak antara 3 cm sampai 300 cm. keluaran dari sensor ini berupa pulsa yang lebarnya merepresentasikan jarak. Lebar pulsanya bervariasi dari 115 uS sampai 18,5 mS.

Pada dasanya, Ping))) terdiri dari sebuah chip pembangkit sinyal 40KHz, sebuah speaker ultrasonik dan sebuah mikropon ultrasonik. Speaker ultrasonik mengubah sinyal 40 KHz menjadi suara sementara mikropon ultrasonik berfungsi untuk mendeteksi pantulan suaranya.

Pin signal dapat langsung dihubungkan dengan mikrokontroler tanpa tambahan komponen apapun. Ping  hanya akan mengirimkan suara ultrasonik ketika ada pulsa trigger dari mikrokontroler (Pulsa high selama 5uS). Suara ultrasonik dengan frekuensi sebesar 40KHz akan dipancarkan selama 200uS. Suara ini akan merambat di udara dengan kecepatan 344.424m/detik (atau 1cm setiap 29.034uS), mengenai objek untuk kemudian terpantul kembali ke Ping. Selama menunggu pantulan, Ping akan menghasilkan sebuah pulsa. Pulsa ini akan berhenti (low) ketika suara pantulan terdeteksi oleh Ping. Oleh karena itulah lebar pulsa tersebut dapat merepresentasikan jarak antara Ping dengan objek.

$regfile = “m8535.dat”
$crystal = 8000000

Config Lcd = 16 * 2
Config Lcdbus = 4
Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.1 , Rs = Portc.0

Config Timer1 = Timer , Prescale = 64

Sigout Alias Portb.0
Sigin Alias Pinb.0
Dirsig Alias Ddrb.0
Dim Data_timer As Integer
‘==================================================
Inisialisasi:
Waitms 100
Initlcd
Locate 1 , 1
Lcd “demo ping”
Wait 1
Cls
Utama:
Gosub Ambil_datatimer
Locate 1 , 1
Lcd Data_timer
Wait 1
Cls
Goto Utama
‘==================================================
Ambil_datatimer:
Dirsig = 1
Set Sigout                                               ‘bankitkan pulsa
Waitus 10
Reset Sigout

‘terima pulsa ubah dulu jadi input
Dirsig = 0                                               ‘jadi input
Set Sigout                                               ‘pull up internal diaktifkan
Bitwait Sigin , Set
Data_timer = 0
Timer1 = 0
Start Timer1

Do
If Sigin = 0 Then
Data_timer = Timer1
Stop Timer1
Exit Do
End If

If Tifr.2 = 1 Then                                    ‘cek register timer1 overflow?
Stop Timer1
Tifr.2 = 1
Data_timer = 0
Exit Do
End If
Loop
Stop Timer1
Return
‘=====================================================

compas cpms 03

Compass buatan Devantech Ltd. CMPS03  ini menggunakan sensor medan magnet Philips KMZ51 yang cukup sensitif untuk mendeteksi medan magnet bumi.  Kompas digital ini hanya memerlukan supplai tegangan sebesar 5V DC, dengan konsumsi arus 15mA. Pada CMPS03, arah mata angin dibagi dalam bentuk derajat yaitu : Utara (00), Timur (900), Selatan (1800) dan Barat (2700). Ada dua cara untuk mendapatkan informasi arah dari modul kompas digital ini yaitu dengan membaca sinyal PWM (Pulse Width Modulation) pada pin 4 atau dengan membaca data interface I2C pada pin 2 dan 3.

contoh program pakai bascom avr

‘====================================

$regfile = “m32def.dat” ‘ATMEGA 32
$crystal = 4000000 ‘KECEPATAN 4 MhZ
$baud = 4800

‘===================================== kompas

Config Sda = Portc.0
Config Scl = Portc.1

Declare Sub Baca_kompas ‘MODUL KOMPAS
Dim Data_i2c As BYTE
INISIALISASI:
I2cinit
‘=================================
UTAMA:
CALL Baca_kompas
PRINT DATA_I2C
GOTO UTAMA
”================================
‘ subrutin kompas
‘——————————-
Sub Baca_kompas
I2cstart
I2cwbyte &HC0 ‘ALAMAT DEVICE COMPAS TULIS
I2cwbyte 1 ‘AKSES REGISTER 1
I2cstart
I2cwbyte &HC1 ‘ALAMAT DEVICE COMPAS BACA
I2crbyte Data_i2c , Nack
I2cstop
Waitms 1
End Sub

‘=======================================
cara kalibrasi dengan metoda pinPin 6 dapat dihubungkan ke 0V (Ground) dengan sebuah push button switch. langkah langkahnya sbb

1.   hadapkan kearah Utara, tekan switch dan lepaskan.

2.    hadapkan kearah Timur, tekan switch dan lepaskan.

3.   hadapkan kearah Selatan, tekan switch dan lepaskan.

4.   hadapkan kearah Barat, tekan switch dan lepaskan.

pastikan posisi kompas rata.  nah kalo kompas ini banyak gangguannya ganti saja sama kompas pramuka

pentingnya BOD(BROWN OUT DETECTION)

Jika tegangan kurang dari yg diperlukan mikro,mikro akan salah menjalankan program. Salah ini bisa berupa mengendalikan port2 yg salah, salah data komunikasi dan juga dapat mengganti data pada EEPROM. Parahnya lagi kesalahan itu random!!! tdk bisa ditanggulangi dgn program.

HAL INI SANGAT BERBAHAYA JIKA MENYANGKUT SISTEM YG SENSITIF.

Sulusinya adalah dengan menggunakan Brown-out Detection(BOD). Kalo pada mikro klan MCS51 sepertinya kita harus membuat rangkaian BOD sendiri di luar mikro, rangkaian sederhananya seperti gambar di bawah ini

kalo mikro AVR sudah menyediakan BOD on-chip.
Kita tinggal mengaktifkan fuse BODEN, maka BOD akan bekerja dengan VBOD- = 3.7V dan VBOD+ = 4.5V.
Artinya jika VCC kurang dari 4.5V, mikro tdk bekerja. Jika di atas 4.5V, mikro akan mulai bekerja. Setelah bekerja jika VCC turun di bawah 3.7V, mikro akan berhenti bekerja. Untuk dapat bekerja kembali tegangan VCC harus di atas 4.5V. Jika terpenuhi maka mikro akan bekerja kembali dari awal program, bukan melanjutkan program sebelumnya pada waktu tegangan turun. Satu lagi fuse yg berhubungan dengan BOD yaitu BODLEVEL.

Cara kerja BOD adalah; mikro akan berhenti bekerja jika tegangan sumber melewati batas bawah tegangan BOD (VBOD-) dan akan bekerja lagi(dianggap reset) jika tegangan telah melebihi batas atas tegangan BOD (VBOD+). selisih VBOD- dan VBOD+ disebut tegangan histerisis (VHYST). Dengan adanya fasilitas BOD diharapkan mikrokontroler ga ada lagi yg ngawur…..

BOD Juga dapat digunakan untuk menyembuhkan penyakit LCD blank 2×16, Kadang pas power on reset LCD 2×16 suka gagal inisialisasi, nah dengan BOD penyakit ini akan sembuh. coba saja sendiri.

ayo buktikan BOD BOD aya aya wae maneh.