Thursday, 20 March 2014

Mini CNC with Arduino pro mini (work like charm again !!!)

Salam dan Selamat tengah hari

Arini aku mencuba produk baru, ARDUINO PRO MINI untuk projek CNC aku. Guess What!!!???, working like charm!!!... Evidence is here...White man say " A picture represent one thousand words ", But i say " A video represent a MILLION words ". So, let have a look guys... Sebelum bukak video nih, aku nak warning kat korang (PLEASE TURN DOWN VOLUME, takut2 tersakit plak telinge bunyi bising)
Yang nih proses kali pertama


Yang ni untuk dapatkan part (guna kardbod je)

Dan ini picturenye...


Monday, 17 March 2014

LED DOT MATRIX Mesej bergerak

Ha... projek ni kira tak susah sgt atau tak senang sangat, moderate ajer gitu. nih ade video yang aku dah buat, connection dan code aku bagitau kendian kalau ade org yang berminat nak tgk detail. Kalau nak tgk detail connection, sila komen. Link barang untuk dijual ade kat sini atau pergi ke site saya...http://www.mudah.my/rizmie-electronic



Saturday, 15 March 2014

Mencari barang untuk DIY Table top...

Arini aku bz sket....bukan nak jual barang atau buat tutorial ke hape ker tapi arini aku pergi cari barang untuk buat table top. Aku rase kene buat sendiri sebab upah mahal sangat, 2000-3000, tak termasuk barang. Aku rase baik buat sendiri lagi puas hati, biar tak cantik pon janji jadi, save duit pastu lagi puas hati... Yang buat aku excited sangat nak buat sendiri sebab ade satu mamat nih post care2 buat table top.. siap ade instruction lagi.. cam senang je..heheheh... ni video nyer


so aku pergila beli barang, mozek 13 keping 2 kaki kali 2 kaki, 13 Keping ngan simen GAM, RM200 jer, Kedai tu aku beli kat bypass Kuantan area Bt. 10, situ ramai org kate murah mozek so aku pegi beli jela... Ni antara mozek2 yang aku tgk, banyak lagi sebenarnye tapi malas nak ambik gambar banyak2.. ini gambarnye... ade yang 1 kaki x 1kaki, 1x2 kaki...
nie, 1x1 kaki, harga RM1.30 je sekeping..murah2 jer


 (yang ni aku beli, RM15 sekeping lepas kawtim ngan tokey)

Yang nih dah load dalam kete

Sebenarnye sebelum aku gi beli tile, aku dah beli dah barang hardware, simen, pasir, bata, plywood, kayu, besi (10mm) dan total semua hampir RM500, Lepas ni nak beli alat pulak, rasenyer lebih kurang RM400 gitu... Sri Inderapura Hardware, Bagus hardware nih, Hari-hari bukak kecuali hari jumaat.


Nanti aku update pasal tabletop aku ni cume aku rase kne kemas dulu la batu-bata nih... aku nak tiru rumah sebelah punye design, hehehehe... besi tu kene siap2 potong pastu nak simpan dalam rumah kang tak pasal2 kene curik.

NI UPDATE DIY TABLETOP AKU

Thursday, 13 March 2014

Nokia LCD 5110 using Arduino

Salam dan Selamat Sejahtera

OK, sekarang aku nak share kat korang pasal projek aku LCD nokia... Nokia ni connection senang je cume tahap kepeningan codingnya amatlah memeningkan... tapi jangan risau... semua dah ade, tu yang best pakai arduino nih, copy-paste-edit..ahaha.... student2 memang suke sangat la nih.. nih aku tunjuk video skit..


