Monday, December 19, 2011

Selingan : Sistem Keselamatan Rumah Terkini

Assalamualaikum semua,

Insya Allah saya akan membuat sedikit upgrade untuk Sistem Keselamatan Rumah DIY ( Projek_001) dalam sedikit masa lagi ( tunggu 4Relays Board v3 siap pasang ).

1. Saya akan menggunakan board-board v3 untuk demo tersebut. Board-board tersebut adalah PIC Board v3, LED n Button Board v3, DwiLED Board v3 dan 4Relays Board v3.

2. Saya akan ubah suai supaya semua LED di uji terlebih dahulu sebelum sistem tersebut beroperasi.

3. Saya akan upload fail-fail yang terbaru ( Hitech C file ).

4. Saya akan buat video DEMO dan uploadkan ke internet.

Sekian, terima kasih.

Friday, December 16, 2011

Projek 2.2 : Litar Schematic ( Konsep )

Assalamualaikum semua,

Disertakan litar schematic ( konsep ) untuk gadget SetMasa.




1. LCD di sambung kepada port A ( A0 - A5) dan sebagai petunjuk/paparan.

2. Button di sambung kepada port C ( C0 - C7 ). Button sebagai input/setting untuk SetMasa

3. Relay di sambung kepada port B ( B0 - B3). Di dalam litar di atas, relay hanya 1 unit sebab kekurang ruang. Di dalam litar di atas, relay menyambung Mentol 12V kepada supply DC sebagai contoh ... kalau dalam penggunaan sebenar, L1 dan DC12 boleh ditukar kepada Mentol kalimantan dan AC supply 240 VAC.

Sekian untuk kali ini,

Insya Allah, akan bersambung ...

Selingan : Board v3 Update

Assalamualaikum semua,

Saya dah uploadkan fail eagle untuk board v3 dan sila rujuk posting berkenaan.

1. LCD Board v3 ... link
2. LED n Button Board v3 ... link
3. DwiLED Board v3 ... link
4. PICBoard v3 ... link

Terima kasih.

Thursday, December 15, 2011

Projek 2.1 : Kegunaan

Assalamualaikum semua.

SetMasa adalah gadget elektronik untuk menghidupkan/mematikan alatan elektrik yang bersambung kepada sumber elektrik ( AC single phase ) melalui relay.

Tujuan SetMasa di bangun/dibina untuk kegunaan berikut.

Ciri-ciri :

1. Mempunyai 4 set masa ( boleh ditambah mengikut keperluan melalui ubahsuai program PIC) yang berasingan setiap satu ( tidak berkait satu sama lain).

2. Daripada 4 set masa ... 1 bolehubah secara online/real time dan 3 lagi adalah tetap ( hanya boleh ubah melalui ubahsuai program/firmware PIC )

3. Untuk set bolehubah, boleh set masa hidup dan masa mati dari tempoh 1 saat sehingga 99 jam.

4. SetMasa boleh mengulangi masa hidup (ON) dan mati (OFF) sehingga 999 kali.

Kegunaan/Tujuan:

1. Boleh mengecas bateri HP/Laptop untuk 1 tempoh tertentu ( Ulangan = 0 ) ... contohnya charge bateri laptop 3 jam (tempoh untuk charge penuh) ... selepas 3 jam, Elektrik AC yang di masukkan ke laptop (untuk mengecas bateri) di matikan. Begitu juga untuk charge hp ( matikan alat pengecas hp). Dengan mematikan alat mengecas selepas bateri di charge penuh ... ini akan memanjangkan jangka hayat bateri laptop/hp dan menjimatkan penggunaan tenaga elektrik.

2. Katakan di dalam periuk nasi elektrik terdapat banyak baki nasi selepas makan malam. Jika dibiarkan dalam keadaan 'warm' nasi akan menjadi kering/keras/kerak dan jika tidak ON kan periuk nasi, mungkin serangga merayap akan curi masuk ke dalam periuk nasi. Dengan menggunakan SetMasa, SetMasa akan menyambungkan elektrik dari sumber ke periuk elektrik secara berkala ... sebagai contoh ON (panaskan periuk) selama 10 minit (sebagai contoh) dan OFF (matikan elektrik ke periuk) untuk tempoh 50 minit selepasnya dan ini akan berulang mengikut berapa banyak ulangan yang kita set. Dengan SetMasa, nasi tetap panas/selamat dari serangga/haiwan dan tak buang/guna banyak elektrik.

Dan lain-lain kegunaan yang sesuai.

Insya Allah akan bersambung ...

Tuesday, December 13, 2011

Projek 2.0 : SetMasa

Insya Allah, projek yang seterusnya adalah alat untuk ON/OFF alatan elektrik lain berdasarkan masa.

