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/]]\\ | ||
- | |||
- | ---- |