Dan bahan2 yang diperlukan , macam biase, jumper wire, breadboard, UNO (aku pakai sparkfun) tp mane2 same je janji UNO based dan Nokia LCD (nanti aku bagi link-aku pon jual..hehehehe).
Connection nanti aku update kendian...
Link Nokia (kalu nak beli boleh cari kat store saya or SINI

Dan ini codenya...
//Basic code by MSIDRIS for NOKIA LCD 5110 84x48 ( Edit FROm ICSTATION)
// Using NOKIA LCD 5110 84x48 and Arduino uno..

//Function: This procedure applies to the Arduino driver NOKIA 5110 LCD.
//Time:September 4,2012
#define PIN_SCE   7 // CE
#define PIN_RESET 6 // RST
#define PIN_DC    5 // DC
#define PIN_SDIN  4 //DIN
#define PIN_SCLK  3 // CLK
// VCC = 3.3V, jangan guna 5V sebab nanti skrin jadi gelap skit
// Sambung GND ke GND
// Sambung LIGHT KE GROUND JUGAK

//The DC pin tells the LCD if we are sending a command or data
#define LCD_COMMAND 0 
#define LCD_DATA  1
#define LCD_C     LOW
#define LCD_D     HIGH
int count=0;
int time=0;
char dat[4];
char disp_tab[]={'0','1','2','3','4','5','6','7','8','9'};
#define LCD_X     84
#define LCD_Y     48
char buf[72]="A_simple_example_of_interfacing_with_the_84_x_48_pixel_Nokia_3310_LCD!!";
static const byte ASCII[][5] =
{
 {0x00, 0x00, 0x00, 0x00, 0x00} // 20  
,{0x00, 0x00, 0x5f, 0x00, 0x00} // 21 !
,{0x00, 0x07, 0x00, 0x07, 0x00} // 22 "
,{0x14, 0x7f, 0x14, 0x7f, 0x14} // 23 #
,{0x24, 0x2a, 0x7f, 0x2a, 0x12} // 24 $
,{0x23, 0x13, 0x08, 0x64, 0x62} // 25 %
,{0x36, 0x49, 0x55, 0x22, 0x50} // 26 &
,{0x00, 0x05, 0x03, 0x00, 0x00} // 27 '
,{0x00, 0x1c, 0x22, 0x41, 0x00} // 28 (
,{0x00, 0x41, 0x22, 0x1c, 0x00} // 29 )
,{0x14, 0x08, 0x3e, 0x08, 0x14} // 2a *
,{0x08, 0x08, 0x3e, 0x08, 0x08} // 2b +
,{0x00, 0x50, 0x30, 0x00, 0x00} // 2c ,
,{0x08, 0x08, 0x08, 0x08, 0x08} // 2d -
,{0x00, 0x60, 0x60, 0x00, 0x00} // 2e .
,{0x20, 0x10, 0x08, 0x04, 0x02} // 2f /
,{0x3e, 0x51, 0x49, 0x45, 0x3e} // 30 0
,{0x00, 0x42, 0x7f, 0x40, 0x00} // 31 1
,{0x42, 0x61, 0x51, 0x49, 0x46} // 32 2
,{0x21, 0x41, 0x45, 0x4b, 0x31} // 33 3
,{0x18, 0x14, 0x12, 0x7f, 0x10} // 34 4
,{0x27, 0x45, 0x45, 0x45, 0x39} // 35 5
,{0x3c, 0x4a, 0x49, 0x49, 0x30} // 36 6
,{0x01, 0x71, 0x09, 0x05, 0x03} // 37 7
,{0x36, 0x49, 0x49, 0x49, 0x36} // 38 8
,{0x06, 0x49, 0x49, 0x29, 0x1e} // 39 9
,{0x00, 0x36, 0x36, 0x00, 0x00} // 3a :
,{0x00, 0x56, 0x36, 0x00, 0x00} // 3b ;
,{0x08, 0x14, 0x22, 0x41, 0x00} // 3c <
,{0x14, 0x14, 0x14, 0x14, 0x14} // 3d =
,{0x00, 0x41, 0x22, 0x14, 0x08} // 3e >
,{0x02, 0x01, 0x51, 0x09, 0x06} // 3f ?
,{0x32, 0x49, 0x79, 0x41, 0x3e} // 40 @
,{0x7e, 0x11, 0x11, 0x11, 0x7e} // 41 A
,{0x7f, 0x49, 0x49, 0x49, 0x36} // 42 B
,{0x3e, 0x41, 0x41, 0x41, 0x22} // 43 C
,{0x7f, 0x41, 0x41, 0x22, 0x1c} // 44 D
,{0x7f, 0x49, 0x49, 0x49, 0x41} // 45 E
,{0x7f, 0x09, 0x09, 0x09, 0x01} // 46 F
,{0x3e, 0x41, 0x49, 0x49, 0x7a} // 47 G
,{0x7f, 0x08, 0x08, 0x08, 0x7f} // 48 H
,{0x00, 0x41, 0x7f, 0x41, 0x00} // 49 I
,{0x20, 0x40, 0x41, 0x3f, 0x01} // 4a J
,{0x7f, 0x08, 0x14, 0x22, 0x41} // 4b K
,{0x7f, 0x40, 0x40, 0x40, 0x40} // 4c L
,{0x7f, 0x02, 0x0c, 0x02, 0x7f} // 4d M
,{0x7f, 0x04, 0x08, 0x10, 0x7f} // 4e N
,{0x3e, 0x41, 0x41, 0x41, 0x3e} // 4f O
,{0x7f, 0x09, 0x09, 0x09, 0x06} // 50 P
,{0x3e, 0x41, 0x51, 0x21, 0x5e} // 51 Q
,{0x7f, 0x09, 0x19, 0x29, 0x46} // 52 R
,{0x46, 0x49, 0x49, 0x49, 0x31} // 53 S
,{0x01, 0x01, 0x7f, 0x01, 0x01} // 54 T
,{0x3f, 0x40, 0x40, 0x40, 0x3f} // 55 U
,{0x1f, 0x20, 0x40, 0x20, 0x1f} // 56 V
,{0x3f, 0x40, 0x38, 0x40, 0x3f} // 57 W
,{0x63, 0x14, 0x08, 0x14, 0x63} // 58 X
,{0x07, 0x08, 0x70, 0x08, 0x07} // 59 Y
,{0x61, 0x51, 0x49, 0x45, 0x43} // 5a Z
,{0x00, 0x7f, 0x41, 0x41, 0x00} // 5b [
,{0x02, 0x04, 0x08, 0x10, 0x20} // 5c £¤
,{0x00, 0x41, 0x41, 0x7f, 0x00} // 5d ]
,{0x04, 0x02, 0x01, 0x02, 0x04} // 5e ^
,{0x40, 0x40, 0x40, 0x40, 0x40} // 5f _
,{0x00, 0x01, 0x02, 0x04, 0x00} // 60 `
,{0x20, 0x54, 0x54, 0x54, 0x78} // 61 a
,{0x7f, 0x48, 0x44, 0x44, 0x38} // 62 b
,{0x38, 0x44, 0x44, 0x44, 0x20} // 63 c
,{0x38, 0x44, 0x44, 0x48, 0x7f} // 64 d
,{0x38, 0x54, 0x54, 0x54, 0x18} // 65 e
,{0x08, 0x7e, 0x09, 0x01, 0x02} // 66 f
,{0x0c, 0x52, 0x52, 0x52, 0x3e} // 67 g
,{0x7f, 0x08, 0x04, 0x04, 0x78} // 68 h
,{0x00, 0x44, 0x7d, 0x40, 0x00} // 69 i
,{0x20, 0x40, 0x44, 0x3d, 0x00} // 6a j 
,{0x7f, 0x10, 0x28, 0x44, 0x00} // 6b k
,{0x00, 0x41, 0x7f, 0x40, 0x00} // 6c l
,{0x7c, 0x04, 0x18, 0x04, 0x78} // 6d m
,{0x7c, 0x08, 0x04, 0x04, 0x78} // 6e n
,{0x38, 0x44, 0x44, 0x44, 0x38} // 6f o
,{0x7c, 0x14, 0x14, 0x14, 0x08} // 70 p
,{0x08, 0x14, 0x14, 0x18, 0x7c} // 71 q
,{0x7c, 0x08, 0x04, 0x04, 0x08} // 72 r
,{0x48, 0x54, 0x54, 0x54, 0x20} // 73 s
,{0x04, 0x3f, 0x44, 0x40, 0x20} // 74 t
,{0x3c, 0x40, 0x40, 0x20, 0x7c} // 75 u
,{0x1c, 0x20, 0x40, 0x20, 0x1c} // 76 v
,{0x3c, 0x40, 0x30, 0x40, 0x3c} // 77 w
,{0x44, 0x28, 0x10, 0x28, 0x44} // 78 x
,{0x0c, 0x50, 0x50, 0x50, 0x3c} // 79 y
,{0x44, 0x64, 0x54, 0x4c, 0x44} // 7a z
,{0x00, 0x08, 0x36, 0x41, 0x00} // 7b {
,{0x00, 0x00, 0x7f, 0x00, 0x00} // 7c |
,{0x00, 0x41, 0x36, 0x08, 0x00} // 7d }
,{0x10, 0x08, 0x08, 0x10, 0x08} // 7e ¡û
,{0x78, 0x46, 0x41, 0x46, 0x78} // 7f ¡ú
};
char bismillah [] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0xFF, 0xFE, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xC0, 0xE0, 0xE0, 0xF0, 0xE0, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xC0, 0xE0, 0xE0, 0x1E,
0xBE, 0xFD, 0xFD, 0x3E, 0x1E, 0xE0, 0xF0, 0xE0, 0x00, 0x10, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x0E, 0x0F, 0x3F,
0xFE, 0xFC, 0xF0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x7E, 0x7E, 0x77, 0x77, 0x73, 0x7B,
0xFF, 0xFF, 0xF8, 0xF0, 0xF0, 0x7F, 0x7F, 0xFC, 0xF0, 0xF1, 0xFF, 0x7F, 0x1F, 0x00, 0x03, 0xFF,
0xFF, 0x00, 0x00, 0x00, 0xE0, 0xF8, 0xFC, 0xFE, 0xDE, 0xFE, 0xFE, 0xFC, 0x78, 0x78, 0x70, 0xF0,
0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0,
0x70, 0x70, 0x70, 0x70, 0x78, 0x78, 0x78, 0x38, 0x3C, 0x7C, 0xFC, 0xF0, 0xF0, 0x78, 0x7C, 0xF8,
0xF0, 0x7C, 0x7E, 0x78, 0x78, 0x7F, 0x3F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x3C, 0x3C,
0x1C, 0x0E, 0x0F, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
0x30, 0x30, 0x38, 0x19, 0x1D, 0x1C, 0x0E, 0x07, 0x07, 0x03, 0x01, 0x39, 0x39, 0x3D, 0x3D, 0x1F,
0x0E, 0x07, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xCF, 0xEF, 0xFF, 0x7E, 0x78, 0x38, 0x3C, 0x1C, 0x0E,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
};
char CAG[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x60, 0x20, 0x20, 0x20, 0x60, 0x60, 0x40,
0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40,
0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0xC0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x0C, 0x06, 0x01, 0x00, 0x00, 0x00, 0xF0, 0xFC, 0xFC, 0xFE,
0x3E, 0x1C, 0x38, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFE, 0xFC, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x3C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x3F,
0xFE, 0xFC, 0xF8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x18, 0x06, 0x03,
0x01, 0x00, 0x00, 0xF0, 0xFC, 0xFC, 0xFE, 0x3C, 0x1C, 0x38, 0xE0, 0x03, 0x07, 0x00, 0x00, 0x00,
0x00, 0xFF, 0xFF, 0xFE, 0xFC, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x60, 0xE0, 0xE0, 0xE0, 0xF7, 0xFF, 0xFF,
0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x1C, 0x01, 0x00, 0x00, 0x70, 0x7F, 0x7C,
0x00, 0x00, 0x00, 0x00, 0x01, 0x1F, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xC0, 0x40, 0x41, 0x7C,
0x70, 0x70, 0x70, 0x70, 0x70, 0x7F, 0x7F, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x7C, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x80, 0xE0, 0x1E, 0x02, 0x02, 0x03,
0x83, 0xFF, 0xFD, 0xF9, 0xF1, 0xE1, 0x00, 0x00, 0x00, 0x80, 0x70, 0x0E, 0x01, 0x00, 0x00, 0xF0,
0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x01, 0x1F, 0xFF, 0xFF, 0xFF, 0xF0,
0x80, 0x00, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xC0,
0x07, 0x04, 0x8C, 0x70, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFC, 0xFC, 0xFF, 0xFF, 0x7F, 0x7E, 0x00,
0x00, 0x00, 0x01, 0x07, 0x0C, 0x38, 0x78, 0x70, 0xF0, 0xE0, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xF0,
0xF0, 0xF8, 0xFC, 0xFE, 0xFF, 0x7F, 0x7F, 0x1F, 0x07, 0x00, 0x00, 0x3E, 0x71, 0xF1, 0xF0, 0xF0,
0xF0, 0xF0, 0xF0, 0xF0, 0xF1, 0xF3, 0xFF, 0xFF, 0xF1, 0xF1, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0,
0xF0, 0xF1, 0xF1, 0xFF, 0xFF, 0xFE, 0xF8, 0x00, 0x00, 0x00, 0x03, 0x0E, 0x1C, 0x38, 0x70, 0x70,
0xF0, 0xF1, 0xF1, 0xF1, 0xF1, 0xF1, 0xF0, 0xF0, 0xF8, 0xF0, 0xF0, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 
};

