====== Nexys Video Keyboard Demo ====== {{:nexys4-ddr:n4k.png?nolink&600|}} ===== Overview ===== ==== Description ==== The Keyboard Demo project demonstrates a simple usage of the Nexys Video's USB-HID and USB-UART ports. The behavior is as follows: * The user presses a key on the keyboard, this sends a keyboard scan code to the Nexys Video. This scan code is read and transmitted to a terminal application via the USB-UART bridge. A scan code pair of F0xx indicates that key xx has been released. ==== Features Used ==== | ^ Not Used ^ Used ^ ^ 8 user switches | X | | ^ 8 user LEDs | X | | ^ 128×32 monochrome OLED display | X | | ^ USB-UART Bridge | | X | ^ 160-pin FMC LPC connector | X | | ^ Micro SD card connector | X | | ^ HDMI Sink and HDMI Source | X | | ^ DisplayPort Source | X | | ^ Audio codec w/ four 3.5mm jacks | X | | ^ 6 user push buttons | X | | ^ User EEPROM | X | | ^ 10/100/1000 Ethernet PHY | X | | ^ 512MiB 800Mt/s DDR3 Memory | X | | ^ Serial Flash | X | | ^ Four Pmod ports | X | | ^ Pmod for XADC signals | X | | ^ USB HID Host | | X | ------- ===== Prerequisites ===== ===Hardware=== * **Nexys Video FPGA board** * **Micro-USB cable** * **USB Keyboard** * **Nexys Video 12 Volt Power Supply** ===Software=== * **Vivado Design Suite 2016.4** * //Newer versions can be used, but the procedure may vary slightly// ----- ===== Downloads ===== Nexys Video Keyboard Demo Project Repository -- [[https://github.com/Digilent/Nexys-Video-Keyboard/releases/download/v2016.4-1/Nexys-Video-Keyboard-2016.4-1.zip|ZIP Archive]] [[https://github.com/Digilent/Nexys-Video-Keyboard|GIT Repo]] ------- ===== Download and Launch the Nexys Video Keyboard Demo ===== >1) Follow the [[:learn:programmable-logic:tutorials:github-demos:start|Using Digilent Github Demo Projects]] Tutorial. This is an HDL design project, and as such does not support Vivado SDK, select the tutorial options appropriate for a Vivado-only design. Return to this guide when prompted to check for extra hardware requirements and setup. >2) In order to fully use this demo, you will need to connect a serial terminal to your Nexys Video. Plug your board into your computer with a Micro USB cable and make sure that board is turned on. Then open a serial terminal (such as TeraTerm) on your computer. In the terminal application setup the serial port to connect to the appropriate port for your board, with a baud rate of 9600. Then return to the Github Projects Tutorial to finish programming and running the demo. > >{{:learn:programmable-logic:tutorials:basys-3-keyboard-demo:keyboard-setup.jpg?nolink&500|}} =====Using The Nexys Video Keyboard Demo===== ====1. Key Press==== > >When a button is pressed, the value of the scan code will be converted to ASCII and transmitted to the terminal. In the picture, 'a' is pressed, so a scan code of "1C" is sent to the terminal. > >{{:learn:programmable-logic:tutorials:nexys-video-keyboard-demo:nv_keypress.jpg?nolink&500|}} ====2. Key Release==== > >When the 'a' key is released, a scan code of "F0 1C" is sent. > >{{:learn:programmable-logic:tutorials:nexys-video-keyboard-demo:nv_keyrelease.jpg?nolink&500|}} ====3. Multiple Key Presses==== > >When multiple keys are pressed their scan codes are sent in order. In this case, Q ("15") was pressed, followed by W ("1D"). > >{{:learn:programmable-logic:tutorials:nexys-video-keyboard-demo:nv_twokey.jpg?nolink&500|}} {{tag>learn programmable-logic project nexys-video}}