Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
other_boards:midi_keyboard [2017/07/04 22:31] admin [MIDI Keyboard] |
other_boards:midi_keyboard [2017/07/06 16:01] admin [OLED Display] |
||
---|---|---|---|
Line 3: | Line 3: | ||
---- | ---- | ||
- | ==== Pulldown Resistor ==== | + | ==== Code ==== |
- | Every botton is connected to +5V and at the pin to the MCP23017 it has a 10k pulldown resistor to ground. | + | {{ :other_boards:midi_keyboard_04.zip |}}\\ |
---- | ---- | ||
- | ==== I2C ==== | + | ==== MCP23017 ==== |
+ | === I2C === | ||
I2C SDA SCL | I2C SDA SCL | ||
Arduino Uno A4 A5 | Arduino Uno A4 A5 | ||
- | ---- | + | === Setting the Adress === |
- | ==== Setting the Adress ==== | + | |
To set the I2C address of the MCP23017 one has to connect A0, A1 and A2 to GND or to power.\\ | 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\\ | GND = 0 and +5V = 1\\ | ||
Line 28: | Line 28: | ||
mcp.begin(address); | mcp.begin(address); | ||
- | ---- | + | === Pulldown Resistor === |
- | ==== Library ==== | + | 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]]\\ | [[https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library|Adafruit-MCP23017-Arduino-Library]]\\ | ||
- | [[https://www.smart-prototyping.com/image/data/2_components/Arduino/100952%20OLED%200.96inch%2012864%20display%20module%20blue/OLED.zip|OLED-Example]] | + | |
+ | === Datasheet === | ||
+ | [[http://ww1.microchip.com/downloads/en/DeviceDoc/21952b.pdf|MCP23017]]\\ | ||
+ | |||
+ | ===Key and Pin parsing=== | ||
+ | MCP1 Key/Note Pin 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 A#1 8 | ||
+ | B1 H1 9 | ||
+ | B2 G#1 10 | ||
+ | B3 A1 11 | ||
+ | B4 Switch 12 | ||
+ | B5 Octave Up 13 | ||
+ | B6 Octave Down 14 | ||
+ | B7 15 | ||
+ | |||
+ | MCP2 Key/Note Pin Library | ||
+ | A0 D2 0 | ||
+ | A1 C#2 1 | ||
+ | A2 E2 2 | ||
+ | A3 D#2 3 | ||
+ | A4 F2 4 | ||
+ | A5 C2 5 | ||
+ | A6 G2 6 | ||
+ | A7 F#2 7 | ||
+ | B0 A#2 8 | ||
+ | B1 H2 9 | ||
+ | B2 G#2 10 | ||
+ | B3 A2 11 | ||
+ | B4 C3 12 | ||
+ | B5 Program Up 13 | ||
+ | B6 Program Down 14 | ||
+ | B7 15 | ||
+ | |||
---- | ---- | ||
==== OLED Display ==== | ==== OLED Display ==== | ||
[[https://www.smart-prototyping.com/Prototyping-Modules/Arduino/OLED-0.96inch-12864-display-module-blue.html]]\\ | [[https://www.smart-prototyping.com/Prototyping-Modules/Arduino/OLED-0.96inch-12864-display-module-blue.html]]\\ | ||
- | **Pins:**\\ | + | === Pins: === |
- | GND: power ground | + | OLED Display Arduino |
- | VCC: 3.3v or 5.0V power supply | + | |
- | D0: ClK | + | GND: Ground GND |
- | D1: MOSI data | + | VCC: 3.3v or 5.0V Power Supply +5V |
- | RST: Reset | + | D0: CLK Pin 08 |
- | DC: Data/Command | + | D1: MOSI Pin 07 |
- | CS: Chip select Port | + | RST: Reset Pin 06 |
+ | DC: Data Command Pin 05 | ||
+ | CS: Chip Select NC | ||
- | **Bit Converter**\\ | + | === Bit Converter === |
[[http://en.radzio.dxp.pl/bitmap_converter/]]\\ | [[http://en.radzio.dxp.pl/bitmap_converter/]]\\ | ||
+ | To convert a picture one need a 128x64 pixel, B/W, 1Bit Bitmap.\\ | ||
+ | Settings:\\ | ||
+ | Byte Orientation: vertical | ||
+ | Width: 128 Hight: 64 | ||
+ | Size Endianness: Little | ||
+ | Pixel/Byte 8 | ||
+ | |||
+ | === Example Code === | ||
+ | [[https://www.smart-prototyping.com/image/data/2_components/Arduino/100952%20OLED%200.96inch%2012864%20display%20module%20blue/OLED.zip|OLED-Example]]\\ | ||
+ | |||
---- | ---- | ||
- | ==== Datasheet ==== | + | ==== MIDI ==== |
- | [[http://ww1.microchip.com/downloads/en/DeviceDoc/21952b.pdf|MCP23017]]\\ | + | === MIDI Library === |
+ | Here are the links for the MIDI library for MIDI over the serial pins (TX, RX).\\ | ||
+ | [[https://github.com/FortySevenEffects/arduino_midi_library/releases/tag/4.2|MIDI Library 4.2]]\\ | ||
+ | |||
+ | === MIDI Specifications === | ||
+ | [[http://www.midi.org/techspecs/midimessages.php]] | ||
+ | [[http://dernulleffekt.de/midi/table1.html]]\\ | ||
+ | [[http://dernulleffekt.de/midi/table2.html]]\\ | ||
+ | [[http://dernulleffekt.de/midi/table3.html]]\\ | ||
+ | [[http://dernulleffekt.de/midi/table4.html]]\\ | ||
---- | ---- | ||
- | ==== Links ==== | + | ==== Knowledge ==== |
- | **MCP23017**\\ | + | === MCP23017 === |
[[http://www.learningaboutelectronics.com/Articles/MCP23017-IO-port-expander-circuit-with-arduino.php]]\\ | [[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/]]\\ | [[http://www.nikolaus-lueneburg.de/2015/11/mcp23017-i2c-io-port-expander/]]\\ | ||
- | **OLED Display**\\ | + | === OLED Display === |
[[http://www.instructables.com/id/How-to-use-OLED-display-arduino-module/]]\\ | [[http://www.instructables.com/id/How-to-use-OLED-display-arduino-module/]]\\ | ||
---- | ---- |