Thursday, October 28, 2010

Tutorial 2: Setup MPLAB IDE

Assalamualaikum semua,

Berikut adalah cara2 untuk memasang/setup MPLAB IDE. Saya paparkan menggunakan urutan gambar2 supaya senang/tak keliru dalam memasangnya (sebenarnya tak susah pun).

Apa yang saya akan tunjukkan di sini adalah cara memasang MPLAB IDE n Hi-Tech C compiler. Hi-Tech C compiler yang akan dipasang ini adalah version Lite (Hi-Tech C Lite version/free version) untuk compile C code kepada hex code untuk PIC siri PIC10xxxx, PIC12xxxx dan PIC16xxxx.

MPLAB IDE adalah tempat untuk :

1. Menulis/edit C code/firmware/aturcara untuk uC PIC
2. Untuk compile C code kepada Hex code (code yang dipahami oleh PIC).
3. Untuk memasukkan Hex code ke dalam PIC dengan menggunakan PIC programmer (PICkit2) ... saya akan tunjukkan secara detail kemudian.
4. Untuk debug/mengenalpasti masalah terperinci peringkat bahasa mesin/Hex code/melihat PIC bekerja (yang ni susah sikit untuk di tunjukkan dalam blog ni, saya tak tunjuk dalam blog tapi mungkin diajar jika saya adakan kelas belajar PIC face to face).
5. Dan lain-lain (yang nie saya tak sentuh dalam blog ni).

Hi-Tech C compiler adalah untuk menukar/convert C code kepada Hex code. PIC hanya faham bahasa mesin iaitu hex code.

Berikut adalah langkah2 untuk memasang MPLAB IDE n Hi-Tech C compiler.


1. Pilih/double clik 'setup' untuk memulakan pemasangan MPLAB IDE.



2. MPLAB IDE installation in progress.



3. Clik 'Next'.



4. Accept MPLAB IDE license ... clik 'Next'.



5. Pilih complete installation ... clik 'Next'.



6. Accept license aggrement n clik 'Next'.



7. Accept license aggrement n clik 'Next'.



8. Accept license aggrement n clik 'Next'.



9. Mula install MPLAB IDE ... clik 'Next'.


10. Install MPLAB IDE ... in progress.



11. Install Hi-Tech C compiler ... clik 'Yes'.



12. Clik 'Next' untuk install Hi-Tech C ... clik 'Next'.



13. Accept lesen untuk install Hi-Tech C. clik checkbox n ... clik 'Next'.



14. Pilih folder untuk install Hi-Tech C ... clik 'Next'.



15. Pilih bahasa yang dikehendaki. Check box 'Add to environment path' adalah untuk kita menjalankan compilation menggunakan command line. Nak check/uncheck box .. mana2 pun boleh sebab kita tak guna command line dalam tutorial nie ... clik 'Next'.



16. Hi-Tech C compiler dah siap pasang ... clik 'Finish'.



17. Akhirnya, siap install MPLAB IDE ... clik 'Finish'.



18. Sesiapa nak baca dokumen yang berkenaan, sila pilih fail tersebut atau abaikannya.



19. Click icon nie untuk memulakan/menggunakan MPLAB ... selamat berjaya.

Wednesday, October 27, 2010

Info selingan: Saya akan buat PIC board ver2

Assalamualaikum semua,

Berdasarkan komen pembaca, saya akan membuat satu lagi PIC board ver2 yang mana board ini mempunyai ciri2 berikut:

1. PIC board
2. LED - 8 unit
3. Button - 2 unit
4. RS232 pin
5. PWM pin

So dengan board nie, sesiapa yang ingin belajar PIC hanya perlu ada/buat/beli 2 board sahaja ... PIC programmer n PIC board ver2.

Terima kasih semua.

Monday, October 25, 2010

PENTING: Hardware yang wajib ada

Bagi yang ingin belajar PIC tetapi tak tahu apa hardware yang perlu ada/beli untuk pembelajaran PIC nie, senarai di bawah dapat membantu/menceritakan serba ringkas kenapa hardware tersebut diperlukan:

1. PIC board .. rujuk http://allpicproject.blogspot.com/2010/10/hardware-pic-board.html
- Board/hardware untuk PIC diprogram dan sebagai board utama untuk sambungan ke bahagian lain ie. board sensor, board wireless, board relay etc. (tanpa board nie, PIC tak boleh berfungsi .. dalam kes pembelajaran di blog ini).

2. PIC programmer .. http://allpicproject.blogspot.com/2010/10/hardware-pic-programmer-board-pickit2.html
- Board/hardware ini penting untuk memasukkan code (hex code) setelah kita compile C sourcode (saya akan terangkan kemudian secara lebih detail bila mula belajar nanti) ke dalam PIC. PIC tanpa hex code, PIC tak akan berfungsi.

3. LED n Button Board . . http://allpicproject.blogspot.com/2010/10/hardware-led-n-button-board.html
- Bila kita dah masukkan hex code ke dalam PIC ( guna PIC programmer), kita sambung PIC board kepada LED-Button board dan kemudian ON kan power supply dan kita akan dapat lihat hasilnya di LED-Button board. (tanpa LED-Button board, kita tak dapat hasil kerja PIC ... dalam kes ini).

NOTA: Adakah lebih baik saya membuat satu board yang mencantumkan PIC board + LED-Button board sebagai starter kit untuk sesiapa yang baru mula belajar PIC ? berbanding dengan 2 unit board berasingan?

Tk

Info selingan: Belajar bahasa C

Bagi sesiapa yang tiada asas bahasa C (saya guna bahasa C/C language untuk pembelajaran PIC nie) jangan la bimbang sangat. Bagi yang ada asas dalam bahasa basic (untuk PIC), tentunya anda dah mahir dengan architecture/hardware PIC, so tentunya takde la masalah sangat.

Bagi yang tiada asas langsung, blog nie di wujudkan untuk anda, so dont worry. Kalau tak paham, sila tanya, insya allah saya akan jawab sebaik mungkin (selagi saya mampu). Mungkin juga, ada orang lain yang lebih tahu tentang PIC dan ingin tolong selelaikan, siapa tahu ?.

Moral of story, kita kat sini saling belajar dan mempelajari. Pakat2 membantu sama lain.

Kemusykilan: Ganti PIC16F887 dengan PIC16F877A

Kepada sesiapa yang ada PIC16F877A, boleh juga menggunakan PIC tersebut menggantikan PIC16F887, tiada masalah dalam bentuk fizikal. Cuma ada beberapa perubahan yang perlu di buat dalam C code yang akan digunakan dalam pembelajaran ini.

Untuk pembelajaran ADC (analog to digital converter), PIC16F877A berbeza code berbanding PIC16F887. So untuk pembelajaran ON n OFF LED n button, PIC16F877A masih boleh guna. Cuma bila masuk bab ADC, minta sediakan PIC16F887 (supaya C code berfungsi dengan betul). Harap maklum.

Cuma sila guna board/litar schematic seperti yang saya sertakan untuk memudahkan dalam pembelajaran nanti. Saya hanya akan guna/refer kepada litar/board tersebut sahaja ( untuk mengelakkan/mengurang kekeliruan).

TK.

Info selingan: Setup MPLAB n Hi-Tech C

Insya allah, saya akan update dengan camne nak setup MPLAB n Hi-Tech C dalam beberapa hari lagi.

MPLAB adalah IDE yang diberi percuma oleh syarikat microchip (www.microchip.com). Manakala Hi-Tech C adalah syarikat yang membuat C compiler untuk PIC ini. Saya akan memuatkan gambar camne nak setup MPLAB n Hi-Tech C secara step by step.

So, buat masa ini, bagi sesiapa yang nak belajar (di blog nie), sila la download latest MPLAB kat (sila clik dan savekan file tu di harddisk komputer anda)

