Archive

Archive for the ‘Delphi’ Category

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

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

WireLess Bootloader for AVR

setelah utak-atik bagaimana membuat wireless bootloader buat AVR, akhirnya selesai untuk fungsi write. hal pertama yang dilakukan dalam pembuatan project ini adalah:

  1. membaca datasheet avr tentang bootloader
  2. bagaimana membaca file .hex –> digunakan delphi

setelah browsing di internet akhirnya ketemu juga bagaimana cara membaca file .hex dengan delphi. disinilah kunci utamnya bootloader ini..setelah di utak-atik akhirnya selesai prototipe GUI nya..dapat dilihat dibawah ini

boot

di sisi AVR nya..kita mesti mensetting alamat awal saat boot dimulai, penentuan alamat awal ini terletak pada BOOTSZ1, BOOTZ0, dan BOOTRST

boot2untuk menentukan nilai dari ketiga parameter diatas dapat dilihat pada datasheet…to be continue…. :)

Categories: Delphi, Mikrokontroler

Battery Monitor

March 25, 2009 8 comments

Ini adalah project untuk memantau keadaan battery sejumlah 40 buah disusun secara seri,,keadaan masing2 battery dipantau melalui komputer dengan delphi..adapun file PCBnya bisa dilihat dibawah ini

batGambar PCB

Pada gambar PCB diatas terdapat 40 relay yang menanganni masing-masing battery dan sebuah mikrokontroller..data dikirim ke komputer secara serial,dengan komunikasi handshaking..tampilan delphi berupa grafik dan data dapat disimpan dalam file .txt dan image..

plnproject

Lagi pengujian

bat41Tampilan Software

bat3Data disimpan di notepad.

Categories: Delphi, Mikrokontroler

Simulasi Sistem Monitoring Temperatur Ruangan

February 13, 2009 16 comments

Hari ini penulis membuat sebuah project sistem monitoring temperatur (bisa diganti dengan yang lain) pada sebuah ruangan dilengkapi dengan web camera. Hasil pemantauan temperatur di tampilkan dalam chart (grafik) dengan interface software delphi 7. Data temperatur (bisa yang lain) disimulasikan dengan resistor variabel dengan mengubah-ubah nilai resistansinya. Data tegangan resistor variabel diubah menjadi data digital dengan ADC internal kemudian data dikirim secara serial dengan format paket data yang telah ditentukan. Format paket data ini disesuaikan dengan selera programmer. Sistem komunikasi antara User Interface (UI) dengan object (MCU) berjalan dua arah dimana UI mengirimkan sinyal request terlebih dahulu, baru MCU memberikan respon besarnya ADC yang terukur. Pengambilan data temperatur dapat diatur melalui UI dengan memilih time sample data yang telah disediakan.

set2Time sample data

Project ini menggunakan fitur serial port, DSPACK untuk mengambil gambar, timer untuk menentukan waktu pengambilan sample data dan beberapa tombol. Perancangan awal sistem dapat dilihat pada gambar dibawah ini

awalTampilan awal project

Project ini dilengkapi dengan monitoring ruangan memanfaatkan fitur DSPAK, sehingga kondisi visual ruangan tersebut bisa dimonitor secara langsung. Untuk mengetahui devais webcam yang tersambung ke komputer lewat USB dapat dipilih melalui item yang terdapat pada combobox delphi seperti yang terlihat pada gambar dibawah ini

set1Select komponen Webcam

Proses pengiriman data dilakukan secara serial dengan boudrate (19200,8,1,n,n) menggunakan format paket data sebagai berikut Header-Data-Tail. Data yang dikirim merupakan data hasil konversi ADC. Berikut ini tampilan hasil monitoring.

akhirTampilan project

Ok..teman, Project ini masih sederhana dan perlu dikembangkan lagi..

Jabat Erat Selalu

Dayat Kurniawan

Categories: Delphi, Mikrokontroler
Follow

Get every new post delivered to your Inbox.