Projek ini saya namakan SetMasa. SetMasa berciri-cirikan :

1. Ada 4 set masa ( 1 boleh diset bila-bila masa, 3 lagi ada pre-set masa/hardcode dalam PIC ).

2. Untuk set masa bolehubah, cirinya adalah :
a) Panjang masa ON
b) Panjang masa OFF
c) Bil ulangan
d) Status (Start/Stop, ON/OFF )

3. Untuk menghidupkan (ON) alatan lain, SetMasa menggunakan relay sebagai perantara untuk mengalir/memberhentikan arus AC 240V ( single phase AC ) kepada alatan lain.

4. 3 set masa yang lain akan di setkan :
a) Panjang masa ON
b) Panjang masa OFF
c) Bil ulangan
di dalam PIC (hardcode/tak boleh ubah ... melainkan ubah kod dalam PIC ).

5. Untuk 3 set masa (pre-set) ini, set ini boleh diaktifkan/dinyah aktif dengan menggunakan hanya 1 butang ( toggle).

6. Board v3 yang terlibat :
a) PIC board v3
b) 4Relays board v3
c) LCD board v3
d) Led n Button Board v3

Sekian dulu untuk kali ini.

Selingan : Board v3

Insya Allah, board v3 yang seterusnya (schematic n PCB dah siap .. cuma belum buat board) :

1. 4 unit relay board
2. PWM board
3. ADC board
4. RS232 board

Board yang akan di buat (schematic n PCB):

1. Wireless board ( TX n RX )
2. Temperature board
3. IR board
4. PhotoResister board
5. USB board
6. Motor Driver board

Dan lain-lain.

Hardware : LCD Board v3

Assalamualaikum semua,

Kali ini, disertakan board LCD v3 dan litar-litar yang berkaitan.

Gambar n litar LCD Board v3 adalah seperti berikut :



LCD Board v3


LCD Board v3


IDC cable


Litar Schematic ( Format Eagle )


Litar PCB


Bagi sesiapa yang ingin mendapatkan board ini ( siap pasang n test), harga untuk pakej board adalah seperti berikut :

1. LCD Board v3 = RM33/unit
- LCD Board v3 (siap pasang n test )
- IDC cable

2. Belanja POS / penghantaran ( tanpa mengira bilangan pakej yang di order ) = RM6.00

Fail LCD Board v3 dalam format eagle boleh di download di SINI

NOTA:

1. Untuk cara pembelian pakej ini, sila email kepada saya ... allpicproject@gmail.com

Sekian terima kasih.

Hardware : DwiLED Board v3

Assalamualaikum semua,

Kali ini, disertakan board Dwi-LED v3 dan litar-litar yang berkaitan.

Gambar-gambar Dwi-LED Board v3 adalah seperti berikut :



Dwi-LED Board v3



Saiz Dwi-LED Board v3



IDC cable



Litar schematic (format eagle)


Nama n Lokasi Komponen Eletronik



Nilai n Lokasi Komponen Elektronik



Bagi sesiapa yang ingin mendapatkan board ini ( siap pasang n test), harga untuk pakej board adalah seperti berikut :

1. DwiLED Board v3 = RM23/unit
- DwiLED Board v3 (siap pasang n test )
- IDC cable

2. Belanja POS / penghantaran ( tanpa mengira bilangan pakej yang di order ) = RM6.00

Fail DwiLED Board v3 dalam format eagle dan lain-lain boleh di download di SINI .

NOTA:

1. Untuk cara pembelian pakej ini, sila email kepada saya ... allpicproject@gmail.com

Sekian terima kasih.

Sunday, December 11, 2011

Hardware : LED n Button Board v3

Assalamualaikum semua,

Disertakan hardware LED n Button board v3 dan lain-lain hal yang berkaitan:


LED n Button v3


LED n Button v3


LED n Button v3


Jumper untuk fungsi 'permanent close' atau boleh juga di sambung kepada butang luar ( ie butang 'push to on' yang luar/kotak ) melalui 1 pasang wayar.



IDC cable ( 10 ways )



Seterusnya litar schematic dan lokasi-lokasi komponen untuk board ini :


Litar Schematic ( Eagle format)


Nama dan lokasi komponen elektronik


Nilai dan lokasi komponen elektronik


Bagi sesiapa yang ingin mendapatkan board ini ( siap pasang n test), harga untuk pakej board adalah seperti berikut :

1. LED n Button Board v3 = RM21/unit
- LED n Button Board v3 (siap pasang n test )
- IDC cable

2. Belanja POS / penghantaran ( tanpa mengira bilangan pakej yang di order ) = RM6.00

Fail LED n Button Board v3 dalam format eagle dan lain-lain boleh di download di SINI .

NOTA:

1. Untuk cara pembelian pakej ini, sila email kepada saya ... allpicproject@gmail.com


Sekian terima kasih.

Hardware : PIC Board v3

Assalamualaikum semua.

Untuk tutorial dan projek yang seterusnya, saya akan menggunakan papan litar/board versi 3 ( board v3). Board v3 lebih kemas dan lebih tersusun berbanding dengan board versi yang sebelumnya.

Walaubagaimanapun, bagi sesiapa yang dah membuat board versi lama, masih lagi dapat menggunakan board tersebut tanpa sebarang perubahan atau hanya sedikit perubahan untuk board tertentu sahaja.

Gambar PIC Board v3 adalah seperti berikut:


PIC Board v3





Untuk PIC board versi 3, litar schematic adalah seperti dibawah.


Litar schematic (sila buka di 'new tab window' untuk gambar yang lebih besar).


PCB (senarai nama komponen dan lokasi)



PCB ( senarai nilai komponen dan lokasi)


Bagi sesiapa yang ingin mendapatkan pakej ini daripada saya, harga dan kandungannya adalah seperti berikut :

1. PIC Board v3 = RM43/unit
- PIC board v3 (pasang n test)
- 1 unit PIC16F887
- 2 Power cable

2. Belanja POS ( untuk setiap penghantaran tanpa mengira jumlah order ) = RM6.00

Fail PIC Board v3 dalam format eagle dan lain-lain boleh di download di SINI .

NOTA:

1. Untuk cara pembelian pakej ini, sila email kepada saya ... allpicproject@gmail.com

Sekian terima kasih.

Friday, December 9, 2011

Tutorial 6.5 : Video ( Final )

Assalamualaikum semua,

Minta banyak-banyak atas kelewatan kemaskini laman blog ini atas sebab-sebab peribadi dan 'commercial project'.

Ok, seperti dijanjikan DEMO video untuk tutorial 6.x telah di sertakan seperti di bawah. Sebelum tu, label ringkas tentang kedudukan board-board dalam video tersebut ada disertakan seperti dalam gambar di bawah.


Klik untuk saiz gambar yang lebih besar


Dan nikmati Tutorial 6.x DEMO video seterusnya ...





Dan source code ( Hitech C file, Hex code, Eagle schematic dan Gambar2 projek ) boleh di download di SINI.

Terima kasih atas kunjungan semua ke blog ini. Moga semua mendapat manfaat yang terbaik dan terbanyak.

Sekian untuk tutorial 6 : PIC n LCD.

Thursday, December 1, 2011

Tutorial 6.4 : Penerangan Source Code

Assalamualaikum semua,

Kali ini saya akan membincang/menerangkan fungsi/arahan dalam source code untuk tutorial 6.x.

Untuk source code/part 'main.c', rasanya dapat difahami dengan mudah. Cuma saya ada beberapa komen untuk beberapa bahagian tertentu sahaja. Jika ada sebarang pertanyaan yang lain, sila tinggalkannya di bawah/bahagian komen atau sila komen di SHOUT BOX ( disebelah kanan blog ni.). Nak email kepada saya pun ok.

Saya cuma nak komen sedikit di main.c part 1. Sila rujuk gambar 1 di bawah:

Gambar 1 : main.c part 1

Untuk no. 1,2,3 adalah fail-fail yang kita masukkan/digabung ke dalam program main.c secara menggunakan arahan 'include'. Kebaikannya ialah kita boleh fail-fail ini ke dalam program lain tanpa perlu menulis semula dan boleh juga membuangnya dari program main.c dengan menghapus baris yang berkenaan.

Tanpa kaedah in, kita mesti menulis semula isi-isi dalam fail-fail tersebut ke dalam program main.c dan begitu juga kalau membuangnya ... mesti la kita hapuskan kesemua baris-baris dalam fail-fail tersebut di program main.c.

Untuk n0. 4, sila rujuk fail ldc.c ( ldc.c part 1) ... dan di dalam fail tersebut terdapat arahan '#define BarisAtas 0' ... ini bermaksud BarisAtas bersamaan dengan nilai 0. Arahan ' lcd_goto(BarisAtas); ' bermaksud memanggil subroutine ' void lcd_goto(unsigned char pos) ' di dalam fail ldc.c ( rujuk ldc.c part 3 ) dengan memberikan nilai ' pos ' = nilai ' BarisAtas ' = 0 . Harap dapat faham. Jika kurang faham, sila komen atau email kepada saya.