MPLAB IDE v8.56 Full Release

Kalau nak baca maklumat yang lebih detail (termasuk la, manual untuk MPLAB) sila ke SINI

Selamat membaca and terima kasih.

Hardware: PIC Programmer board (PICkit2 clone - 5V supply only)

PICKit Clone Schematic


PICKit2 Clone PCB (All)


PICKit2 Clone PCB (Components)


PICKit2 Clone PCB (Track)






PIC programmer ini adalah clone PICkit2 (USB programmer) dan hanya boleh program PIC yang power supply 5V sahaja. Programmer sesuai untuk laptop yang tiada serial port dan hanya ada USB port.

PIC programmer ini memadai untuk memprogramkan PIC16F887 yang akan digunakan dalam pemembelajaran PIC dalam blog ini.

Bagi sesiapa yang ingin mendapatkan hardware ini, package harga adalah RM60.00 (siap pasang + test + belanja POS ke seluruh malaysia. Bagi penghantaran ke luar negara, sila email ke allpicproject@gmail.com untuk kos keseluruhan).

Sila email terlebih dahulu (email: allpicproject@gmail.com) untuk memastikan ada stok atau tidak. Jangkamasa siap PICKit2 clone ni adalah 7 hari daripada duit pembayaran diterima.

Bagi sesiapa yang ingin membuat sendiri, sila download semua fail (schematic, pcb, firmware dan nota) dari url di bawah.


Bagi sesiapa yang menggunakan fail PCB yang di download dari blog ni, sila tekan icon 'Ratsnet' rujuk gambar di bawah supaya litar PCB lengkap.





Terima kasih.

Hardware: LED n Button board



Ini pula berkenaan dengan hardware untuk pembelajaran asas iaitu LED n Button board. Hardware ini menggunakan schematic yang telah di poskan sebelum ini dan telah ditest dan berjaya.

Bagi sesiapa yang ingin mendapatkan hardware ini (belum pasang/siap pasang), package harga adalah seperti berikut:

1. Package 1:
- PCB (siap tebuk lubang) + komponen (pembeli kena solder komponen sendiri) = RM26.00

2. Package 2:
- PIC Board (siap pasang + test) = RM36.00 (upah pasang = RM10.00)

3. Belanja POS = RM10.00 ( per setiap penghantaran)

So, bagi sesiapa yang berhajat nak dapatkan PIC board/komponen daripada saya, sila hantar email ke allpicproject@gmail.com. Saya akan balas secepat mungkin dengan info2 yang berkenaan.

Terima kasih.

Hardware: PIC board

Assalamualaikum semua,

Pertama-tama kalinya, saya ingin meminta maaf kerana tidak dapat meng 'upload' kan hardware PIC board seperti yang dijadualkan kerana masalah kamera untuk mengambil gambar sebaik mungkin untuk paparan semua. Tapi akhirnya berjaya jugak walaupun gambarnya tidak la cam pro punya hasil.

Ok, ini gambar hardaware untuk PIC (PIC mainboard) + PIC16F887 :


PIC Board + PIC16F887



PIC Board shj



PIC Board ( solder side )



PIC Board + PIC16F887


Gambar yang seterusnya menunjukkan lubang pin extra untuk Port A,B,C,D n E. Ini adalah untuk kegunaan yang akan datang (jika ada). So, dengan adanya lubang pin extra, maka tak perlu la membeli board baru jika ada kegunaan tambahan.

Lubang pin extra tu boleh di isi dengan molex connector atau pinhead.




Port B extra dan Port D extra.





Port A extra, Port E extra dan Port C extra.


Ok, bagi sesiapa ingin membuat sendiri PCB board, sila gunakan litar schematic yang di sertakan sebelum ini. Hardware ini telah di uji. Selamat membuatnya.

