4x3 Matrix 12 Key Membrane Switch Keypad [S228]



https://www.youtube.com/watch?v=15Asj5XZBlg


* Specs

Pad Size: 69.2 x 76.9 x 0.8mm

Cable Length: 3-1/3" or 86mm (include connector)

Connector: Dupont 7 pins, 0.1" (2.54mm) Pitch

Mount Style: Self-Adherence

Max. Circuit Rating: 35VDC, 100mA

Insulation Spec.: 100M Ohm, 100V

Dielectric Withstand: 250VRms (60Hz, 1min)

Contact Bounce: <=5ms

Life Expectancy: 1 million closures

Operation Temperature: -20 to +40 °C

 

Package:

1PCS X4 x 3 Matrix Array 12 Key Membrane Switch Keypad Keyboard

 

* Contents

- LIbrary : http://playground.arduino.cc/uploads/Code/keypad.zip

- Connect

7 ----- D9

6 ----- D8

5 ----- D7

4 ----- D6

3 ----- D5

2 ----- D4

1 ----- D3


- Key Code

#include <Keypad.h>

const byte ROWS = 4; //four rows

const byte COLS = 3; //four columns

//define the cymbols on the buttons of the keypads

char hexaKeys[ROWS][COLS] = {

 {'1','2','3'},

 {'4','5','6'},

 {'7','8','9'},

 {'*','0','#'}

};

byte rowPins[ROWS] = {9, 8, 7, 6}; //connect to the row pinouts of the keypad

byte colPins[COLS] = {5, 4, 3}; //connect to the column pinouts of the keypad

//initialize an instance of class NewKeypad

Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);

void setup(){

 Serial.begin(9600);

}

 

void loop(){

 char customKey = customKeypad.getKey();

 

 if (customKey){

 Serial.println(customKey);

 }

}

Posted by RDIoT
|

LCD Keypad Shield Green (LCD1602) [D043]



https://www.youtube.com/watch?v=aV0yBmVPMyU


*GitHub : https://github.com/rdiot/rdiot-d043.git


* Specs

Useful LCD display for Arduino with 16 symbols and 2 lines. Display background LED is connected to potentiometer regulating screen  brightness and contrast. You can control switching on/off with sketch.

Display has GREEN color.

LCD display uses standard HD44780-compatible driver. Arduino "LiquidCrystal" library is used for display programming and can be found in Arduino IDE  coding environment. You can use standard characters or make your own characters.

LCD display uses digital Arduino digital outputs: 4, 5, 6, 7, 8, 9.

Initialization string in sketch seems as: LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

: ( RS - D8; Enable - D9; LCD4 - D4; LCD5 - D5; LCD6 - D6; LCD7 - D7)

Under LCD there are 5 navigation buttons: Up, Down, Left, Right.

Option. Buttons are connected with A0 analog input only, so you can monitor button status using just one Arduino input. Pay attention: status monitoring is unavailable when several buttons are pressed.

Shield includes  blocks of digital and analog inputs/outputs and also it has A1-A5 analog input blocks (5V/GND/IN) for quick connection to periphery.

Shield is powered with Arduino 5V output. 

'3) Actuator > LCD' 카테고리의 다른 글

84x84 Nokia 5110 LCD Module (LCD5110) [D055]  (0) 2016.09.21
LCD 4002 Blue (ERM4002SBS-1) [D051]  (0) 2016.09.21
LCD Keypad Shield (LCD1602) [D038]  (0) 2016.09.21
LCD2004 I2C Green (LCD2004A) [D046]  (0) 2016.09.21
LCD2004 I2C ( LCD2004A) [D017]  (0) 2016.09.21
Posted by RDIoT
|

LCD Keypad Shield (LCD1602) [D038]



https://www.youtube.com/watch?v=gnCqb5Q-FQo


*GitHub https://github.com/rdiot/rdiot-d038.git


* Contents

- Pin Out : https://www.dfrobot.com/wiki/images/thumb/5/5e/DFR0009-PIN2.png/900px-DFR0009-PIN2.png

- Ref Url : http://www.dfrobot.com/wiki/index.php/LCD_KeyPad_Shield_For_Arduino_SKU:_DFR0009

- Key Code (Left -> ..)

