Archive for April, 2010

Membuat Robot Line Follower Analog

Membuat Robot Line Follower Analog

Pada kesempatan ini q mau share mengenai cara membuat robot line follower analog, apa sich maksudnya analog dan apa bedanya dengan digital…. robot line follower analog tidak perlu adanya pemrograman  robot secara software (perangkat lunak) sedangkan Line Follower Mikrokontroler (digital) melibatkan software… itu sich cuman salah satu dasar perbedaannya, untuk perbedaan yang laen… apa ya… pokoknya itu dech, hehe… 🙂

Buat kamu-kamu yang baru saja tertarik pada dunia robot dan pengen banget membuat robot maka belajar lah dahulu dari yang dasar, nach membuat robot line follower analog merupakan dasar-dasar dari merancang robot… (q dulu belajarnya dari analog) tentu saja nanti berkembang menuju digital…

Apa saja sich komponen dasar dari sistem robot itu….? setau ku robot terdiri dari komponen input (masukkan, contohnya sensor), pengolah dan output (keluaran), nach sistem robot line follower analog belum lah kompleks jika dibandikan dengan robot seperti humanoid contoh ASIMO dari Honda… untuk dasar membuat robot kita gak perlu membuat robot asimo, hehe susah banget kali…., line follower analog juga dah bisa dikatakan robot, sebab dikatakan robot jika benda tersebut telah dapat begerak atw berjalan secara automatik tanpa bantuan operator.

Komponen dasar dari sistem robot:

hmmm tulis apa lagi ya….  langsung aja dech nich q share salah satu  rangkaian dari robot line follower analog….

Rangkaian Line Follower Analog diatas  terdapat 3 bagian utama, yaitu bagian sensor, komparator dan driver. Untuk bagian sensor digunakan photodioda sebagai sensor cahaya, sedangkan komparatornya menggunakan IC LM 324 sebagai pembanding tegangan dan untuk drivernya digunakan H- Bridge Transistor.

Cara kerja dari rangkaian-rangkaian Line Follower Analog tersebut adalah sebagai berikut :

A. Prinsip Kerja Sensor

Sensor yang digunakan terdiri dari photo dioda. Sensor ini nilai resistansinya akan berkurang bila terkena cahaya dan bekerja pada kondisi riverse bias. Untuk sensor cahayanya digunakan LED Superbright, komponen ini mempunyai cahaya yang sangat terang, sehingga cukup untuk mensuplai cahaya ke photo dioda.

Gambar Rangkaian sensor

Cara kerjanya :


Gambar Sensor tidak terkena cahaya

Jika photo dioda tidak terkena cahaya, maka nilai resistansinya akan besar atau dapat kita asumsikan tak hingga. Sehingga arus yang mengalir pada komparator sangat kecil atau dapat diasumsikan dengan logika 0.

Gambar Sensor terkena cahaya

Jika photo dioda terkena cahaya, maka photo dioda akan bersifat sebagai sumber tegangan dan nilai resistansinya akan menjadi kecil, sehingga akan ada arus yang mengalir ke komparator dan berlogika 1.

B. Prinsip Kerja Komparator

Komparator pada rangaian ini menggunakan IC LM 324 yang didalamnya berisi rangkaian Op Amp digunakan untuk membandingkan input dari sensor. Dimana input akan dibandingkan dari Op Amp IC LM 324 yang output berpulsa high. Sehingga tidak perlu adanya pull up pada outputnya. IC ini dapat bekerja pad range 3 volt sampai 30 volt dan dapat bekerja dengan normal mulai tegangan 6 volt.

Dalam rangkaian ini juga terdapat 4 LED, yang berfungsi sebagai indikator. Untuk mengatur tagangan pada pembanding, disambungkan Variable Resistor (VR) diantara kedua OP Amp IC LM 324. Untuk datasheet LM324 silakan unduh disini.

Gambar Rangkaian  komparator

