====== PmodKYPD Reference Manual ====== The Digilent PmodKYPD (Revision B) is a 16 button keypad, providing users with immense configurability. {{Digilent Image Gallery | image = {{:reference:pmod:pmodkypd:pmodkypd-0.png?direct |}} | image = {{:reference:pmod:pmodkypd:pmodkypd-1.png?direct |}} | image = {{:reference:pmod:pmodkypd:pmodkypd-2.png?direct |}} | image = {{:reference:pmod:pmodkypd:pmodkypd-3.png?direct |}} }} == Download This Reference Manual == * {{:reference:pmod:pmodkypd:pmodkypd_rm.pdf| PDF}} ---- ===== Features ===== * 16 momentary push-buttons * Can detect simultaneous button presses * Isolated rows and columns * 12-pin Pmod port with %%GPIO%% interface ---- =====Functional Description ===== The %%PmodKYPD%% utilizes 4 rows and columns to create an array of 16 momentary pushbuttons. By driving the column lines to a logic level low voltage one at a time, users may read the corresponding logic level voltage on each of the rows to determine which button, if any, is currently being pressed. Simultaneous button presses can also be recorded, although it is still required to step through each row and column separately in order to ensure that the pressed buttons do not interfere with each measurement. By design, multiple simultaneous button presses within the same row cannot be individually detected. ---- ===== Interfacing with the Pmod===== The %%PmodKYPD%% communicates with the host board via the [[pmod:communication_protocols:gpio|GPIO protocol]]. Each button is placed within a simple [[https://learn.digilentinc.com/Documents/251|voltage divider circuit]]. When a button is not pressed, a large pull-up resistor maintains a logic level high voltage on each of the row pins. When a column pin is driven to a logic level low voltage and a corresponding button is pressed, completing the voltage divider circuit, the row pin will then read a logic level low voltage instead. ==== Pinout Description Table ==== ^ Header J1 ||||||| ^ Pin ^ Signal ^ Description | ^ Pin ^ Signal ^ Description | | 1 | COL4 | Column 4 |:::| 7 | ROW4 | Row 4 | | 2 | COL3 | Column 3 |:::| 8 | ROW3 | Row 3 | | 3 | COL2 | Column 2 |:::| 9 | ROW2 | Row 2 | | 4 | COL1 | Column 1 |:::| 10 | ROW1 | Row 1 | | 5 | GND | Power Supply Ground |:::| 11 | GND | Power Supply Ground | | 6 | VCC | Power Supply (3.3V/5V) |:::| 12 | VCC | Power Supply (3.3V/5V) | Any external power applied to the %%PmodKYPD%% must be within a voltage that your system board can handle; It is recommended that Pmod is operated at 3.3V. ---- ===== Physical Dimensions ===== The pins on the pin header are spaced 100 mil apart. The PCB is 3.4 inches long on the sides parallel to the pins on the pin header and 2.7 inches long on the sides perpendicular to the pin header. ---- ===== Additional Information ===== The schematics of the %%Pmod KYPD%% are available {{reference:pmod:pmodkypd:pmodkypd_sch.pdf|here}}. Example code demonstrating how to get information from the %%Pmod KYPD%% can be found [[pmod:pmodkypd:start#example_projects|here]]. If you have any questions or comments about the %%Pmod KYPD%%, feel free to post them under the appropriate section ("Add-on Boards") of the [[https://forum.digilent.com/|Digilent Forum]].