Differences

This shows you the differences between two versions of the page.

Link to this comparison view

sound_boards:midi_keyboard [2020/02/14 17:27]
admin
sound_boards:midi_keyboard [2020/06/11 22:13]
Line 1: Line 1:
-===== MIDI Keyboard ===== 
-A 25 key Midi keyboard based on an Arduino (Atmega328P-PU). It has an small OLED Display, too.\\ 
  
----- 
-==== Paper PCB ==== 
-{{:​sound_boards:​midi_keyboard_03.jpg?​400|}}\\ 
-{{ :​sound_boards:​midi_keyboard_03.zip |}}\\ 
- 
----- 
-==== Code ==== 
-The Atmega 328 on the board should be programed and used like an Arduino UNO. For burning the boot loader and uploading the code please follow the manual for the [[arduino_clones:​paperduino-uno|Paperduino-UNO]]\\ 
- 
-{{ :​other_boards:​midi_keyboard_04.zip |MIDI Keyboard Code}}\\ 
- 
----- 
-==== 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=== 
-   ​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 ==== 
-[[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/​]]\\ 
-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]]\\ 
- 
----- 
-==== MIDI ==== 
-=== 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]]\\ 
- 
----- 
-==== 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/​]]\\ 
- 
----- 
-==== License ==== 
- 
-The MIDI Keyboard was designed by **Wolfgang Spahn** 2014.\\ 
-It is licensed under a [[http://​creativecommons.org/​licenses/​by-nc-sa/​4.0/"​|Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License]]. 
- 
-<​html>​ 
-<a rel="​license"​ href="​http://​creativecommons.org/​licenses/​by-nc-sa/​4.0/"><​img alt="​Creative Commons License"​ style="​border-width:​0"​ src="​https://​i.creativecommons.org/​l/​by-nc-sa/​4.0/​88x31.png"​ /></​a> ​ 
-</​html>​ 
- 
-----