► Jika tidak ada arus yang mengalir dari rangkaian sensor ke rangkaian ini maka tegangan masukan untuk rangkaian ini adalah 0 Volt, akibatnya pada IC 1 tegangan di terminal ( + ) > ( – ), maka LED-A on, sedangkan pada IC 2 sebaliknya LED-B off.

►  Jika ada arus yang mengalir dari rangkaian sensor ke rangkaian ini maka tegangan masukan untuk rangkaian ini mendekati Vcc, akibatnya pada IC 2 tegangan di terminal ( + ) < ( – ), maka LED-B on, sedangkan pada IC 1 sebaliknya maka LED-A off.

Kondisi antara titik A dan B akan selalu keterbalikan.

C. Prinsip Kerja Driver Motor

Driver adalah rangkaian yang tersusun dari transistor yang digunakan untuk menggerakkan motor DC. Dimana komponen utamanya adalah transistor yang dipasang sesuai karakteristiknya.

Gambar Rangkaian driver H-Bridge Transistor

Pada saat input A berlogika 1, maka ada arus yang mengalir pada rangkaian, akibatnya transistor 1 dan 4 on karena basis terbias, sehingga motor berputar. Sehingga saat input A berlogika 1 maka input B akan berlogika 0, jadi transistor 2 dan 3 akan off.

Pada saat input B berlogika 1, maka ada arus yang mengalir pada rangkaian, akibatnya transistor 2 dan 3 on karena basis terbias, sehingga motor berputar tapi dengan arah yang berlawanan.

Referensi : Politeknik Elektronika Negeri Surabaya, Pelatihan Line Tracer, ITS, 2006.

untuk lebih lengkap mengenai penjelasan rangkaian tersebut, kalian dapat memdownload makalah robot line follower analog disini…Selamat mencoba…

nach ni dia galery foto robot analog ku….(jadul tenan… tapi ini awal dari segalanya…)

nach ni dia kalo pengen liat video robotku klik disini…. dan disana

===============================================================

bacaan terkait di blog ini:

1. merancang-rangkaian-sensor-garis klik disini

2. merancang-komparator-dengan-histerisis klik disini

Iklan

Aplikasi LCD 2*16 dengan Mikrokontroler ATmega8535

Teori mengenai LCD 2*16

LCD (Liquid Crystal Display) adalah suatu jenis media tampil yang menggunakan kristal cair sebagai penampil utama. LCD sudah digunakan diberbagai bidang misalnya alal–alat elektronik seperti televisi, kalkulator, ataupun layar komputer. Pada bab ini aplikasi  LCD yang dugunakan ialah LCD dot matrik dengan jumlah karakter 2 x 16. LCD sangat berfungsi sebagai penampil yang nantinya akan digunakan untuk menampilkan status kerja alat. Adapun fitur yang disajikan dalam LCD ini adalah :

a.      Terdiri dari 16 karakter dan 2 baris.

b.      Mempunyai 192 karakter tersimpan.

c.       Terdapat karakter generator terprogram.

d.      Dapat dialamati dengan mode 4-bit dan 8-bit.

e.       Dilengkapi dengan back light.

Pin Deskripsi
1 Ground
2 Vcc
3 Pengatur kontras
4 “RS” Instruction/Register Select
5 “R/W” Read/Write LCD Registers
6 “EN” Enable
7-14 Data I/O Pins
15 Vcc
16 Ground

Cara kerja LCD 2*16 secara umum

Pada aplikasi umumnya RW diberi logika rendah “0”. Bus data terdiri dari 4-bit atau 8-bit. Jika jalur data 4-bit maka yang digunakan ialah DB4 sampai dengan DB7. Sebagaimana terlihat  pada table diskripsi, interface LCD merupakan sebuah parallel bus, dimana hal ini sangat memudahkan dan sangat cepat dalam pembacaan dan penulisan data dari atau ke LCD. Kode ASCII yang ditampilkan sepanjang 8-bit dikirim ke LCD secara 4-bit atau 8 bit pada satu waktu. Jika mode 4-bit yang digunakan, maka 2 nibble data dikirim untuk membuat sepenuhnya 8-bit (pertama dikirim 4-bit MSB lalu 4-bit LSB dengan pulsa clock EN setiap nibblenya). Jalur kontrol EN digunakan untuk memberitahu LCD bahwa mikrokontroller mengirimkan data ke LCD. Untuk mengirim data ke LCD program harus menset EN ke kondisi high “1” dan kemudian menset dua jalur kontrol lainnya (RS dan R/W) atau juga mengirimkan data ke jalur data bus.

