nah dengan membeli trainer avr 2.0, dijamin 100% kalian akan bisa membuat robot seperti ini, sudah saya buktikan, berikut robot line follower yang di buat sama teman teman saya.
Kategori: SENSOR
ngoprek sht11 (sensor suhu dan kelembaban)
dulu semasa kuliah pengen beli sensor sht11 ga kebeli. maklum belum punya duit sendiri. sekarang akhirnya kesampaian juga ngoprek SHT 11. sensor ini aslinya murah banget. tapi karena eh karena harganya melambung tinggi jadi 350 rebu. maklum indonesia negara yang sangat maju sekali dalam bidang perdagangan. tiap hari motor buatan luar negeri pasti ada yang beli.
di INDONESIA motor seperti gorengan, tinggal ambil saja bayar belakangan juga bisa. dan saya pastikan project GO GREEN ga bakalan sukses selama kredit motor masih gamapang syaratnya dan laku keras.
saya aktivis kredit motor saja lah dan anti go green,
ini dia sensor sht 11 nya
untuk dasar teorinya biar orang lain saja yang bahas. saya cari cari di internet kebanyakan pakai bascom avr, saya convert ke bahasa c gaul code vision. support juga pastinya untuk avr gcc.
//=================================================================
//sht
//==============================================================
void StartSignal()
{
ddr_data_out;
data_hi;;
delay_us(1);
clk_lo;
delay_us(1);
clk_hi; //Clock pertama
delay_us(1);
data_lo;
delay_us(1);
clk_lo;
delay_us(1);
clk_hi; //Clock pertama
delay_us(1);
data_hi;;
delay_us(1);
clk_lo;
ddr_data_out; // PortA.0 sbg Output
}
void ResetSHT (void)
{
unsigned char i;
ddr_data_out;
data_hi;
clk_lo;
for (i=0; i<=8; i++)
{
clk_hi; //Kirim Data (ShtClock rising edge), 9 kali
clk_lo;
}
StartSignal(); //Transmission Start
}
void SHTWait()
{
unsigned char i;
ddr_data_out;
data_hi; //Pin ShtData sebagai input
ddr_data_in;
for (i=0; i<250; i++)
{
TimeOut=(PIND&4)>>2;
if(!((PIND&4)>>2))break;
delay_ms(1);
}
}
void SHTWriteByte (unsigned char data)
{
unsigned char i;
ddr_data_out;
for(i = 8;i > 0; i–)
{
if(data & (1 << (i – 1)))data_hi;
else data_lo;
clk_hi; //Kirim Data (ShtClock rising edge)
delay_us(10);
clk_lo;
}
ddr_data_in;
clk_hi;
AckBit = (PIND&4)>>2; //Ambil sinyal acknowledge
delay_us(10);
clk_lo;;
}
//Receive Data dan kirim bit “AckBit” (‘0’ untuk ACK atau ‘1’ untuk NACK)
void SHTReadByte ()
{
unsigned char i;
DataRead = 0x00;
ddr_data_out;
data_hi; //Pin ShtData sebagai input
ddr_data_in;
for (i=0; i<8; i++)
{
DataRead<<=1;
clk_hi;
DataRead |=(PIND&4)>>2 ; //Ambil Data (MSB first)
delay_us(10);
clk_lo;
}
ddr_data_out;
if (AckBit==1) data_hi; //Kirim Noacknowledge
else data_lo; //Kirim Acknowledge
clk_hi;
delay_us(10);
clk_lo;
}
// Pembacaan Temperature dari SHt11
void SHTReadTemp (void)
{
StartSignal();
SHTWriteByte(0x03); //Command Measure Temperature
if (AckBit==0)
{
SHTWait(); //Tunggu sampai pengukuran selesai
if (TimeOut==0)
{
AckBit=0; //Kirim ACK untuk menerima byte berikutnya
SHTReadByte(); // Ambli Byte MSB
DataTempSHT = DataRead;
DataTempSHT <<= 8;
AckBit=1; //Kirim NACK untuk mengakhiri pengambilan data
SHTReadByte();
DataTempSHT |= DataRead; //Ambil byte LSB
DataRead = DataTempSHT;
}
}
}
void SHTReadHumidity (void)
{
StartSignal();
SHTWriteByte(0x05); //Command Measure Humidity
if (AckBit==0)
{
SHTWait();
if (TimeOut==0)
{
AckBit=0;
SHTReadByte();
DataRHSHT = DataRead;
DataRHSHT <<= 8;
AckBit=1;
SHTReadByte();
DataRHSHT |= DataRead;
DataRead = DataRHSHT;
}
}
}
itu puisi dari saya
bermain sensor accelerometer adxl202
butuh sensor accelerometer. bisa di fungsikan untuk sensor gempa atau sensor kemiringan. ini dia sensor adxl 202. harganya murah banget Rp.250.000(bagi yang punya uang).
spesfikasi adxl 202:
– output digital pwm
– duty cycle diatur nilai R dan elco
– memiliki 2 sumbu, x dan y
– A +- 2g
nah berikut hasil ngoprek saya dengan adxl 202
untuk robot KRSI siapa kali perlu ayo pesan, atau untuk para peneliti gempa jika butuh sensor accelerometer silahkan pesan ke dhani nugraha(085228292473)
aplikasi sensor PIR dengan AVR TRAINER 2.0
Ceritanya di kontrakan saya ada yang kemalingan motor. tapi itu sudah terjadi. untuk meningkatkan keamanan kontrakan, saya sebagai sarjana lulusan t.elektro masa tidak mampu membuat alat pendeteksi maling, atau kalo tidak mampui buat pun masa tidak tahu harus beli dimana alat tersebut. .
ini baru contoh simple saja. saya tadi membeli sensor PIR di universal electronic harganya 65.000. lumayan bisa di aplikasikan untuk pendeteksi manusia. karena ini hanya modul yang mudah digunakan,saya langsung saja, pasangkan modul PIR dengan modul avr trainer 2.0.
pada modul PIR ada 3 pin terdiri dari vcc,out dan gnd, untuk supply nya saya kasih 5v.
Keluaran dari modul PIR yang saya beli ini ketika ada manusia yaitu 3.5 v, dan ketika tidak ada yaitu 0 v. nah gampang sekali. udah saja saya langsung sambungkan dengan pin biasa misalanya pind.7. nah program utamanya seperti ini.
for(;;)
{
if(bit_is_set(PIND,7))
{
lcd_clrscr();
lcd_goto(line1);
lcd_puts(“ada penjahat”);
buzzer_hi;
_delay_ms(1000);
buzzer_lo;
_delay_ms(1000);
}
else
{
lcd_goto(line1);
lcd_puts(“aman aman saja”);
}
}
ini photo sensor pir nya
pemasangan sensor pir di jendela
nah mungkin untuk ke depannya akan saya tambahkan lagi beberapa sensor, mungkin akan saya tambahkan sensor IR,
sensor jarak sharp GP2D12(kalo kena cermin gimana ya)
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 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
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
momonyetan robot line follower
lomba line follower basaeta teh di, STT NAS Yogyakarta, kuring jeung barudak maliluan, UGM jadi juara umum
ieu photo momonyetanna. kabeneran eta gen bisa juara. soalna robotiko na macet. jadi sainganna saeutik.
Nekatz instrument, juara II di stt nas Yogyakarta