Bagi sesiapa yang ingin pasang sahaja, saya ada membekalkan PCB (dah siap tebuk lubang) + komponen electronik yang berkenaan (pembeli kena pasang/solder komponen sendiri) pada harga yang kompetatif (lebih kurang harga elektronik di jalan pasar, KL) . Bagi sesiapa yang ingin membeli yang telah siap ( saya pasang n test), juga boleh berbuat demikian.

Harga2 adalah seperti berikut:

1. Package 1:
- PCB (siap tebuk lubang) + komponen (pembeli kena solder komponen sendiri) = RM27.00
- 2 unit PIC16F887 ( RM11/unit) = RM22.00
- JUMLAH = RM49.00

2. Package 2:
- PIC Board (siap pasang + test) = RM37.00 (upah pasang = RM10.00)
- 2 unit PIC16F887 ( RM11/unit) = RM22.00
- JUMLAH = RM59.00

3. Belanja POS = RM10.00 ( per setiap penghantaran)

So, bagi sesiapa yang berhajat nak dapatkan PIC board/komponen daripada saya, sila hantar email ke allpicproject@gmail.com. Saya akan balas secepat mungkin dengan info2 yang berkenaan.

Terima kasih.







Wednesday, October 20, 2010

Tutorial 1.4: Hardware/litar asas yang perlu ada


Litar PIC Programmer - PICkit2 Clone ( utk PIC 5V-supply sahaja, bukan untuk PIC 3.3V-supply)


Thursday, October 14, 2010

Tutorial 1.3: Hardware/litar asas yang perlu ada


Litar LED n Button

Tutorial 1.2: Hardware/litar asas yang perlu ada


Litar PIC Board.

Tutorial 1.1: Hardware/litar asas yang perlu ada

Assalamualaikum semua,

Dalam berbincang/mempelajari PIC, saya akan gunakan/buat litar secara modular. Maksud modular adalah, kita boleh sambung beberapa litar (board) dengan menggunakan kabel sambungan untuk membentuk suatu project dengan cepat.

Maksudnya, jika saya nak buat projek yang akan memaparkan butang yang di tekan di LCD, maka saya akan sambungkan main board (PIC board) + LCD board + Button board. Dengan cara ini, kita boleh membuat/menguji projek dengan cepat dan sistematik. Dan kita boleh cabut/asingkan board berkenaan bila kita tak gunakan lagi.

Untuk permulaan, saya dah buat litar untuk:

1. Main board (PIC board)
2. LED n Button board
3. Programmer board ( PICkit2 Clone - boleh program PIC yang voltan supply 5V shj ... tak boleh program PIC yang voltan supply 3.3V)

Saya akan upload litar PIC board dan LED n Button board. Programmer board, saya akan upload kemudian sebab saya nak ubahsuai sikit.

Satu perkara lagi, saya juga akan jual kit untuk board2 tersebut. Harga kit ( PCB + elektronik components) akan di bagi beberapa hari nanti (saya kena check harga kat jalan pasar).

