Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
other_boards:midi_keyboard [2017/07/05 23:03] admin |
— (current) | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ===== MIDI Keyboard ===== | ||
| - | A 25 key Midi keyboard based on an Arduino (Atmega328P-PU). It has an small OLED Display, too.\\ | ||
| - | ---- | ||
| - | |||
| - | ==== MCP23017 ==== | ||
| - | === I2C === | ||
| - | I2C SDA SCL | ||
| - | Arduino Uno A4 A5 | ||
| - | |||
| - | **Setting the Adress**\\ | ||
| - | To set the I2C address of the MCP23017 one has to connect A0, A1 and A2 to GND or to power.\\ | ||
| - | GND = 0 and +5V = 1\\ | ||
| - | |||
| - | A0 A1 A2 adresse | ||
| - | 0 0 0 0x20 0 | ||
| - | 1 0 0 0x21 1 | ||
| - | 0 1 0 0x22 2 | ||
| - | 1 1 0 0x23 3 | ||
| - | 0 0 1 0x24 4 | ||
| - | 1 0 1 0x25 5 | ||
| - | 0 1 1 0x26 6 | ||
| - | 1 1 1 0x27 7 | ||
| - | And in the code one has to put the address in the "begin" command: | ||
| - | mcp.begin(address); | ||
| - | |||
| - | === Pulldown Resistor === | ||
| - | Every botton is connected to +5V and at the pin to the MCP23017 it has a 10k pulldown resistor to ground.\\ | ||
| - | IO Pin ----- Button ------- +5V | ||
| - | | | ||
| - | 10k | ||
| - | | | ||
| - | GND | ||
| - | |||
| - | === Library === | ||
| - | [[https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library|Adafruit-MCP23017-Arduino-Library]]\\ | ||
| - | |||
| - | === Datasheet === | ||
| - | [[http://ww1.microchip.com/downloads/en/DeviceDoc/21952b.pdf|MCP23017]]\\ | ||
| - | |||
| - | ===Key and Pin parsing=== | ||
| - | MCP Key/Note Library | ||
| - | A0 D1 0 | ||
| - | A1 C#1 1 | ||
| - | A2 E1 2 | ||
| - | A3 D#1 3 | ||
| - | A4 F1 4 | ||
| - | A5 C1 5 | ||
| - | A6 G1 6 | ||
| - | A7 F#1 7 | ||
| - | B0 D1 8 | ||
| - | |||
| - | |||
| - | ---- | ||
| - | ==== OLED Display ==== | ||
| - | [[https://www.smart-prototyping.com/Prototyping-Modules/Arduino/OLED-0.96inch-12864-display-module-blue.html]]\\ | ||
| - | |||
| - | === Pins: === | ||
| - | OLED Display Arduino | ||
| - | | ||
| - | GND: Ground GND | ||
| - | VCC: 3.3v or 5.0V Power Supply +5V | ||
| - | D0: CLK Pin 08 | ||
| - | D1: MOSI Pin 07 | ||
| - | RST: Reset Pin 06 | ||
| - | DC: Data Command Pin 05 | ||
| - | CS: Chip Select NC | ||
| - | |||
| - | === Bit Converter === | ||
| - | [[http://en.radzio.dxp.pl/bitmap_converter/]]\\ | ||
| - | |||
| - | === Example Code === | ||
| - | [[https://www.smart-prototyping.com/image/data/2_components/Arduino/100952%20OLED%200.96inch%2012864%20display%20module%20blue/OLED.zip|OLED-Example]]\\ | ||
| - | |||
| - | ---- | ||
| - | ==== Knowledge ==== | ||
| - | === MCP23017 === | ||
| - | [[http://www.learningaboutelectronics.com/Articles/MCP23017-IO-port-expander-circuit-with-arduino.php]]\\ | ||
| - | [[http://www.nikolaus-lueneburg.de/2015/11/mcp23017-i2c-io-port-expander/]]\\ | ||
| - | === OLED Display === | ||
| - | [[http://www.instructables.com/id/How-to-use-OLED-display-arduino-module/]]\\ | ||
| - | |||
| - | ---- | ||