void LcdCharacter(char character)
{
  LcdWrite(LCD_D, 0x00);
  for (int index = 0; index < 5; index++)
  {
    LcdWrite(LCD_D, ASCII[character - 0x20][index]);
  }
  LcdWrite(LCD_D, 0x00);
}

void LcdClear(void)
{
  for (int index = 0; index < LCD_X * LCD_Y / 8; index++)
  {
    LcdWrite(LCD_D, 0x00);
  }
}

void LcdInitialise(void)
{
  pinMode(PIN_SCE, OUTPUT);
  pinMode(PIN_RESET, OUTPUT);
  pinMode(PIN_DC, OUTPUT);
  pinMode(PIN_SDIN, OUTPUT);
  pinMode(PIN_SCLK, OUTPUT);
  digitalWrite(PIN_RESET, LOW);
  digitalWrite(PIN_RESET, HIGH);
  LcdWrite(LCD_C, 0x21 );  // LCD Extended Commands.
  LcdWrite(LCD_C, 0xB1 );  // Set LCD Vop (Contrast). 
  LcdWrite(LCD_C, 0x04 );  // Set Temp coefficent. //0x04
  LcdWrite(LCD_C, 0x14 );  // LCD bias mode 1:48. //0x13
  LcdWrite(LCD_C, 0x0C );  // LCD in normal mode.
  LcdWrite(LCD_C, 0x20 );
  LcdWrite(LCD_C, 0x0C );
}