Bagi yang nak buat board itu sendiri, saya alu2kan (sila email kepada saya ... allpicproject@gmail.com ... nanti saya email file pdf schematic litar tersebut.

Semoga berjaya.
Terima kasih.

Tutorial 1.0: Hardware/litar asas yang perlu ada



Assalamualaikum semua,

Ok, hari nie (actually dah pagi da ...) saya akan sentuh berkenaan dengan hardware asas (litar asas) untuk PIC yang perlu ada sebelum kita buat program untuk PIC tu.

Litar asas adalah seperti di atas (sila klik untuk saiz yang lebih besar).

Ok, saya cuba terangkan sebaik mungkin bahagian2 yang terlibat:

1. A: Reset/Prog - bahagian nie adalah untuk reset uC dengan tekan S2 dan lepas ( uC akan reset dan mula dari awal/ re-start). Pin 1 ( Vpp) adalah voltan untuk programming iaitu lebih kurang 13V. (saya akan sentuh bila bab camne nak program PIC nanti).

2. B: Coupling - dengan meletakkan satu capacitor 100n antara Voltan supply untuk uC dan ground uC (sedekat mungkin dengan uC/PIC tersebut), ini akan menstabilkan PIC ketika PIC bekerja dan capacitor ini amat penting.

3. C: Pull-up - di mana kita bagi/set pin (biasanya digital input pin) kepada kedudukan 5V (bermaksud uC akan melihat data yg masuk adalah 1 ... 5V = data 1) dan bila kita tekan S1, uC akan melihat data O (data zero .... 0V = data 0) yang masuk dan bukan data yang tak menentu (jika tidak pull-up / tidak pull-down). Jika data yang masuk tidak menentu, uC tidak dapat bekerja dengan teratur dan kemungkinan uC akan hang/stuck/intermittent adalah tinggi.

4. D: Pull-down - adalah sebalik dari pull-up dan berfungsi sama dengan pull-up (cuma sebaliknya). Dalam litar/pelajaran seterusnya, saya akan gunakan Pull-down (kecuali dalam keadaaan tertentu) sebagai default data (bila tak tekan suis atau tiada voltan dikenakan).

5. E: Output - contoh output menggunakan LED. satu perintang 150 ohm (biasanya di tulis sebagai 150R) secara siri dengan LED untuk mengelakkan arus terlalu besar melalui LED dan seterusnya mengganggu operasi PIC (jika terlalu banyak arus keluar melalui mana2 pin PIC).

6. F: Crystal/Oscilator - Saya guna crystal 19.6608Mhz adalah tujuan yang akan datang (saya akan bincangkan ketika membuat jam menggunakan PIC). Jika tuan2 ingin menggunakan crystal nilai lain i.e. 20Mhz, pun boleh.

So, kalau ada apa2, boleh bincang atau email kpd saya di allpicproject@gmail.com.

Terima kasih

Update 11 Dec 2011 :

Sila guna/buat board v3 ( kecuali programmer PICkit2 clone) untuk kegunaan tutorial di blog ini. Saya akan menggunakan board v3 untuk tutorial dan projek yang akan datang di sebabkan board v3 lebih kemas dan senang untuk digunakan berbanding board versi yang sebelumnya.

Bagi sesiapa yang sudah ada board versi terdahulu, boleh terus gunakannya tanpa sebarang perubahan atau hanya sedikit pengubasuaian perlu di buat untuk board tertentu sahaja.

Harap maklum.

Tuesday, October 12, 2010

Info selingan

Seperkara lagi, saya akan menyelitkan beberapa projek ringkas (menggunakan PIC) dalam tutorial di blog ini supaya ia boleh menghilangkan jemu membaca tutorial.

Saya bercadang untuk memuatkan satu projek setiap 2 minggu bergantung kepada kelapangan saya. Dan bagi yang ada idea simple untuk diketengah sebagai tajuk projek PIC, saya amat alu2kan idea tersebut.

Terima kasih.

Senarai peralatan/perisian asas yang perlu ada

Assalamualaikum semua,

Saya doakan kita semua dalam keredaan Allah SWT sentiasa dan setiasa mendapat keampunanNYA.

Ok, untuk memulakan proses permbelajaran microcontoller (uC) PIC (www.microchip.com), kita perlu ada:

1. Litar uC untuk PIC - litar di mana uC PIC akan berfungsi sebagai otak/main prosessor. (saya akan upload schematic n PCB kemudian)

2. uC PIC iaitu PIC16F887 - PIC yang akan digunakan

3. MPLAB IDE - iaitu software bagi menulis sourcecode untuk PIC (saya akan bg tutorial camne nak setup kemudian)

4. Compiler iaitu Hi-Tech C - ia adalah software untuk menukar sourcecode (dalam kes nie ... C language/ bahasa C akan digunakan) kepada Hex code (bahasa mesin ... PIC hanya faham bahasa mesin).

5. Programmer - hardware/alat yang akan memasukkan hex code ke dalam PIC.

Itu sahaja setakat ini. Saya akan perincikan secara lebih detailnya kemudian.