Showing posts with label Bisnes. Show all posts
Showing posts with label Bisnes. Show all posts

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...



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


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...




Friday, 22 November 2013

Akaun PAYPAL

dah lame rasenye aku tak update blog ni sebab aku tgh bz buat CNC router yang memang ambik mase yang sgt lame..
tapi,harini aku tak nak bercerita berkenaan mende CNC ni , tapi berkenaan dengan akaun PAYPAL. berdasarkan pemerhatian aku, penting untuk sape2 yang ingin cuba berniaga online perlu bukak akaun ni terutamanya pade mereka yang ingin berjual beli dengan supplier dari oversea (termasuk aku la) hehehehehe... Ok, nak register senang je just lawat site ni www.paypal.com dan register la macam biase ....cuma bila part bank tu, kite ade pilihan untuk skip atau masukkan data berkaitan. Untul kes aku, part ni yaku skip dulu.
Ok, kat Malaysia, hanya ade satu je bank yang boleh digunakan untuk topup akaun PAYPAL iaitu RHB bank. Bank yang lain takboleh topup akaun paypal..kalu korang nak mintak tolong aku topupkan boleh je cuma kenela bank in duit kat aku + cas sikit. Aku pun baru je bukak akaun RHB Bank dengan akaun online sekali dengan duit RM 100 sebagai permulaan. Once korang dah register online, korang lehla habiskan Paypal registration, sebab kalau tak register habis, boleh keluarkan sampai.USD 500 je... yang selebihnya korang tao boleh amik. Untuk bukak had ni, korang kene habiskan pendaftaran paypal dengan masukkan nombor kad debit/kredit korang yang valid dari mane2 bank korang, yang ade mastercard/visa. Ble dah siap, bolehla guna akaun paypal secara unlimited dan bolehla korang beli barang2 yang murah2 dari obersea..tapi limitnya adalah jumlah duit koranng yang ditopupkan la..huhuhu..

ok... kalau nak tanye lagi lanjut bolehla comment cuma kalau membeli barang online kalau brang yang dinyatakan dekat package dalam RM500-1000, mungkin kastam akan tahan package tu dan kenakan tax. kalau nak tau camne nak elak tax, tunggu la post aku seterusnya...hehehe

Saturday, 16 November 2013

TIPS MEMBELI SECARA ONLINE.

Salam

Pagi ni aku nak buat entry pasal online punye perniagaan (biasanya dari CHINA). Aku buat post ini pon sebab aku nak cuba berniaga online... mane tau ade rezeki...Dua hari lepas aku ade buat pembayaran online (oversea) which is my first time la... Kadang2 takut jugak sebab pernah dengar banyak kali berkenaan perniagaan online yang menipu dan takut kene kat aku sendiri. Apepon aku berserah pada ALLAH sebab aku dah usaha (buat homework) sebelum buat payment. So sini aku nak share sikit pebenda yang aku dah bace dan paham.

Antara objektif pembelian online adalah harga lebih murah dan barang tersebut tiada dijual/ harga mahal kat Malaysia

Ada beberapa perkara disini yang perlu di"highlight "kan sebelum berniaga online antaranya (5 P);
  1. Jenis Website (Paparan)
  2. Penghantaran (shipping)
  3. Pembayaran
  4. Cukai Kastam (Percukaian)
  5. Tips-tips (Pengalaman)-berdasarkan pembacaan di laman sesawang.
PAPARAN (WEBSITE)
Pertama sekali, kene bahagikan website ni kepada dua, (a) Web orang tengah, dan (b) Website pengeluar. Website orang tengah contohnya amazon.com, ebay , alibaba, aliexpress,  (oversea) dan (Malaysia) mudah dan Lelong.com..Kelebihannya, macam-macam barang boleh cari kat web-web .. macam-macam aku kate... try la klik sekali kalu tak caye...( i mean it literally) dan harganya sangat murah (tak termasuk kos penghantaran). Kekurangannya, banyak supplier yang tak boleh dipercayai dan banyak scam... so kene pilih supplier yang bagus-bagus contohnya + 3yr GOLD supplier kalau alibaba.com la. Kalau site lain, lain ranking die... Tu pon kene pilih secara hati-hati.
Website pengeluar pula sangat banyak kat internet dan memang kite tak tau nak pilih mane satu contohnya kita nak beli motor electronic ke (kes aku le)... boleh google la dan lebih dipercayai sebab terus dari gudang terutamanya dari CHINA tapi letihla sikit nak mencari... kalau korang banyak mase dan internet free, cuba lah.

