Phipps Electronics

Order within the next 

FREE SHIPPING OVER $199

50,000+ ORDERS

WORLDWIDE SHIPPING

SSL SECURED

Using The 5 Way Tactile Navigation Button Module with Arduino

Contents

INTRODUCTION:

This tutorial details the 5 Way Tactile Navigation Button Module, how it functions and the method of building a simple project using the 5 Way Tactile Navigation Button Module and an Arduino.

 

5 WAY TACTILE NAVIGATION BUTTON MODULE:

The 5 Way Tactile Navigation Button Module has seven button outputs and is used for the navigation control of model toys and projects.
Figure 1 shows the image of the 5 Way Tactile Navigation Button Module.

 

5 Way Tactile Navigation Button Module - top and side view

 

PIN OUT:

The APDS-9960 has six pins.

PinDescription
COMCommon Pin
UPUp
DWNDown
LFTLeft
RHTRight
MIDMiddle
SETSet
RSTReset

 

HOW DOES IT WORK?

The 5 Way Tactile Navigation Button Module is composed of a 5-way tactile switch made like a joystick with two additional functional buttons. The module functions like standard buttons assembled in one compact and easy to use module.

 

PROJECT – ARDUINO NAVIGATION KEY MONITOR

This project will demonstrate the navigation button pressed in the serial monitor.

 

PROJECT COMPONENTS REQUIRED:

  • Arduino Uno Board
  • 5 Way Tactile Navigation Button Module
  • Jumper Wires

 

WIRING DIAGRAM:

The GY-ML8511 module pins are connected to the Arduino Uno board as follows:

Module PinUNO Board Pin
COMGround
UP8
DWN7
LFT6
RHT5
MID4
SET3
RST2

 

UNO to 5 Way Tactile Button Module Wiring

 

CODE:

//pin connections
#define buttonPin_RST 2
#define buttonPin_SET 3
#define buttonPin_MID 4
#define buttonPin_RHT 5
#define buttonPin_LFT 6
#define buttonPin_DWN 7
#define buttonPin_UP 8


void setup() {
  Serial.begin(9600);
  //pinmodes
  pinMode(buttonPin_RST, INPUT_PULLUP);
  pinMode(buttonPin_SET, INPUT_PULLUP);
  pinMode(buttonPin_MID, INPUT_PULLUP);
  pinMode(buttonPin_RHT, INPUT_PULLUP);
  pinMode(buttonPin_LFT, INPUT_PULLUP);
  pinMode(buttonPin_DWN, INPUT_PULLUP);
  pinMode(buttonPin_UP, INPUT_PULLUP);
}

void loop() {
  
  if (digitalRead(buttonPin_RST) == LOW) {
    Serial.println("Reset Pin Is Pressed.");
    delay(200);
  }

  if (digitalRead(buttonPin_SET) == LOW) {
    Serial.println("Set Pin Is Pressed.");
    delay(200);
  }

  if (digitalRead(buttonPin_MID) == LOW) {
    Serial.println("Middle Pin Is Pressed.");
    delay(200);
  }

  if (digitalRead(buttonPin_RHT) == LOW) {
    Serial.println("Right Pin Is Pressed.");
    delay(200);
  }

  if (digitalRead(buttonPin_LFT) == LOW) {
    Serial.println("Left Pin Is Pressed.");
    delay(200);
  }

  if (digitalRead(buttonPin_DWN) == LOW) {
    Serial.println("Down Pin Is Pressed.");
    delay(200);
  }

  if (digitalRead(buttonPin_UP) == LOW) {
    Serial.println("Up Pin Is Pressed.");
    delay(200);
  }
}

 

PROJECT TEST:

Wire the components to the Arduino as demonstrated in the wiring diagram. Connect the Arduino to a PC and upload the program. Open the Serial Monitor in the Arduino IDE and the navigation button pressed in the serial monitor will be dispalyed.

 

 

SUBSCRIBE FOR NEW POST ALERTS

Subscribe to be the first to know when we publish a new article!
List Subscriptions(Required)

POPULAR POSTS

Scroll to Top