void LcdString(char *characters)
{
  while (*characters)
  {
    LcdCharacter(*characters++);
  }
}

void LcdWrite(byte dc, byte data)
{
  digitalWrite(PIN_DC, dc);
  digitalWrite(PIN_SCE, LOW);
  shiftOut(PIN_SDIN, PIN_SCLK, MSBFIRST, data);
  digitalWrite(PIN_SCE, HIGH);
}
void gotoXY(int x, int y)
{
  LcdWrite( 0, 0x80 | x);  // Column.
  LcdWrite( 0, 0x40 | y);  // Row.  

}
void setup(void)
{
  LcdInitialise();
  LcdClear();
  gotoXY(0, 0);
  LCDBitmap(bismillah);
  delay(2000);
  LcdClear();
  gotoXY(0, 2);
  LcdString("Produced by");
  delay(3000);
  LcdClear();
  gotoXY(0, 0);
  LCDBitmap(CAG);
  delay(3000);
  LcdClear();
  gotoXY(0, 2);
  LcdString("LOADING");
  delay(1000);
  gotoXY(0, 2);
  LcdString("LOADING.");
  delay(1000);
  gotoXY(0, 2);
  LcdString("LOADING..");
  delay(1000);
  gotoXY(0, 2);
  LcdString("LOADING...");
  delay(1000);
  gotoXY(0, 2);
  LcdString("LOADING....");
  delay(1000);
  gotoXY(0, 2);
  LcdString("LOADING.....");
  delay(1000);
  LcdClear();
  
  //LcdString("The count is");
  //gotoXY(0, 3);
  //LcdString("++++++++++++");
  //LcdString("----over----");
  //LcdString("--- over ---");
  //LcdClear();
  //LcdString(buf);
}
void dispcountt(int count)
{
  //LcdCharacter(disp_tab[count/10000]);
  //LcdCharacter(disp_tab[count/1000%10]);
  LcdCharacter(disp_tab[count/100%10]);
  LcdCharacter(disp_tab[count%100/10]);
  LcdCharacter(disp_tab[count%10]);
}
void disptime(int count)
{
  //LcdCharacter(disp_tab[count/10000]);
  //LcdCharacter(disp_tab[count/1000%10]);
  LcdCharacter(disp_tab[count%100/10]);
  LcdCharacter(disp_tab[count%10]);
}
void LCDBitmap(char my_array[]){
  for (int index = 0 ; index < (LCD_X * LCD_Y / 8) ; index++)
    LCDWrite(LCD_DATA, my_array[index]);
}
void LCDClear(void) {
  for (int index = 0 ; index < (LCD_X * LCD_Y / 8) ; index++)
    LCDWrite(LCD_DATA, 0x00);
  gotoXY(0, 0); //After we clear the display, return to the home position
}
void LCDWrite(byte data_or_command, byte data) {
  digitalWrite(PIN_DC, data_or_command); //Tell the LCD that we are writing either to data or a command

  //Send the data
  digitalWrite(PIN_SCE, LOW);
  shiftOut(PIN_SDIN, PIN_SCLK, MSBFIRST, data);
  digitalWrite(PIN_SCE, HIGH);
}
void loop(void)
{
  LcdInitialise();
  //LcdClear();
  LcdString("CNC MONITOR");
  
  gotoXY(0, 1);
  LcdString("X:"); gotoXY(20, 1); dispcountt(count); LcdString(" mm");
  count++;
  gotoXY(0, 2);
  LcdString("Y:"); gotoXY(20, 2); dispcountt(count); LcdString(" mm");
  count++;
  gotoXY(0, 3);
  LcdString("Z:"); gotoXY(20, 3); dispcountt(count); LcdString(" mm");
  count++;
  gotoXY(0, 4);
  LcdString("TEMP: "); gotoXY(38, 4); dispcountt(count); LcdString("oC");
  count++;
  gotoXY(0, 5);
  LcdString("TIME: "); gotoXY(38, 5); disptime(count); LcdString(":");disptime(count); 
 
 // delay(000);
 
  //gotoXY(0, 2);
  //LcdString("==");
  //gotoXY(16, 2);
  //dispcountt(count);
  //count++;
  //LcdString("==");
  delay(1000);
 // LCDClear();
 // LCDBitmap(CAG);
 // delay(3000);
  

}
tekan sekali untuk jalan dan tekan sekali lagi untuk stop...