PENGHANTARAN
Inilah part yang tak sedap dalam pembelian online. Setiap penghantaran ade kos yang perlu dibayar. Kaedah penghantaran inilah yang menyebabkan barang jadi mahal dan kadangkala kos penghantaran adalah lebih mahal dari harga barang  (JANGAN TERKEJUT). So, korang kene bijak memilih. Sebenarnya, dekat Malaysia, ade orang yang sediakan khidmat penghantaran melalui kontena dan harganya lebih murah berbanding penghantaran standard tapi kene cari sendiri la...aku ade bace beberape blog cume takut barang yang aku nak beli nih jarang jumpe...kalau barang common/biasa mungkin boleh berinteraksi dengan dieorang (LINK SINI, SINI dan SINI). Contoh penghantaran standard adalah China Air-parcel, FEDEX, DHL, UPS (yang biase dengar), EMS dan sebagainya. Kadang-kadang, ada kos penghantaran percuma contohnya menggunakan CHINA AIR PARCEL(10-30 Days), bergantung kepada promosi dari supplier tersebut... Tapi, ade org kate CHINA Air parcel nih susah nak trace nombor die...kalau sampai memang bertuah la... Kalau nak lagi selamat, pakai la shipping dari company lain (3-10 Days), cume harganya memang mahal lah...kadang 10-30 USD atau lebih bergantung pada saiz atau berat, yang mana satu lagi tinggi. Biasanya lagi mahal, lagi bagus servicenya... Fedex dan DHL kire ok la jugak. So pilihlah secara teliti. So total cost boleh jadi lagi mahal (30USD (kos brg contoh) + 25USD(kos shipping) ). Harga barang kat Malaysia mungkin 65 USD so memang mahal kecuali kite pandai cari supplier.

PEMBAYARAN
Ade banyak cara pembayaran contohnya T/T (Telegraphic transfer/Bank transfer), Money Gram (2 2 nih MAYBANK ade), Pay Pal, Western union. Setiap pembayaran akan dikenakan cas, bergantung kepada jenis pembayaran, biasanya dalam 2-4 % dari jumlah pembayaran. Dan setiap cara pembayaran ade tempoh dan risikonya sendiri. Jika menggunakan bank transfer atau moneygram, dalam 3 hari bekerja, pembayaran akan sampai ke dalam akaun penjual/supplier dan risikonya jika supplier tu penipu/tak jujur, tak ade caranye untuk mendapatkannye balik kecuali dengan izin ALLAH... memang 100% bergantung kepada kejujuran dan kebolehpercayaan supplier tersebut... sebab tu kene pilih GOLD SUPPLIER .. lagi banyak tahun lagi bagus... Biasanya untuk Bank transfer, MAYBANK mengehadkan bayaran MINIMUM RM250 (at least 80 USD, jumlah kos sebenar) dan Maximum RM1000. Lagi satu, bank transfer akan charge dalam 25 USD... aku baru je terkena... nasib baik supplier to paham dan still hantar package walaupun payment dah short 25USD... rezeki ALLAH bagi... tapi, dengan syrt nanti pasni kene beli ngan die sebab aku pon newcomer dalam bidang online nih. So, yang terbaik guna account PAYPAL. Untuk buang limit pengeluaran PAYPAL, mase register kena letak no debit/credit card tapi masalahnya kalau nak topup duit. Cuma ada satu je bank yang boleh topup account PAYPAL kat Malaysia ni iaitu RHB bank buat mase sekarang so aku dalam proses nak register RHB bank.

Kalau guna paypal, org cakap bagus sikit sebab dalam paypal, dia ada invois bagai, so kalau kite tak puas hati barang tu sampai (barang lain sampai/tak berkualiti), kite boleh adu kat paypal, contohnya barang sampai tak same dengan barang kite order dan kita boleh mintak refund dari paypal dan kos penghantaran balik kita tanggung atau kita boleh refund separuh dan barang yang kite dapat tu kite simpan, terpulang kepada masing2. so, kire selamat la sikit. So, bek guna paypal.. kalau mastercad/visa aku tak syorkan untuk diri aku dan korang...manelah tau kot2 scammer kat tenet tu unless supplier to korang memang dah lame kenal.

PERCUKAIAN (CUKAI KASTAM)
Yang nih aku tak pasti cumanya biasenya kastam target barang-barang standard yang harga RM500 keatas. Tapi kalau korang nak tgk barang yang kene cukai boleh pergi cek laman web kastam nih Berdasarkan pembacaan aku kat forum, biasenya kene tahan ngan kastam tu atas nasib kita, kadang kene tahan dan kena bayar cukai, kadang tak kene tahan. Yang bab nih aku takde pengalaman lagi sebab baru aku tengah dalam shipment.

PENGALAMAN
Yang bab nih aku tak boleh tolong... tips2 nih kalau belajar sendiri baru boleh kita paham. Tapi antara yang aku biasa bace, kalau nak beli, kne3 mula beli sikit2 dulu.. jangan beli mahal2 @ banyak2 terus... nanti rugi banyak dan kena hati2 dengan supplier..Biasenya kalau nak senang, guna skype untuk interact dengan supplier.