Saat jalur lainnya sudah siap, EN harus diset ke “0” dan tunggu beberapa saat (tergantung pada datasheet LCD), dan set EN kembali ke high “1”. Ketika jalur RS berada dalam kondisi low “0”, data yang dikirimkan ke LCD dianggap sebagai sebuah perintah atau instruksi khusus (seperti bersihkan layar, posisi kursor dll). Ketika RS dalam kondisi high atau “1”, data yang dikirimkan adalah data ASCII yang akan ditampilkan dilayar. Misal, untuk menampilkan huruf “A” pada layar maka RS harus diset ke “1”. Jalur kontrol R/W harus berada dalam kondisi low (0) saat informasi pada data bus akan dituliskan ke LCD. Apabila R/W berada dalam kondisi high “1”, maka program akan melakukan query (pembacaan) data dari LCD. Instruksi pembacaan hanya satu, yaitu Get LCD status (membaca status LCD), lainnya merupakan instruksi penulisan. Jadi hampir setiap aplikasi yang menggunakan LCD, R/W selalu diset ke “0”. Jalur data dapat terdiri 4 atau 8 jalur (tergantung mode yang dipilih pengguna), DB0, DB1, DB2, DB3, DB4, DB5, DB6 dan DB7. Mengirim data secara parallel baik 4-bit atau 8-bit merupakan 2 mode operasi primer. Untuk membuat sebuah aplikasi interface LCD, menentukan mode operasi merupakan hal yang paling penting.

Mode 8-bit sangat baik digunakan ketika kecepatan menjadi keutamaan dalam sebuah aplikasi dan setidaknya minimal tersedia 11 pin I/O (3 pin untuk kontrol, 8 pin untuk data).Sedangkan mode 4 bit minimal hanya membutuhkan 7-bit (3 pin untuk kontrol, 4 pin untuk data). Bit RS digunakan untuk memilih apakah data atau instruksi yang akan ditransfer antara mikrokontroller dan LCD. Jika bit ini di set (RS = 1), maka byte pada posisi kursor LCD saat itu dapat dibaca atau ditulis. Jika bit ini di reset (RS = 0), merupakan instruksi yang dikirim ke LCD atau status eksekusi dari instruksi terakhir yang dibaca.

Aplikasi LCD 2*16 dengan simulasi program PROTEUS


Program menuliskan karakter string  ”Selamat Datang”dan “fahmizal”

$regfile = “m8535.dat”

$crystal = 8000000

‘konfigurasi pin lcd 16*2

Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.1 , Rs = Portc.0

Config Lcd = 16 * 2

cls

Do

Home

Lcd “Selamat Datang”

Lowerline

Lcd “fahmizal”

Loop

End

Perintah “Cls” berfungsi sebagai pembersih layar lcd dari sisa-sisa karakter yang tersimpan pada memori lcd tersebut. Perintah “Home” berfungsi untuk meletakan kursor lcd pada baris pertama dan kolom pertama. Sedangkah perintah “Lowerline” berfungsi untuk meletakan kursor lcd pada baris kedua dan kolom pertama. Untuk menghilangkan kursor lcd ditambah dengan instruksi “Cursor Off” pada konfigurasi lcd. Perintah “Config Lcd = 16 * 2” merupakan deklarasi penggunaan tipe lcd 16*2, jika diiginkan konfigurasi lcd 16*4 maka perintah diubah menjadi “Config Lcd = 16 * 4”. Berikut tampilan lcd 16*4:

Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.1 , Rs = Portc.0

Config Lcd = 16 * 4

Do

Home

Lcd “Selamat Datang”

Lowerline

Lcd “fahmizal”

Thirdline