Untuk no. 5 iaitu ' lcd_puts("Suis Btn0") ' memanggil subroutine ' void lcd_puts(const char * s) ' di fail ldc.c ( rujuk ldc.c part2 ) . Di sini, alamat permulaan untuk perkataan "Suis Btn0" telah di masukkan ke dalam pointer s ( * s adalah alamat pointer s ... kalau tak faham, tak mengapa sebab ini tak menjejaskan pembelajaran kita. Jika nak tahu lebih lanjut, sila rujuk bab 'pointer' dalam mana-mana buku bahasa C ).

Satu lagi, jika jumpa subroutine bermula dengan perkataan 'void' contohnya ' void lcd_goto(unsigned char pos) ' ... ini bermaksud panggilan kepada subroutine itu untuk memproses arahan-arahan dalam subroutine tersebut sahaja. Ini termasuklah arahan ' Set_IO_AllDigital(); ' ... memanggil subroutine ' void Set_IO_AllDigital(void) ' dan melakukan arahan-arahan yang terdapat di dalamnya. Untuk perkataan ' void ' yang berada di dalam kurungan ..... AllDigital(void) , ini bermaksud tiada nilai yang di hantar kepada subroutine tersebut berlainan dengan ' void lcd_goto((unsigned char pos) ' ... yang memerlukan nilai yang untuk pembolehubah 'pos' .


Gambar 2 : ldc.c part 1

Di sini, saya akan sentuh berkenaan dengan source code 'ldc.c', macam mana nak ubah jika nak pakai Port / Pin PIC yang lain. Source code yang lain rasanya dapat di fahami dengan mudah.

Ok, untuk mengguna LCD dengan PIC, minima 6 pin diperlukan. 2 pin untuk signal iaitu RS (Register Select) dan EN (Enable) dan 4 pin lagi untuk data untuk format 4 pin data iaitu pin D4 - D7 di LCD ( LCD ada 8 pin untuk data ... D0 - D7 ). Saya tak sentuh untuk LCD yang guna format 8 pin data.

Rujuk A, arahan ' #define LCD_RS RD4 ' untuk setkan pin yang akan bersambung dengan pin RS di LCD. Jika kita gunakan pin yang lain dari RD4, maka kita perlu set pin tersebut di sini.

Rujuk B, ... pin ini untuk bersambung dengan pin EN / E ( enable ) di LCD. Jika pin lain digunakan, sila set kan nama pin tersebut di sini.

Rujuk C ... Port yang akan digunakan sebagai pin data ( 4 bit data pin ) yang akan di sambungkan kepada pin data D4 - D7 di LCD. Untuk tutorial ini, kita menggunakan pin PIC RD0 - RD3 sebagai data pin. Jadi pin PIC RDO disambung kepada D4 di LCD, pin PIC RD1 -> D5 dan seterusnya sehingga pin PIC RD3 -> D7 di LCD.

Untuk C1 n C2, telah diterangkan di atas.

Kita juga boleh gunakan 6 pin Port A, Port B atau Port C ( jika tak mahu guna Port D). Jika nak gabung pun boleh iaitu sebagai contoh 2pin signal di port B dan 4 pin data di port D. Saya biasanya menggunakan 6 pin tersebut dalam satu port yang sama supaya senang nak urus dan nak ingat ... contohnya D0-D3 untuk data 4 bit dan D4-D5 untuk 2 signal. Tambahan lain adalah 2 pin untuk power supply 5V dc untuk LCD dan ground LCD. Jika nak guna RD4 - RD7 / RA4 - RA7 / RB4 - RB7 /RC4 - RC7 ... beberapa perubahan perlu di lakukan (kod di dalam tutorial ini tak berfungsi untuk pin-pin ini).



Gambar 3, ldc.c part 2

Untuk D n E, ia terpakai jika menggunakan port yang sama untuk RS, EN, Data . Jika RS dan EN menggunakan port yang berlainan, arahan D n E mestilah dibuang.

Jika arahan RS n EN dibuang, maka :

arahan F berubah menjadi ' LCD_DATA = c >> 4; '
arahan G berubah menjadi ' LCD_DATA = c & 0x0F; '

Gambar 4, ldc.c part 4

Untuk H, kita kena set port yang diguna untuk sambung kepada LCD sebagai digital output ( dalam kes ini kita portD sebagai output dengan arahan ' TRISD = 0; ' )

Untuk I, kita perlu set LCD_RS,LCD_EN sebagai 0. (LCD_RW boleh dipadamkan/tak digunakan).

Ok, itu sahaja untuk tutorial 6.4. Jika ada sebarang persoalan/pertanyaaan, sila komen di SHOUT BOX atau emailkan di allpicproject@gmail.com .

Terima kasih semua.

NOTE: Insya Allah, saya akan uploadkan video demo dalam waktu terdekat ( bergantung kepada kelapangan masa saya ). Saya juga upload fail-fail berkenaan di posting yang sama ( source code, eagle schematic, gambar n video ).