#include <LiquidCrystal.h>

 

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);           // select the pins used on the LCD panel

 

// define some values used by the panel and buttons

int lcd_key     = 0;

int adc_key_in  = 0;

 

#define btnRIGHT  0

#define btnUP     1

#define btnDOWN   2

#define btnLEFT   3

#define btnSELECT 4

#define btnNONE   5

 

int read_LCD_buttons(){               // read the buttons

    adc_key_in = analogRead(0);       // read the value from the sensor 

 

    // my buttons when read are centered at these valies: 0, 144, 329, 504, 741

    // we add approx 50 to those values and check to see if we are close

    // We make this the 1st option for speed reasons since it will be the most likely result

 

    if (adc_key_in > 1000) return btnNONE; 

 

    // For V1.1 us this threshold

    //if (adc_key_in < 50)   return btnRIGHT;  

    //if (adc_key_in < 250)  return btnUP; 

    //if (adc_key_in < 450)  return btnDOWN; 

    //if (adc_key_in < 650)  return btnLEFT; 

    //if (adc_key_in < 850)  return btnSELECT;  

 

   // For V1.0 comment the other threshold and use the one below:

   

     if (adc_key_in < 50)   return btnRIGHT;  

     if (adc_key_in < 195)  return btnUP; 

     if (adc_key_in < 380)  return btnDOWN; 

     if (adc_key_in < 555)  return btnLEFT; 

     if (adc_key_in < 790)  return btnSELECT;   


    return btnNONE;                // when all others fail, return this.

}

 

void setup(){

   lcd.begin(16, 2);               // start the library

   lcd.setCursor(0,0);             // set the LCD cursor   position 

   lcd.print("D038 - Push BTNs");  // print a simple message on the LCD

}

  

void loop(){

   lcd.setCursor(9,1);             // move cursor to second line "1" and 9 spaces over

   lcd.print(millis()/1000);       // display seconds elapsed since power-up

 

   lcd.setCursor(0,1);             // move to the begining of the second line

   lcd_key = read_LCD_buttons();   // read the buttons

 

   switch (lcd_key){               // depending on which button was pushed, we perform an action

 

       case btnRIGHT:{             //  push button "RIGHT" and show the word on the screen

            lcd.print("RIGHT ");

            break;

       }

       case btnLEFT:{

             lcd.print("LEFT   "); //  push button "LEFT" and show the word on the screen

             break;

       }    

       case btnUP:{

             lcd.print("UP    ");  //  push button "UP" and show the word on the screen

             break;

       }

       case btnDOWN:{

             lcd.print("DOWN  ");  //  push button "DOWN" and show the word on the screen

             break;

       }

       case btnSELECT:{

             lcd.print("SELECT");  //  push button "SELECT" and show the word on the screen

             break;

       }

       case btnNONE:{

             lcd.print("NONE  ");  //  No action  will show "None" on the screen

             break;

       }

   }

}


- Key Code (Sensor Value)

#include <LiquidCrystal.h>

 

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);        // select the pins used on the LCD panel

 

unsigned long tepTimer ;   

 

void setup(){

    lcd.begin(16, 2);                       // start the library

}

 

void loop(){

    lcd.setCursor(0, 0);                   // set the LCD cursor   position

    int val;                               // variable to store the value coming from the analog pin

    double data;                           // variable to store the temperature value coming from the conversion formula

    val=analogRead(1);                     // read the analog in value:

    data = (double) val * (5/10.24);       // temperature conversion formula

     

    if(millis() - tepTimer > 500){         // output a temperature value per 500ms

             tepTimer = millis();

 

             // print the results to the lcd

             lcd.print("T: ");              

             lcd.print(data);            

             lcd.print("C");             

     }

}

'3) Actuator > LCD' 카테고리의 다른 글

LCD 4002 Blue (ERM4002SBS-1) [D051]  (0) 2016.09.21
LCD Keypad Shield Green (LCD1602) [D043]  (0) 2016.09.21
LCD2004 I2C Green (LCD2004A) [D046]  (0) 2016.09.21
LCD2004 I2C ( LCD2004A) [D017]  (0) 2016.09.21
LCD1602 I2C (LCD1602) [D016]  (0) 2016.09.21
Posted by RDIoT
|