Lcd “mikrokontroler”

Fourthline

Lcd “mudah dgn AVR”

Loop

End

Perintah “Thirdline” berfungsi untuk meletakan kursor lcd pada baris ketiga dan kolom pertama. Sedangkah perintah “Fourthline” berfungsi untuk meletakan kursor lcd pada baris keempat dan kolom pertama. Penyederhanaan perintah “Home, Lowerline, Thirdline, Fourthline ” dapat dilakukan dengan perintah “locate”. Sebagai contoh karakter “AVR” akan ditampilkan pada lcd dengan posisis baris kedua dan kolom ketujuh maka perintahnya menjadi:

Do

Locate 2 , 7

Lcd “AVR”

Loop

End

Program menuliskan variabel pada LCD 2*16


$regfile = “m8535.dat”

$crystal = 8000000

Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.1 , Rs = Portc.0

Config Lcd = 16 * 4

Cursor Off

Dim Tulisan As String * 10

Do

Tulisan = “fahmizal”

Locate 1 , 1

Lcd Tulisan

Loop

End

Program percobaan kedua ialah menuliskan suatu variabel pada lcd, prinsipnya ialah menyimpan (buffer) data tersebut kedalam suatu variabel. Dalam contoh ini perintah “Lcd Tulisan” ialah menuliskan data yang tersimpan pada variabel tulisan. Variabel tulisan tersebut sebelumnya harus dideklarasikan sebagai tipe data jenis apa, pada percobaaan ini variabel tulisan dedeklrasikan sebagai tipe data string. Untuk kasus variabel data berupa tipe integer ialah sebagai berikut:

Dim Tulisan As integer

Do

Tulisan = 1234

Locate 1 , 1

Lcd Tulisan

Loop

End

Program menggeser kekiri dan kekanan karakter LCD

$regfile = “m8535.dat”

$crystal = 12000000

Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Porta.1 , Rs = Porta.0

Config Lcd = 16 * 4
Dim A As Byte

Do
Cls
Lcd “*Belajar LCD*”
Lowerline
Waitms 10
Lcd “*FAHMIZAL*”
Waitms 10
For A = 1 To 25
Shiftlcd Right
Waitms 10
Next

For A = 1 To 25
Shiftlcd Left
Waitms 10
Next
Home Upper
Lcd “_UNIVERSITAS_”
Waitms 10
Lowerline
Waitms 10
Lcd “_Gadjah Mada_”
Waitms 10

For A = 1 To 5
Cursor Off Noblink
Waitms 10
Cursor On Blink
Waitms 10
Display Off
Waitms 10
Display On
Next

‘—————–NEW support for 4-line LCD——
Thirdline
Lcd “_DIPLOMA_”
Fourthline
Lcd “_TEKNIK ELEKTRO_”
Wait 1

Loop
End

Selamat berkarya teman2. Semoga bermanfaat…

Aplikasi Seven Segment dengan Mikrokontroler ATmega8535

Seven segment merupakan penampil yang setingkat dengan LED, hanya saja seven segment dapat menampilkan data ke bentuk karakter. Dalam pemrogrmannya, seven segment harus diberi data khusus agar dapat terbentuk karakter tertentu. Oleh karena itu harus diperhatikan hardware yang terpasang. Ada dua tipe pengaplikasian seven segement yaitu common anode atau common katode. Untuk percobaan kali ini menggunakan single seven segment dengan konfigurasi common anode seperti gambar dibawah ini:

Aplikasi Seven Segment dengan simulasi program PROTEUS

Data Karakter Angka Pada Seven Segment

Pemrograman Seven Segment dengan Bascom AVR

Program berikut ini digunakan untuk menampilkan angka 5 dan 7. Diantara data yang di keluarkan pada port A tersebut terdapat waktu tunda kurang lebih 1000 milisekon ato 1 detik. Didalam program utama terdapat pernyataan “do loop”. Pernyataan itu berfungsi untuk melakukan looping  secara terus menerus.

Result:

Selamat berkarya teman2. Semoga bermanfaat…

===============================================================