Lukis Spiral guna CNC

Salam,

Ok yang nih abang Nasrul request... so ini hasilnya

So, lepas nih ade lagi projek yang nak buat tapi tak lukis dah. Terus mesin, ehehe... nak buat gear tapi pening dengan equation...ade sape leh tolong???



RIZMIE STORE/ RIZMIE ELCTRONIC

Salam

AHAh!!!!...

Tujuan aku buat kedai online nih sebab aku tgk brg electronic kat malaysia nih mahal sgt so aku nak jual murah sikit untuk galakkan elektronik di MALAYSIA (la sangat) dan aku amik untung sikit. So barang aku jual murah dari yang biase

TAGLINE kedai aku : Affordable Electronic...


So boleh bagi cadangan mende ape yang org selalu nak tapi mahal so boleh aku cari dan jual lagi murah lah ok!!!.. Kasi tau je sure aku carik (kalu aku tak bz la)

nih link kedai aku mudah.my/rizmie-electronic


Manual Control stepper motor using EASYDRIVE + ARDUINO

Salam,OK, nih ade tutorial acannne nak control stepper motor secare manual... Bile abam zairi suruh tunjuk skit. so sini video die abam zairi


Untuk control stepper motor ni kene ade

  1. Stepper motor (mane2 tak kisah tapi yang aku jual memang bole masuk)
  2. Arduino board (Mega, UNO, Mini @ Nano.. yang lain maybe boleh)
  3. Easy Driver  (aku ade jual gak)
  4. Breadboard/ Circuit board pon boleh
  5. Jumper wire 
  6. Tactile switch, yang switch aku tekan tu la ( ade jual jugak, tgk store aku)


