Microprocessor and embedded system 2/2018 project

Dependencies:   mbed BSP_DISCO_F746NG DISCO_F746NG_USBDevice

Files at this revision

API Documentation at this revision

Comitter:
60010049
Date:
Sat May 11 04:49:19 2019 +0000
Commit message:
without board

Changed in this revision

BSP_DISCO_F746NG.lib Show annotated file Show diff for this revision Revisions of this file
DISCO_F746NG_USBDevice.lib Show annotated file Show diff for this revision Revisions of this file
LCD_DISCO_F746NG.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/BSP_DISCO_F746NG.lib	Sat May 11 04:49:19 2019 +0000
@@ -0,0 +1,1 @@
+https://developer.mbed.org/teams/ST/code/BSP_DISCO_F746NG/#df2ea349c37a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/DISCO_F746NG_USBDevice.lib	Sat May 11 04:49:19 2019 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/DieterGraef/code/DISCO_F746NG_USBDevice/#0a2eaa300982
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LCD_DISCO_F746NG.lib	Sat May 11 04:49:19 2019 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/60010049/code/Program_Keyboard_to_the_Keyboard/#71205d3cf9e2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sat May 11 04:49:19 2019 +0000
@@ -0,0 +1,859 @@
+#include "mbed.h"
+#include "LCD_DISCO_F746NG.h"
+#include "USBMIDI.h"
+
+#define FastSpeedInterface 0
+#define HighSpeedInterface 1
+
+Serial pc(USBTX, USBRX);
+LCD_DISCO_F746NG lcd;
+
+USBMIDI midi(FastSpeedInterface);
+AnalogIn Ain(A0);
+
+int main()
+{
+    char ch;
+    pc.baud(9600);
+    pc.format(8, SerialBase::None, 1); //default
+    pc.printf("\n\r"); //Newline
+    pc.printf("This is Keyboard to the Keyboard"); //Transmit a string
+    pc.printf("\n\r"); 
+    pc.printf("By Tar, Gift, Tarn"); 
+    pc.printf("\n\r"); 
+    pc.printf("LCD will shows sign that you press on the key board"); 
+    pc.printf("\n\r");
+    pc.printf("Color LIGHTBLUE is for Octave 1,"); 
+    pc.printf("\n\r"); 
+    pc.printf("Color LIGHTRED is for Octave 2,"); 
+    pc.printf("\n\r"); 
+    pc.printf("Color LIGHTMAGENTE is for Octave 3,"); 
+    pc.printf("\n\r"); 
+    pc.printf("Color LIGHTGREEN is for Octave 4,"); 
+    pc.printf("\n\r"); 
+    pc.printf("Color ORANGE is for Octave 5,"); 
+    pc.printf("\n\r"); 
+    pc.printf("AND Color YELLOW is for Octave 6"); 
+    pc.printf("\n\r"); 
+    pc.printf("ENJOY :)"); 
+    pc.printf("\n\r"); 
+    while(1)
+    {
+        char str1[1];
+        int i;
+        lcd.Clear(LCD_COLOR_BLACK);
+        lcd.SetBackColor(LCD_COLOR_BLACK);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        
+        ch = pc.getc();
+        pc.putc(ch);
+        sprintf(str1,"%c",ch);
+        lcd.DisplayStringAt(0, LINE(2), (uint8_t *) str1, CENTER_MODE);
+        
+       //firstblock without shift
+        if(ch=='s')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTBLUE); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKBLUE); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"C 1", CENTER_MODE);
+            i=24;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='c')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTBLUE); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKBLUE); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"Db 1", CENTER_MODE);
+            i=25;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='d')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTBLUE); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKBLUE); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"D 1", CENTER_MODE);
+            i=26;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='3')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTBLUE); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKBLUE); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"Eb 1", CENTER_MODE);
+            i=27;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='e')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTBLUE); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKBLUE); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"E 1", CENTER_MODE);
+            i=28;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='w')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTBLUE); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKBLUE); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"F 1", CENTER_MODE);
+            i=29;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='2')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTBLUE); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKBLUE); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"F# 1", CENTER_MODE);
+            i=30;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='q')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTBLUE); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKBLUE); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"G 1", CENTER_MODE);
+            i=31;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='1')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTBLUE); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKBLUE); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"G# 1", CENTER_MODE);
+            i=32;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='a')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTBLUE); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKBLUE); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"A 1", CENTER_MODE);
+            i=33;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='z')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTBLUE); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKBLUE); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"Bb 1", CENTER_MODE);
+            i=34;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='x')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTBLUE); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKBLUE); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"B 1", CENTER_MODE);
+            i=35;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        
+        //firstblock with shift
+        if(ch=='S')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTGREEN); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKGREEN); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"C 4", CENTER_MODE);
+            i=60;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='C')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTGREEN); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKGREEN); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"Db 4", CENTER_MODE);
+            i=61;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='D')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTGREEN); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKGREEN); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"D 4", CENTER_MODE);
+            i=62;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='#')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTGREEN); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKGREEN); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"Eb 4", CENTER_MODE);
+            i=63;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='E')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTGREEN); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKGREEN); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"E 4", CENTER_MODE);
+            i=64;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='W')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTGREEN); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKGREEN); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"F 4", CENTER_MODE);
+            i=65;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='@')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTGREEN); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKGREEN); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"F# 4", CENTER_MODE);
+            i=66;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='Q')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTGREEN); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_WHITE); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"G 4", CENTER_MODE);
+            i=67;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='!')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTGREEN); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKGREEN); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"G# 4", CENTER_MODE);
+            i=68;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='A')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTGREEN); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKGREEN); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"A 4", CENTER_MODE);
+            i=69;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='Z')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTGREEN); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKGREEN); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"Bb 4", CENTER_MODE);
+            i=70;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='X')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTGREEN); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKGREEN); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"B 4", CENTER_MODE);
+            i=71;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        
+        //second block without shift
+        if(ch=='g')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTRED); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKRED); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"C 2", CENTER_MODE);
+            i=36;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='n')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTRED); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKRED); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"Db 2", CENTER_MODE);
+            i=37;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='h')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTRED); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKRED); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"D 2", CENTER_MODE);
+            i=38;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='6')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTRED); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKRED); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"Eb 2", CENTER_MODE);
+            i=39;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='y')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTRED); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKRED); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"E 2", CENTER_MODE);
+            i=40;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='t')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTRED); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKRED); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"F 2", CENTER_MODE);
+            i=41;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='5')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTRED); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKRED); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"F# 2", CENTER_MODE);
+            i=42;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='r')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTRED); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKRED); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"G 2", CENTER_MODE);
+            i=43;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='4')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTRED); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKRED); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"G# 2", CENTER_MODE);
+            i=44;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='f')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTRED); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKRED); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"A 2", CENTER_MODE);
+            i=45;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='v')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTRED); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKRED); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"Bb 2", CENTER_MODE);
+            i=46;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='b')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTRED); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKRED); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"B 2", CENTER_MODE);
+            i=47;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        
+        //secondblock with shift
+        if(ch=='G')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_ORANGE); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_BROWN); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"C 5", CENTER_MODE);
+            i=72;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='N')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_ORANGE); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_BROWN); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"Db 5", CENTER_MODE);
+            i=73;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='H')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_ORANGE); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_BROWN); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"D 5", CENTER_MODE);
+            i=74;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='^')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_ORANGE); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_BROWN); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"Eb 5", CENTER_MODE);
+            i=75;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='Y')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_ORANGE); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_BROWN); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"E 5", CENTER_MODE);
+            i=76;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='T')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_ORANGE); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_BROWN); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"F 5", CENTER_MODE);
+            i=77;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='%')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_ORANGE); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_BROWN); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"F# 5", CENTER_MODE);
+            i=78;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='R')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_ORANGE); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_BROWN); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"G 5", CENTER_MODE);
+            i=79;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='$')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_ORANGE); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_BROWN); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"G# 5", CENTER_MODE);
+            i=80;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='F')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_ORANGE); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_BROWN); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"A 5", CENTER_MODE);
+            i=81;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='V')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_ORANGE); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_BROWN); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"Bb 5", CENTER_MODE);
+            i=82;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='B')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_ORANGE); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_BROWN); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"B 5", CENTER_MODE);
+            i=83;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        
+        //thirdblock without shift
+        if(ch=='k')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTMAGENTA); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKMAGENTA); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"C 3", CENTER_MODE);
+            i=48;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='.')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTMAGENTA); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKMAGENTA); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"Db 3", CENTER_MODE);
+            i=49;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='l')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTMAGENTA); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKMAGENTA); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"D 3", CENTER_MODE);
+            i=50;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='9')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTMAGENTA); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKMAGENTA); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"Eb 3", CENTER_MODE);
+            i=51;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='o')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTMAGENTA); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKMAGENTA); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"E 3", CENTER_MODE);
+            i=52;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='i')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTMAGENTA); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKMAGENTA); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"F 3", CENTER_MODE);
+            i=53;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='8')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTMAGENTA); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKMAGENTA); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"F# 3", CENTER_MODE);
+            i=54;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='u')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTMAGENTA); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKMAGENTA); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"G 3", CENTER_MODE);
+            i=55;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='7')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTMAGENTA); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKMAGENTA); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"G# 3", CENTER_MODE);
+            i=56;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='j')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTMAGENTA); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKMAGENTA); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"A 3", CENTER_MODE);
+            i=57;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='m')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTMAGENTA); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKMAGENTA); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"Bb 3", CENTER_MODE);
+            i=58;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch==',')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTMAGENTA); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKMAGENTA); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"B 3", CENTER_MODE);
+            i=59;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        
+        //thirdblock with shift
+        if(ch=='K')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTYELLOW); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKYELLOW); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"C 6", CENTER_MODE);
+            i=84;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='>')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTYELLOW); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKYELLOW); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"Db 6", CENTER_MODE);
+            i=85;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='L')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTYELLOW); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKYELLOW); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"D 6", CENTER_MODE);
+            i=86;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='(')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTYELLOW); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKYELLOW); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"Eb 6", CENTER_MODE);
+            i=87;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='O')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTYELLOW); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKYELLOW); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"E 6", CENTER_MODE);
+            i=88;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='I')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTYELLOW); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKYELLOW); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"F 6", CENTER_MODE);
+            i=89;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='*')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTYELLOW); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKYELLOW); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"F# 6", CENTER_MODE);
+            i=90;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='U')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTYELLOW); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKYELLOW); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"G 6", CENTER_MODE);
+            i=91;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='&')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTYELLOW); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKYELLOW); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"G# 6", CENTER_MODE);
+            i=92;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='J')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTYELLOW); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKYELLOW); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"A 6", CENTER_MODE);
+            i=93;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='M')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTYELLOW); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKYELLOW); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"Bb 6", CENTER_MODE);
+            i=94;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+        if(ch=='<')
+        {
+            lcd.SetFont(&Font16);       //set font size
+            lcd.SetBackColor(LCD_COLOR_LIGHTYELLOW); //Set bg color
+            lcd.SetTextColor(LCD_COLOR_DARKYELLOW); //Set char color
+            lcd.DisplayStringAt(0,LINE(6),(uint8_t *)"B 6", CENTER_MODE);
+            i=95;
+            midi.write(MIDIMessage::NoteOn(i));
+            wait(0.3);
+            midi.write(MIDIMessage::NoteOff(i));
+        }
+    }    
+}
+
+        
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Sat May 11 04:49:19 2019 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400
\ No newline at end of file