None of the keys on my keypad register at all.
This can be a problem jumping into a full system, and not playing with the piece parts.
So go to youtube, search for "arduino keypad tutorial", I found this one below that seems simple;
This youtube has a link to the software he's using, click the link, copy past the code into a new arduino sketch window. Then program your arduino with this code.
I copied this code below. You can leave all the other hardware connected for this test setup, but play with it, and verify you get the correct keys displayed on the arduino serial monitor.
You can find code for each piece part of what you are trying to debug. This also gives you some understanding of the piece parts of program operation, so you are not lost.
-------------
/*
* Original sourse:
https://playground.arduino.cc/Code/Keypad
* This is the Arduino code for 4x4 keypad.
* watch the video for details and demo
* *
* Written by Ahmad Nejrabi for Robojax Video channel
www.Robojax.com
* Date: Dec 18, 2017, in Ajax, Ontario, Canada
* Permission granted to share this code given that this
* note is kept with the code.
* Disclaimer: this code is "AS IS" and for educational purpose only.
* this code has been downloaded from
http://robojax.com/learn/arduino/
*
*/
/* @file HelloKeypad.pde
|| @version 1.0
|| @author Alexander Brevig
|| @contact
[email protected]
||
|| @description
|| | Demonstrates the simplest use of the matrix Keypad library.
|| #
*/
#include <Keypad.h>
const byte ROWS = 4; //four rows
const byte COLS = 4; //three columns
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {2, 3, 4, 5}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {6,7,8,9}; //connect to the column pinouts of the keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup(){
Serial.begin(9600);
}
void loop(){
char key = keypad.getKey();
// just print the pressed key
if (key){
Serial.println(key);
}
// this checkes if 4 is pressed, then do something. Here we print the text but you can control something.
if (key =='4'){
Serial.println("Key 4 is pressed");
}
}
---------------
I hope this helps.