Dan ini codenya...
//Basic code by MSIDRIS for Manual control stepper motor
// Using Easy driver and Arduino uno..

int delays;  
const int ManPosY = 4; //Manual input from switch to control + direction
const int ManNegY = 5; //Manual input from switch to control - direction
const int DirY = 8; 
const int LocY = 9; 
float buttonPushCounterPosy,buttonPushCounterNegy = 0;// counter for the number of button presses
int buttonStatex = 0;  
int buttonStatePosy, buttonStateNegy,buttonStatePosx = 0; // current state of the button
int lastButtonStatePosy,lastButtonStateNegy = 0;

void setup() { 
Serial.begin(9600);  
  pinMode(ManPosY, INPUT); //override y +ve
  pinMode(ManNegY, INPUT); //override y -ve
  pinMode(DirY, OUTPUT);     
  pinMode(LocY, OUTPUT);
  digitalWrite(DirY, LOW);
  digitalWrite(LocY, LOW);
}

void loop() {
  buttonStatePosy = digitalRead(ManPosY);
  buttonStateNegy = digitalRead(ManNegY);
  
  if ((digitalRead(ManPosY)==HIGH)){
   buttonPushCounterPosy++;
   delay(200); 
     while(round(buttonPushCounterPosy/2-round(buttonPushCounterPosy/2))!=0){
     if (digitalRead(ManPosY)==HIGH){buttonPushCounterPosy++;}
     delays=100;
     digitalWrite(DirY,LOW) ;
     digitalWrite(LocY, HIGH);delayMicroseconds(delays);          
     digitalWrite(LocY, LOW);delayMicroseconds(delays);
     }
    delay(200);}
     
   if ((digitalRead(ManNegY)==HIGH)){
   buttonPushCounterNegy++;
   delay(200); 
     while(round(buttonPushCounterNegy/2-round(buttonPushCounterNegy/2))!=0){
      if (digitalRead(ManNegY)==HIGH){buttonPushCounterNegy++;}
     delays=100;
     digitalWrite(DirY,HIGH) ;
     digitalWrite(LocY, HIGH);delayMicroseconds(delays);          
     digitalWrite(LocY, LOW);delayMicroseconds(delays);
     }
    delay(200);}
}
tekan sekali untuk jalan dan tekan sekali lagi untuk stop...

