Bacalah

Learning is forever

RSS Feed

Going where this year?

Archives for Elektronika Instrumentasi

Insert Data Biner dan Menampilkannya di LCD pake CodevisionAVR

0 Comments

Karena ATMega32 yang langka dan saya punyanya ATMega16, saya memutuskan untuk mengconvert program line follower saya ke C. Di C, memori programnya lebih sedikit, sekitar 50% dari Bascom. Tapi saya menemukan kesulitan ketika mau masukin data biner sensor ke variabel (misalnya kita namain sensor)

Kalo di Bascom kan perintahnya bisa gini

If Dataadc0 > Vref0 Then
Sensor.0 = 1
End If
If Dataadc0 < Vref0 Then
Sensor.0 = 0
End If
di Codevision gak bisa gitu. Terus kalo mau nampilin data nya di lcd 16×2 tinggal gini

lcd bin(sensor)

Dan ternyata itu fungsi bawaan dari Bascom.

Setelah saya konsultasi sama Mas Eju, Mas Trianto, dan Andra, akhirnya saya dapet pencerahan. Untuk masukin data biner, tu gini kalo di Codevision

for(i=0;i<8;i++)
{
if (dataadc[i] > vref[i])
{
sensor|=1<<i;
}

if (dataadc[i] < vref[i])
{
sensor&=~(1<<i);
}
}

Dan untuk menampilkannya di lcd, kita bikin fungsi sendiri

void lcd_bin(unsigned char databyte)
{
register unsigned char i;
unsigned char buff[8];

for (i=0;i<8;i++)
{
if ((databyte &(1<<i))==0)
{
buff[i]=48;
}
else
{
buff[i]=49;
}
}

for (i=8;i>0;i–)
{
lcd_putchar(buff[i-1]);
}
}

dan cara pakai fungsinya tinggal gini

lcd_bin(sensor);

Hehehe. Makasih banyak buat para master yang sudah ngebantuin saya. Ternyata coding pake C lebih fleksibel dan menyenangkan, karena kita bisa berkereasi bikin fungsi2 sendiri tanpa bergantung banget sama si compiler.

//
Jan 7, 2011

Sexy Line Legacy

0 Comments

Beberapa waktu yg lalu, saya bersama Ferry dan Holand iseng2 membuat sebuah robot line follower. Robot ini kami namai Sexy Line. Kami membuatnya secara ngebut dengan nglembur selama sebulan. Sudah tidak terhitung beberapa hari saya nginep, ato tidak sengaja nginep di tempat Holand. Telah banyak juga harta benda yg kami gadaikan untuk membangun Sexy Line.

Kami menjalani proses demi proses, mulai dari nyetrika, nglarutin, ngebor, motong, nyolder, sampai merangkainya menjadi sebuah bentuk mobil balap. Tapi setelah jadi, hati ini jadi lega rasanya.sebuah robot line follower bernama Sexy Line, yg kami harapkan menjadi robot yg tangguh, cepat, baik hati, nurut sama yg punya, suka menolong, rajin menabung, dan tidak sombong.

Robot ini kami paksakan untuk ikut dalam sebuah perlombaan Roborace di UNY. Dimana para robot yg hobby kebut2an berlaga dalam sebuah kontes robot line follower. Alhamdulilah, Sexy Line bisa lolos sampai hari kedua. Walaupun akhirnya tumbang di putaran 16 besar. Tapi bagi kami, Sexy Line sudah melakukan yg terbaik yg dia bisa. Dia telah membuat bangga para pemiliknya.

Tapi yg paling berjasa besar buat Sexy Line adalah orang2 di sekitar kami. Mas Johan yg telah mendesain dan memrogram robot  Stardust sehingga bisa kami kloning. Mas Arnold Prabowo yg tanpa kenal lelah membimbing kami dalam laga maupun ketika latihan dan pra-lomba. Untuk tim DeadLine (Faje, Iwak, dan Fika) yg berjuang bersama untuk mewujudkan robot impian di kos Holand. Puspo, untuk gearbox nya yg berkualitas yg kami pasang sebagai penggerak Sexy Line. Frisky untuk LCD warna hijau kuningnya yg kami pinjam sebagai display Sexy Line. Teman2 kos Holand (Demung, Apip, Jack, dkk) yg selalu memberi support ketika kami mulai mengantuk ketika menggarap Sexy Line. Dan keluarga, teman2, serta orang2 yg ada di sekitar kami yang telah mendukung dan mendoakan kami.

Sexy Line, sebuah robot yg penuh dengan kebanggaan, walaupun penuh tompel, tambalan disana-sini, part2nya yg kami pinjam dari teman2. Walaupun sekarang sudah terkapar dan tercerai berai menjadi onggokan mesin yg sepintas tak berharga. Tapi kami berjanji, Sexy Line atau anaknya akan bangkit dari kubur dan akan meramaikan dunia perbalapan robot di Elins, UGM, nasional, bahkan internasional. Hehehe

//
Dec 21, 2010

Simulasi Detektor Level Fluida pake Proteus

0 Comments

Kemaren pas Praktikum Mikrokontroler kita dikasih tugas bikin simulasi detektor level fluida pake BASCOM AVR trus disimulasikan pake Proteus. Ni skrinsutnya

Listing program BASCOM nya:

$regfile = "m32def.dat"
$crystal = 12000000

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

Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc

Config Portd.0 = Output
Config Portd.1 = Output
Config Pinb.0 = Input

Led1 Alias Portd.0
Led2 Alias Portd.1

Dim Batas_bawah As Word
Dim Level As Word
Dim Batas_atas As Word

Tombol_start alias pinb.0

Set Tombol_start

Reset Led1
Reset Led2

Do

Main:

Cursor Off
Locate 1 , 1
Lcd "  level fluida  "
Locate 2 , 1
Lcd "  Taufiq 12133  "

If Tombol_start = 0 Then
Cls
Do
Start Adc
Batas_bawah = Getadc(0)
Level = Getadc(1)
Batas_atas = Getadc(2)

If Batas_bawah < Level And Level < Batas_atas Then Locate 1 , 1 Lcd "  level normal  " Locate 2 , 1 Lcd Level End If If Level < Batas_bawah Then Led1 = 1 Led2 = 0 Locate 1 , 1 Lcd " level too low  " Locate 2 , 1 Lcd Level End If If Level > Batas_atas Then
Led1 = 0
Led2 = 1
Locate 1 , 1
Lcd " level too high "
Locate 2 , 1
Lcd Level
End If

If Tombol_start = 0 Then
Goto Main

End If
Loop

End If
Loop

Ni cara kerjanya:

Pada praktikum ini dibuat program dengan ADC (Analog Digital Converter) yang terdapat pada PORTA ATMega32 untuk mendeteksi level fluida pada suatu tabung.

Ada 3 input ADC yaitu PINA.0, 1, dan 2. PINA.0 sebagai detektor batas bawah fluida yang diperbolehkan pada tabung tersebut, PINA.1 sebagai detektor level fluida, dan PINA.2 sebagai detektor batas bawah fluida.

Level fluida ditampilkan pada LCD 16×2, dan apabila level melebihi batas bawah, maka LED pada PORTD.0 akan menyala, dan apabila melebihi batas atas, maka LED pada PORTD.1 akan menyala.

Untuk melakukan pendeteksian, digunakan percabangan if then. Untuk memulainya, push button pada PORTB.0 harus ditekan terlebih dahulu. Cara kerjanya, pada posisi awal, batas bawah, level, dan batas atas dapat ditentukan secara manual.

Oke, segitu aja deh

//
Dec 16, 2010

Mari Membuat USBasp AVR Downloader

0 Comments

Untuk memasukkan program ke dalam mikrokontroler AVR, dapat menggunakan berbagai macam cara. Bisa dengan komunikasi serial, paralel, atau usb. Dan menurut saya yang paling praktis adalah pake usb, karena laptop jaman sekarang jarang yang ada port paralel atu serialnya. Akhir2 ini teman2 saya pada bikin downloader untuk AVR yang bertipe usb. Ini list bahannya:

– resistor 68 ohm 2 buah, 1k ohm 2 buah, 10k ohm 1 buah, 2k2 ohm 1 buah, semuanya yang 0,25watt

– kapasitor keramik 22p farad 2 buah , 100n farad, elco 4,7u farad/16 volt

– kristal 12MHz

– dioda zener 3,6volt 2 buah

– LED 3 buah

– ATMega8 + soket 1 buah

– USB female type B (colokannya yg kayak di printer)

– kabel USB printer

– PCB

– pin header single 1 sisir

– kabel jumper

Sedangkan alatnya :

– solder

– tenol (timah)

– tang potong

Boardnya bisa didownload disini :

http://taufiqsunar.kandangbuaya.com/USBasp jadi.brd

ato kalo pengen udah jadi pdf, donlot ini :

http://taufiqsunar.kandangbuaya.com/USBasp jadi.pdf

Donlot juga folder ini :

http://taufiqsunar.kandangbuaya.com/USBasp.tar.gz

Lalu install drivernya seperti biasa, next next next. Kalo udah, colokin USBasp ke port USB laptop/komputer. Tapi ATMega8 nya jangan dipasang dulu, biar kalo ada kesalahan bisa diketahui dulu. Di folder itu ada USB.hex yang harus kita masukin ke ATMega8 nya, sehingga si ATMega8 bisa berfungsi sebagai downloader. Untuk masukinnya, minta tolong temen yang punya downloader ATMega8 ato pake paralel/serial. Kalo udah beres semuanya, downloader USBasp bisa dipake dengan program AVRDude.exe .

Untuk temen-temen linux, bisa langsung gunakan AVRDude versi command line :

http://www.nongnu.org/avrdude/

dijamin lebih stabil, tapi harus teliti ngtik optionnya, karena, ya tadi, kalo salah setting fuse bit nya akibatnya bisa cukup gawat.

Ada juga beberapa software untuk GUI avrdude, seperti :

http://sourceforge.net/projects/kontrollerlab/

http://sourceforge.net/projects/avrdude-gui/

Jadi jangan ragu untuk gunakan USBasp di  Linux

Tips dan trik nya:

– kalo mau print pdf nya, scale nya pilih yg none, soalnya biar ukurannya pas sama soket ATMega8, gak kekecilan n gak kebesaran

– ketika nyolder harus bener2 presisi dan hati2, soalnya kalo ada jalur VCC dan Ground yang nyambung, USBasp nya bisa konslet dan ngrusak ATMega8 plus port USB di laptop ato komputer temen2.

– kalo bisa PCB nya dikasih alas gabus ato apalah biar kaki2 komponen n jalurnya gak nyentuh ground, karena bisa mengganggu kinerja downloader

– setingan fuse bit di AVRDude harus bener-bener bener, soalnya kalo ada salah sedikit aja, mikro AVR kita bisa ke-lock dan susah ngembaliinnya.

Terima kasih saya tujukan kepada mas Dhani Nugraha yg telah menulis artikel di blognya, sebagai sumber inspirasi saya membuat downloader.

http://yusisukmalia.wordpress.com/2009/04/21/panduan-membuat-downloader-avr-usb/

Terima kasih juga kepada mas Anis Chung yg telah memeriksa solderan saya, dan mas Ian Hedset yang telah mendonlotkan file .hex nya ke downloader saya. Hehehe

Sip, itu dulu deh. Selamat mencoba!

//
Dec 13, 2010