Archive

Archive for the ‘Tutorial’ Category

Bekerja dengan Arduino, tanpa Board Arduino, Upload dengan USBasp

October 6, 2011 2 comments

Tidak asing lagi bagi para programmer mikrokontroller apa itu Arduino, jadi disini tidak perlu dijelaskan lebih mendalam tentannya. Melihat Judulnya mungkin agak sedikit bingung bagi para user pemula atau bahasa gaulnya newbie, setelah bertanya sama mbah google dan sedikit sentuhan di source arduino-nya, kita bisa bekerja menggunakan software arduino tapi dengan board selain arduino. Proses upload program menggunakan USBasp lewat interface GUI arduinonya, seperti kita ketahui kalo menggunakan USBasp program uploader yang biasa dipakai adalah khazama atau extreem. Kenapa kita menggunakan Arduino disini, mungkin karena arduino menyediakan library yang cukup lengkap dan mudah dalam pemrogramannya. Ok, langsung saja ke TKP..(kayak OVJ….)..,

Disini penulis menggunakan Arduino 022, seperti diketahui bahawa Arduino 022 hanya support mikrokontroller tertentu saja. Agar Arduino ini bisa support ke mikrokontroller AVR yang lain perlu dilakukan perubahan di konfigurasi wiring+boardnya, tepatnya ada folder \\arduino-0022\arduino-0022\hardware\arduino. Untuk melakukan konfigurasi ini, teman2 tidak perlu pusing2 lagi karena sudah ada yang membuatnya bisa lihat diartikel ini http://agfi.staff.ugm.ac.id/blog/index.php/2010/09/arduino-ku-mendukung-berbagai-macam-avr-atmega/ setelah diterapkan pada arduino 022 hasilnya seperti dibawah ini

Dalam Proses Upload program, bisanya arduino menggunakan bootloader, nah jika kita menggunakan IC AVR yang baru dibeli tentunya tidak akan bisa diprogram menggunakan arduino ini. Untuk mengatasi masalah di atas ada sebuah solusi yaitu meng-integrasikan antara USBasp dengan Arduino. Cara integrasi tersebut bisa dilihat pada artikel ini http://gunture.blogspot.com/2011/08/arduino-tanpa-booloader-pakai-usbasp.html.

Setelah kedua cara diatas kita gabungkan, maka kita akan dapat bekerja dengan Arduino dengan board selain Arduino dengan proses upload menggunakan USBasp. Sampai disini Software Arduino sudah support AVR yang lain dan upload program menggunakan USBasp tapi ada hal penting yang perlu si setting yaitu mengkonfigurasi upload program ke board kita. Caranya yaitu buka file arduino-0022\arduino-0022\hardware\arduino\board.txt, cari nama board arduino_penguino_avr lakukan perubahan seperti dibawah ini

##############################################################
arduino_penguino_avr.name=ATmega32

arduino_penguino_avr.upload.using=usbasp
arduino_penguino_avr.upload.protocol=usbasp
arduino_penguino_avr.upload.maximum_size=28672
arduino_penguino_avr.upload.speed=57600

#arduino_penguino_avr.bootloader.low_fuses=0xFF
#arduino_penguino_avr.bootloader.high_fuses=0xDA
#arduino_penguino_avr.bootloader.extended_fuses=0x05
#arduino_penguino_avr.bootloader.path=atmega
#arduino_penguino_avr.bootloader.file=stk500boot_v2_penguino.hex
#arduino_penguino_avr.bootloader.unlock_bits=0x3F
#arduino_penguino_avr.bootloader.lock_bits=0x0F

arduino_penguino_avr.build.mcu=atmega32
arduino_penguino_avr.build.f_cpu=2000000L
arduino_penguino_avr.build.core=arduino

Kenapa penulis menggunakan board ini, karena chip yang dipakai pada board ini adalah ATMega32, sesuai dengan yang penulis pakai. perhatikan upload.protocol dan build.fcpu sesuaikan dengan kondisi mikro yang kita gunakan. Berikut ini contoh program sederhana mengirimkan data serial menggukan board buatan innovative electronic (chip : ATmega32), hardware dapat dilihat dibawah ini

Contoh program serial data dengan program Arduino

Dan Hasilnya adalah

Agar lebih paham mengenai konfigurasi board, bisa di setting sesuai dengan board yang temen2 buat,,maka fokuskan untuk melakukan konfigusari di folder \\arduino-0022\arduino-0022\hardware\arduino, pahami wiringnya..

Sekian dari penulis semoga bermanfaat.

Referensi:

http://agfi.staff.ugm.ac.id/blog/index.php/2010/09/arduino-ku-mendukung-berbagai-macam-avr-atmega/

http://gunture.blogspot.com/2011/08/arduino-tanpa-booloader-pakai-usbasp.html

Categories: Mikrokontroler

AVRStudio 5