TUTORIAL ARDUINO LCD + SERIAL INTERFACE BOARD(2 PIN je)

Hi.

Kembali lagi membuat tutorial, kali ini pasal LCD + SERIAL MODULE...

Ok, Alat ni name die "Serial Interface Board Module Port for Arduino 1602LCD Display" walaupun mahal sikit tapi jimat la pin dan tak payah serabut ngan wayar. Kalau pakai LCD module sahaje, 8 pin diperlukan... tapi kalau guna serial board module nih hanya 4 Pin diperlukan. Gambar alat ni ade kat bawah

Kalau schematic pemasangan pulak camnih.... Taknak guna Breadboard pon boleh..

Pakai 2 Pin je, A4 dan A5 (Yang memang jarang pakai !!!!!)

Contoh code (dari geetech.wiki), Kat bawah nih camne nak sambung
1602I2C table.jpg

Library LiquidCrystal_I2C.h, boleh download sini dan tampal kat Arduino punye library..

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display
void setup()
{
 lcd.init();                      // initialize the lcd 
 // Print a message to the LCD.
 lcd.backlight();
 lcd.print("Hello, world!");
}
void loop()
{
}

anda jimat banyak pin... kalau nak control kecerahan, guna screwdriver ejas yang warna biru tu...




Tips JANTUNG sihat