bacaan terkait di blog ini:

1. dekoder-74ls47-untuk-seven-segment klik disini

Aplikasi Tombol dengan Mikrokontroler ATmega8535

Berikut ini aplikasi simulasi proteus pada rancangan rangkaian mikrokontroler Atmega8535 dengan konfigurasi tombol akan dihubungkan dengan PORT A dan Keluaran berupa LED akan dihubungkan dengan PORT C, dimana  LED dirangkai dengan kondisi aktif rendah. Berikut ini rangkaian simulasi proteus – nya :

Aplikasi Tombol dengan simulasi program PROTEUS

Aplikasi rancangan tombol aktif dimana saat tombol ditekan maka akan tersambung pada ground yang menyebabkan logika low, sehingga pin mikrokontroler yang tersambung keypad menjadi logika low yang sebelumnya high akibat pemberian pull up internal pada pin tersebut.

Pemrograman Pembacaan Tombol dengan Bascom AVR

Pada program berikut ini kita akan menyalakan LED namun tidak secara langsung sebagaimana pada postingan aplikasi LED. Pada postingan  ini kita gunakan tombol. Nah pada program ini LED akan nyala sesuai  fungsinya berdasarkan tombol yg kita tekan… tentunya sesuai dengan algoritma yg temen2 inginkan… silakan perhatikan program berikut:

$regfile = “m8535.dat”

$crystal = 12000000

Dim A As Integer

Dim B As Integer

Dim A1 As Bit

Dim A2 As Bit

Dim A3 As Bit

Config Porta = Input

Config Portc = Output

Declare Sub Kiri()

Declare Sub Kanan()

Declare Sub Kedip()

Do

Portc = 255 ‘pull up internal

A1 = Pina.0

A2 = Pina.1

A3 = Pina.2

If A1 = 0 Then

Call Kiri

End If

If A2 = 0 Then

Call Kanan

End If

If A3 = 0 Then

Call Kedip

End If

Loop

End

Sub Kiri()

A = 1

For B = 0 To 8

Portc = A

Shift A , Left , 1

Waitms 100

Next

End Sub

Sub Kanan()

A = 128

For B = 0 To 8

Portc = A

Shift A , Right , 1

Waitms 100

Next

End Sub

Sub Kedip()

For B = 0 To 8

Portc = 0

Waitms 100

Portc = 255

Waitms 100

Next

End Sub

Selamat berkarya teman2. Semoga bermanfaat…

Aplikasi LED dengan Mikrokontroler ATmega8535

Untai rangkaian simulasi LED menggunakan proteus untuk menghidupkan 8 LED melalui Port C ditunjukan pada rancangan dibawah ini, yang perlu diperhatikan adalah konfigurasi rangkaian LED yaitu Common Anode (CA) artinya untuk menghidupkan LED pada Port C, port tersebut harus diberi logika rendah ‘0’

Aplikasi LED dengan simulasi program PROTEUS

Menyalakan LED pada PORTC

Berikut ini merupakan program bahasa BASIC pada BASCOM AVR menggunakan microkontroler atmega8535 untuk mengoperasikan atau menyalakan 8 led yang terhubung pada portc. Dimana portc merupakan port yang dapat digunakan sebagai  input / output dari micro ke perangkat lain. Hal ini berlaku juga untuk port-port yang lain.

LED berkedip pada PORTC

LED berjalan kekanan pada PORTC

‘rutin utama

Data1 = 0b00000001

Do

Rotate Data1 , Right , 1

Portc = Data1

Waitms 500

Loop

End

LED berjalan kekiri pada PORTC

Untuk LED berjalan kekiri sama halnya dengan LED berjalan ke kanan, hanya nilai data dan perintah geser kanan diubah menjadi putar kiri, dengan perintah  “Shift Data1 , Left , 1”

Data1 = 0b00000001 ‘ Data1 berisikan data biner

Perintah rotasi yang semula

Shift  Data1 , Right , 1

Diubah menjadi :

Shift  Data1 , Left , 1

