LED_Keypad_Shield_V1.0_SKU_DFR0382-DFRobot

Introduction

DFR0382 7 Segment LED Keypad Shield For Arduino

The LED Keypad Shield is an Arduino expansion shield with a 4 digit 8 segment digital tube display (common cathode). It has 5 buttons that can be used as menu select buttons or control buttons. It uses I2C to drive the digital tube for an easy user experience.

Specification

Board Overview

DFR0382 7 Segment LED Keypad Shield For Arduino Board Overview
-
PIN Name Description
Analog Pin 0 Button (select, top, right, bottom, left)
SCL(A5) I2C clock line
SDA(A4) I2C data line
RST Reset

Tutorial

Requirements

Connection Diagram

This module's pin alignments allow it to stack directly on top of an Arduino UNO or similar microcontroller

Sample Code

Please install the following libraries for this code to function.

LedKeypad Arduino library About Library installation.

#include <LedKeypad.h>

char brightness =0;
char buf[5]="2456";

void setup() {
  ledkeypad.begin(); /*Enable*/
  ledkeypad.setBrightness(0);/*Sets the brightness level*/
  ledkeypad.display(2015);/*Display data*/
  delay(5000);
  ledkeypad.display(buf);/*Display character for testing*/
  for(int i=0;i<4;i++){/*for testing*/
    ledkeypad.dotShow(i);
    delay(1000);
    ledkeypad.dotVanish(i);
  }
}

void loop() {
  unsigned char keyValue=0;
  keyValue = ledkeypad.getKey();/*Get key value*/
  switch(keyValue){
    case KEY_DOWN:
      buf[0]++;
      if(buf[0] > '9')
        buf[0] = '0';
      ledkeypad.display(0,buf[0]);
      break;

    case KEY_LEFT:
      buf[1]++;
      if(buf[1] > '9')
        buf[1] = '0';
      ledkeypad.display(1,buf[1]);
      break;

    case KEY_UP:
      buf[2]++;
      if(buf[2] > '9')
        buf[2] = '0';
      ledkeypad.display(2,buf[2]);
      break;

    case KEY_RIGHT:
      buf[3]++;
      if(buf[3] > '9')
        buf[3] = '0';
      ledkeypad.display(3,buf[3]);
      break;

    case KEY_SELECT:
      brightness++;
      if(brightness > 7)
        brightness = 0;
      ledkeypad.setBrightness(brightness);
      break;

    default:
      break;
 }
}

Expected Results

The sample code is a simple clock for the module. Using the input buttons the time can be adjusted. Key functions are as follows:

button function
down The first digital tube +1
left The sencond digital tube +1
up The third digital tube +1
right The fourth digital tube +1
select adjusting brightness

FAQ

For any questions, advice or cool ideas to share, please visit the DFRobot Forum.

More Documents