salam
harini aku nak berkongsi berkenaan dengan kesihatan jantung.  Malaysia umumnya kurang menjaga kesihatan jantung (termasuk la aku). Antara sebab musabab yang menyebabkan penyakit jantung boleh dikategorikan kepada 2 iaitu:
  1. Pemakanan
  2. Aktiviti/Senaman
tapi sebelum tu aku kene terangkan berkenaan dengan KOLESTROL. Ade 3 jenis kolestrol yang penting untuk kite ketahui iaitu

  1. HDL(high density lipo-protein)-kolestrol baik
  2. LDL (low density lipo-protein)-kolestrol jahat
  3. TRIGLYSRIDE
ketiga-tiga kolestrol ini jika diicampurkan dinamakan TOTAL cholestrol dan untuk orang 
normal, <5.2mg/liter (kebawah), 
runtuk yang berisiko sederhana antara 5.2-6.2 mg/liter 
dan yang berisiko tinggi untuk mendapat serangan jantung adalah paras 6.2 mg/liter keatas.

Untuk cek kolestrol ni senang je.... pergi je mane2 farmasi dan cakap nak cek kolestrol..dengan bayaran sekitar RM10,dalam masa seminit, terus dapat bacaan. Tapi bacaan ni tidak secara detail dan kadang2 tak tepat.. kalau nak lagi detail, boleh pergi mana2 klinik kesihatan kerajaan(bukan klinik 1 Malaysia ok) dan result akan keluar dalam masa 2 minggu tapi kalau result cepat boleh la pergi klinik swasta
Faktor Pemakanan

  1. Makanan berlemak/berminyak- Sangat tidak sihat kerana banyak mempunyai lemak tepu dan banyak menyumbang kepada terhasilnya kolestrol  jahat (LDL). Cthnya nasi lemak, nasik minyak, nasik beryani...dsb- So kene kurangkan
  2. Makanan segera : Sama jugak, penyumbang penghasilan kolestrol jahat. Contohnya nugget, KFC, MCD dan macam2 lagit...- So kene kurangkan
  3. Makanan Terproses :- Biskut, snek, makanan dalam tin, susu tin, etc.... juga faktor penyumbang kepada lemak tepu --> Penghasilan LDL
Cara mengatasi
Kurangkan makanan berlemak, kurangkan fast food dan makanan  yang diproses/terproses
Banyakkan mkn sayur/fibre, contoh: beras perang-->Naikkan kolestrol Baik (HDL) buah-buahan (anggur, etc): TGK piramid makanan!!!!
Bersenam --> Naikkan kolestrol Baik (HDL) --- yang ni tak sempat nak buat

Hasilnya, Jantung Sihat, Berat badan UNGGUL!!!!... Dulu saya 100kg tapi 6 bulan kemudian selepas amalkan, sekaranf 75kg!!!!!- Tiada rahsia!!!!

Cubalah kalau tak percaya. Tapi kene istiqamah baru jadi... kalau selang sehari amalkan pyramid makanan, jangan mimpila nak kurus!!!

Projeck CNC SIAP!!!!!! (tapi pahat masih bunyik)

Salam...

Ahah... lame dah tak update blog... Bisnes makin rancak pastu bizi sangat ngan arduino so arini nak update pasal keje aku iaitu projek CNC.... Let the Video tell you all...

Ini die projeck yang dah siap
Yang ni bile projek dah jalan 3AXIS




Okey... Ini aje yo...