Setelah beberapa lama menggunakan avr studio 4, ternyata atmel meluncurkan AVR Studio versi 5. setelah download dan install, tampilan AVRStudio 5 setelah diperhatikan mirip dengan Visual Studio 2010. berikut ini cara create new project di AVR studio 5.

1. Klik New Project akan muncul tampilan dibawah ini –> pilih AVRGCC –>Empty Executable Project

Isi Name, Location, Solution Name sesuai dengan yg diinginkan –> klik OK

2. Pilih Device / IC yg digunakan –> Klik OK

3. Silahkan memulai membuat program

AVRStudio 5 bisa didownload di www.atmel.com

Categories: Mikrokontroler

GPS Tracker with Google Map on Delphi

Sudah lama tidak menulis di blog ini,,sore ini ndak tau mengapa kengini menulis di blog ini..sore ini kita akan membuat GPS tracker di delphi menggunakan google map..sistem ini banyak dijumpai pada aplikasi monitor taxi, pemandu jalan dll..permasalahan yang dihadapi dalam pembuatan aplikasi ini adalah pertama identifikasi data dari GPS ke PC melalui serial com, yang kedua adalah bagaimana memetakkan data tersebut ke dalam peta digital dalam hal ini Google Map..dalam aplikasi ini digunakan GPSMap 295 buatan Garmin..keluaran dari GPS ini berupa data serial dengan format data NMEA 0813, Garmin protocol, Ascii format dll..dalam aplikasi ini dipilih format Ascii.

format ascii tersebut seperti dibawah ini

Simple Text Output Format:

The simple text (ASCII) output contains time, position, and velocity data in
the fixed width fields (not delimited) defined in the following table:

FIELD DESCRIPTION:      WIDTH:  NOTES:
———————– ——- ————————
Sentence start          1       Always ‘@’
———————– ——- ————————
/Year                    2       Last two digits of UTC year
| ———————– ——- ————————
| Month                   2       UTC month, “01″..”12″
T | ———————– ——- ————————
i | Day                     2       UTC day of month, “01″..”31″
m | ———————– ——- ————————
e | Hour                    2       UTC hour, “00″..”23″
| ———————– ——- ————————
| Minute                  2       UTC minute, “00″..”59″
| ———————– ——- ————————
\Second                  2       UTC second, “00″..”59″
———————– ——- ————————
/Latitude hemisphere     1       ‘N’ or ‘S’
| ———————– ——- ————————
| Latitude position       7       WGS84 ddmmmmm, with an implied
|                                 decimal after the 4th digit
| ———————– ——- ————————
| Longitude hemishpere    1       ‘E’ or ‘W’
| ———————– ——- ————————
| Longitude position      8       WGS84 dddmmmmm with an implied
P |                                 decimal after the 5th digit
o | ———————– ——- ————————
s | Position status         1       ‘d’ if current 2D differential GPS position
i |                                 ‘D’ if current 3D differential GPS position
t |                                 ‘g’ if current 2D GPS position
i |                                 ‘G’ if current 3D GPS position
o |                                 ‘S’ if simulated position
n |                                 ‘_’ if invalid position
| ———————– ——- ————————
| Horizontal posn error   3       EPH in meters
| ———————– ——- ————————
| Altitude sign           1       ‘+’ or ‘-’
| ———————– ——- ————————
| Altitude                5       Height above or below mean
\                                sea level in meters
———————– ——- ————————
/East/West velocity      1       ‘E’ or ‘W’
|     direction
| ———————– ——- ————————
| East/West velocity      4       Meters per second in tenths,
|     magnitude                   (“1234″ = 123.4 m/s)
V | ———————– ——- ————————
e | North/South velocity    1       ‘N’ or ‘S’
l |     direction
o | ———————– ——- ————————
c | North/South velocity    4       Meters per second in tenths,
i |     magnitude                   (“1234″ = 123.4 m/s)
t | ———————– ——- ————————
y | Vertical velocity       1       ‘U’ (up) or ‘D’ (down)
|     direction
| ———————– ——- ————————
| Vertical velocity       4       Meters per second in hundredths,
\    magnitude                   (“1234″ = 12.34 m/s)
———————– ——- ————————
Sentence end            2       Carriage return, ’0x0D’, and
line feed, ’0x0A’
———————– ——- ————————

dari format data diatas dapat diketahui posisi object, ketinggian, kecepatan dll..data dari gps ini dikirimkan setial 1 secon. setelah mengetahui posisi object maka langkah berikutnya adalah melakukan plot data ke google map. adapun software tampilannya seperti di bawah ini

Dalam menampilkan google map digunakan komponen twebbrowser bawaan delphi.setelah itu add polyline pada google map menggunakan java script yang dijalankan lewat delphi.

Categories: Delphi

USB Downloader for AVR

October 1, 2009 3 comments