Nah untuk improve temen2 yang sedang belajar pergeseran LED ini, sekarang bagaimana kalo LED berjalan ke kanan kembali kekiri berulang-ulang? Dengan dasar pengetahuan yg ada pada postingan ini, Insya Allah temen2 bisa membuatnya.

Selamat berkarya teman2. Semoga bermanfaat…

Operasi pada LOGIKA FUZZY

Operasi pada LOGIKA FUZZY

Step 1

Fuzzifikasi : proses untuk mengubah variabel non fuzzy (variabel numerik) menjadi variabel fuzzy (variabel linguistik)

Step 2

RULE atau aturan logika fuzzy

Inferencing (Ruled Based) , pada umumnya aturan-aturan fuzzy dinyatakan dalam bentuk “IF THEN” yang merupakan inti dari relasi fuzzy.

Step 3

Defuzifikasi: proses pengubahan data-data fuzzy tersebut menjadi data-data numerik yang dapat dikirimkan ke peralatan pengendalian.

CONTOH KASUS:

Harga (m) pada sumbu y mengacu pada derajat dimana nilai masukan crisp (temperatur) dipasang pada tiap labelfungsi keanggotaan {sejuk, hangat, dan sebagainya}. Seperti yang anda lihat, nilai masukan dapat menjadi milik lebih dari satu set fuzzy. 92 derajat termasuk dalam set hangat dan juga set panas yang telah didefinisikan oleh fungsi keanggotaan.

Menguraikan masukan crisp dalam bentuk fuzzy mengijinkan sistem merespon secara halus perubahan dalam temperatur masukan. Sebagai contoh, reaksi sistem fuzzy terhadap aturan, “jika temperatur luar panas, maka lamanya penyiraman singkat; jika temperatur luar hangat maka maka lamanya penyiraman agak lama” akan berubah hanya sedikit jika temperatur luar bergerak dari 80 derajat ke 79,9 derajat.

Respon sistem dalam bentuk lamanya penyiraman akan dihitung pada derajat keanggotaan temperatur masukan pada tiap set, pada keadaan ini, 80 derajat dan 79,9  derajat adalah normal sekaligus hangat.

Pada bagian / langkah berikutnya setelah fuzzyfikasi yaitu evaluasi rule, kita akan  mengetahui bagaimana aturan aturan  menggunakan masukan fuzzy untuk menentukan aksi sistem. Jika anda belum  memahami bagian fuzzyfikasi ini disarankan agar anda  mengulangi lagi  sampai anda benar benar faham dan ngerti tentang fuzzyfikasi  sebelum anda melangkah ke evaluasi rule.

Sumber : http://iddhien.com/index.php?option=com_frontpage&Itemid=1

Boolean Logic VS Fuzzy Logic

Boolean Logic VS Fuzzy Logic

Contoh Kasus

Sebagi contoh, apakah 80 derajat fahrenheit tergolong hangat atau panas? Dalam logika fuzzy, dan dalam dunia nyata, “kedua-duanya benar” mungkin merupakan  jawabannya. Seperti yang anda lihat pada grafik fuzzy dibawah ini, 80 derajat adalah sebagian hangat dan sebagian panas dalam gambaran set fuzzy.

Sementara hal ini dapat dibenarkan bahwa tumpang tindih antara set dapat terjadi dalam logika boolean, transisi dari set ke set terjadi seketika itu juga ( yaitu elemen yang dapat menjadi anggota set atau tidak ).

Dengan logika fuzzy, sementara itu, transisi dapat bertingkat – tingkat ( yaitu elemen dapat memiliki sebagian keanggotaan dalam sejumlah set )

Dalam logika klasik menggunakan set konvensional yang ditunjukkan dibawah, 79,9 derajat dapat diklasifikasikan sebagai hangat, dan 80,1 derajat dapat diklasifikasikan sebagai panas. Perubahan kecil dalam sistem dapat menyebabkan perbedaan reaksi yang berarti. Dalam sistem fuzzy, perubahan kecil temperatur akan memberikan hasil perubahan yang tidak jelas pada kinerja sistem.