Downloader AVR banyak macamnya, salah satu yang paling banyak digunakan adalah PonyProg (www.lancos.com). Dalam menulis firmware ke mikro ponyprog menggunakan interface parallel dan serial. Dengan keterbatasan ini ponyprog tidak bisa digunakan di laptop yang notabenenya tidak mempunyai port parallel ataupun serial. Penulis pernah mencoba menggunakan converter USB to serial tapi hasilnya sangat tidak memuaskan, proses write/reade sangat lama sekali :( . Untuk mengatasi masalah diatas, setelah searching melalui mbah google penulis menemukan USB downloader for AVR yang ada di http://www.fischl.de/usbasp/. Mungkin para pembaca sudah bisa membuat USB downloader ini, tapi tak ada salahnya penulis menuliskan bagaimana cara membuat USB downloader ini. Cara membuat USB downloader ini sebagai berikut:

1. Buat PCB dari rangkaian dibawah ini

rangkaian

2. Tulis versi Firmware sesuai dengan mikrokontroller yang digunakan menggunakan downloader yang ada misalnya menggunakan Ponyprog dengan interface Parallel.

3.  Ubah Setting clock untuk 12MHz eksternal, setting H Fuse dan L fuse bisa dilihat di bawah ini

setting

4. Install Driver USB, pilih sesuai versi winAVR yang digunakan

instal3

klo proses intallasi driver USB sukses, akan muncul gambar di bawah ini

instal55. USB Downloader siap digunakan

Untuk menulis .hex ke mikrokontroller dapat digunakan program khazanah (Khazanah.com), seperti dibawah ini

khazama12

Semoga Bermanfaat :)

Categories: Mikrokontroler

Webcam Multi Dengan DSPACK

August 12, 2009 42 comments

Beberapa hari yang lalu penulis mendapatkan beberapa pertanyaan bagaimana membuat membuat program capture jika webcamnya lebih dari satu meggunakan DSPACK. Dengan spontannya saya menjawab untuk satu webcam diperlukan 1 filter, 1 filtergraph, dan 1 videowindow dari komponen DSPACK. Mungkin dari situ masih kurang jelas, dalam penjelasan berikut ini akan dijelaskan bagaimana membuat aplikasi diatas dengan lebih dua webcam. Seperti yang saya bilang diatas, dalam tutorial ini digunakan 2 webcam yaitu 1 webcam bawaan laptop dan 1 webcam external. Pertama kali kita buat form aplikasi seperti gambar dibawah ini

setting2

pada gambar diatas untuk tiap2 webcam memerlukan komponen 1 combobox, 1 filter, 1 filtergraph dan 1 videowindow. Setelah menambahkan komponen yang diperlukan seperti gambar diatas, ubah properties caption bitbtn1 menjadi “Mulai” lalu tambahkan program dibawah ini untuk onclick bitbtn1

setting7

procedure TForm1.BitBtn1Click(Sender: TObject);
var
i : integer;
begin
if bitbtn1.Caption = ‘Mulai’ then
begin
bitbtn1.Caption:=’Close’;
CapEnum:= TSysDevEnum.Create(CLSID_VideoInputDeviceCategory);
for i := 0 to CapEnum.CountFilters – 1 do
begin
combobox1.Items.Add(CapEnum.Filters[i].FriendlyName);
combobox2.Items.Add(CapEnum.Filters[i].FriendlyName);
end;
end
else
close;
end;

setelah itu untuk tiap2 komponen DSPACK yang terpasang, atur propetiesnya sebagai berikut:

1. Filter

setting32. filtergraph

setting13. video window

setting4setelah itu, untuk masing2 combobox tambahkan prosedure onclick seperti terlihat pada gambar dibawah

setting8untuk combobox1 pada rosedure onclick tambahkan program dibawah ini

setting9sedangkan untuk combobox2 tambahkan program dibawah ini

setting10berikutnya adalah tambahkan variabel Capenum seperti yang terlihat pada gambar dibawah

setting11setelah itu tambahkan prosedure closequery seperti dibawah ini

setting5pada prosedure closequery tambahkan program seperti dibawah ini

setting6sampai disini program masih belum bisa dijalankan, jika dijalankan akan muncul error CapEnum tidak terdefinisi. untuk tambahkan directshow9 dan DSutil pada uses seperti pada gambar dibawah ini

setting12nah sampai disini program sudah bisa dijalankan..jalankan program dengan menekan F9 seperti pada gambar dibawah ini hasil dari program diatas

hasilPada tampilan diatas untuk webcam 1 dipilih webcam dari laptop sedangkan untuk webcam 2 dipilih webcam eksternal…

Nah teman itulah sedikit tutorial bagaimana membuat aplikasi capture video webcam jika webcamnya lebih dari 1..Demikian dari penulis, smoga bisa membantu..

semua artikel diatas dapat di download disini

http://www.ziddu.com/download/6008257/CaptureVideoMultiWebcamdenganDSPACK.pdf.html

Categories: Delphi
Follow

Get every new post delivered to your Inbox.