Final Project

Dependencies:   TS_DISCO_F746NG mbed LCD_DISCO_F746NG BSP_DISCO_F746NG

Revision:
3:071f8d46b38b
Parent:
0:9933f7db9a9b
diff -r 021843c33b0e -r 071f8d46b38b main.cpp
--- a/main.cpp	Wed Jun 07 09:31:50 2017 +0200
+++ b/main.cpp	Sun May 12 05:27:56 2019 +0000
@@ -1,73 +1,5117 @@
+
+
 #include "mbed.h"
+#include "LCD_DISCO_F746NG.h"
 #include "TS_DISCO_F746NG.h"
-#include "LCD_DISCO_F746NG.h"
 
 LCD_DISCO_F746NG lcd;
 TS_DISCO_F746NG ts;
+PwmOut buzzer (D1);
+Serial pc(USBTX,USBRX);
+InterruptIn button(D0);
+
+void buttonPressed_ISR(void);
+
+float choc1[]={261.63,329.63,392.00,523.25};
+float choc12[]={261.63,392.00,329.63,392.00};
+float choc13[]={261.63,261.63,329.63,329.63,392.00,392.00};
+float choc14[]={261.63,329.63,261.63,392.00,261.63,523.25};
+float choc2[]={293.67,349.23,440.00,587.33};
+float choc22[]={293.67,440.00,349.23,440.00};
+float choc23[]={293.67,293.67,349.23,349.23,440.00,440.00};
+float choc24[]={293.67,349.23,293.67,440.00,293.67,587.33};
+float choc3[]={329.63,392.00,493.88,659.26};
+float choc32[]={329.63,493.88,392.00,493.88};
+float choc33[]={329.63,329.63,392.00,392.00,493.88,493.88};
+float choc34[]={329.63,392.00,329.63,493.88,329.63,659.26};
+float choc4[]={349.23,440.00,523.25,698.46};
+float choc42[]={349.23,523.25,440.00,523.25};
+float choc43[]={349.23,349.23,440.00,440.00,523.25,523.25};
+float choc44[]={349.23,440.00,349.23,523.25,349.23,698.46};
+float choc5[]={392.00,493.88,587.33,783.99};
+float choc52[]={392.00,587.33,493.88,587.33};
+float choc53[]={392.00,392.00,493.88,493.88,587.33,587.33};
+float choc54[]={392.00,493.88,392.00,587.33,392.00,783.99};
+float choc6[]={220.00,261.63,329.63,440.00};
+float choc62[]={220.00,329.63,261.63,329.63};
+float choc63[]={220.00,220.00,261.63,261.63,329.63,329.63};
+float choc64[]={220.00,261.63,220.00,329.63,220.00,440.00};
+float choc7[]={246.94,293.67,349.23,493.88};
+float choc72[]={246.94,349.23,293.67,349.23};
+float choc73[]={246.94,246.94,293.67,293.67,349.23,349.23};
+float choc74[]={246.94,293.67,246.94,349.23,246.94,493.88};
+
+float chod1[]={293.67,369.99,440.00,587.33};
+float chod12[]={293.67,440.00,369.99,440.00};
+float chod13[]={293.67,293.67,369.99,369.99,440.00,440.00};
+float chod14[]={293.67,369.99,293.67,440.00,293.67,587.33};
+float chod2[]={329.63,392.00,493.88,659.26};
+float chod22[]={329.63,493.88,392.00,493.88};
+float chod23[]={329.63,329.63,392.00,392.00,493.88,493.88};
+float chod24[]={329.63,329.00,329.63,493.88,329.63,659.26};
+float chod3[]={369.99,440.00,554.37,739.99};
+float chod32[]={369.99,554.37,440.00,554.37};
+float chod33[]={369.99,369.99,440.00,440.00,554.37,554.37};
+float chod34[]={369.99,440.00,369.99,554.37,369.99,739.99};
+float chod4[]={392.00,493.88,587.33,783.99};
+float chod42[]={392.00,587.33,493.88,587.33};
+float chod43[]={392.00,392.00,493.88,493.88,587.33,587.33};
+float chod44[]={392.00,493.88,392.00,587.33,392.00,783.99};
+float chod5[]={220.00,277.18,329.63,440.00};
+float chod52[]={220.00,329.63,277.18,329.63};
+float chod53[]={220.00,220.00,277.18,277.18,329.63,329.63};
+float chod54[]={220.00,277.18,220.00,329.63,220.00,440.00};
+float chod6[]={246.94,293.67,369.99,493.88};
+float chod62[]={246.94,369.99,293.67,369.99};
+float chod63[]={246.94,246.94,293.67,293.67,369.99,369.99};
+float chod64[]={246.94,293.67,246.94,369.99,246.94,493.88};
+float chod7[]={277.18,329.63,392.00,554.37};
+float chod72[]={277.18,392.00,329.63,392.00};
+float chod73[]={277.18,277.18,329.63,329.63,392.00,392.00};
+float chod74[]={277.18,329.63,277.18,392.00,277.18,554.37};
+
+float choe1[]={329.63,415.30,493.88,659.26};
+float choe12[]={329.63,493.88,415.30,493.88};
+float choe13[]={329.63,329.63,415.30,415.30,493.88,493.88};
+float choe14[]={329.63,415.30,329.63,493.88,329.63,659.26};
+float choe2[]={369.99,440.00,554.37,739.99};
+float choe22[]={369.99,554.37,440.00,554.37};
+float choe23[]={369.99,369.99,440.00,440.00,554.37,554.37};
+float choe24[]={369.99,440.00,369.99,554.37,369.99,739.99};
+float choe3[]={415.30,493.88,622.25,830.61};
+float choe32[]={415.30,622.25,493.88,622.25};
+float choe33[]={415.30,415.30,493.88,493.88,622.25,622.25};
+float choe34[]={415.30,493.88,415.30,622.25,415.30,830.61};
+float choe4[]={220.00,277.18,329.63,440.00};
+float choe42[]={220.00,329.63,277.18,329.63};
+float choe43[]={220.00,220.00,277.18,277.18,329.63,329.63};
+float choe44[]={220.00,277.18,220.00,329.63,220.00,440.00};
+float choe5[]={246.94,311.13,369.99,493.88};
+float choe52[]={246.94,369.99,311.13,369.99};
+float choe53[]={246.94,246.94,311.13,311.13,369.99,369.99};
+float choe54[]={246.94,311.13,246.94,369.99,246.94,493.88};
+float choe6[]={277.18,329.63,415.30,554.37};
+float choe62[]={277.18,415.30,329.63,415.30};
+float choe63[]={277.18,277.18,329.63,329.63,415.30,415.30};
+float choe64[]={277.18,329.63,277.18,415.30,277.18,554.37};
+float choe7[]={311.13,369.99,440.00,622.25};
+float choe72[]={311.13,440.00,369.99,440.00};
+float choe73[]={311.13,311.13,369.99,369.99,440.00,440.00};
+float choe74[]={311.13,369.99,311.13,440.00,311.13,622.25};
+
+float chof1[]={349.23,440.00,523.25,698.46};
+float chof12[]={349.23,523.25,440.00,523.25};
+float chof13[]={349.23,349.23,440.00,440.00,523.25,523.25};
+float chof14[]={349.23,440.00,349.23,523.25,349.23,698.46};
+float chof2[]={196.00,233.08,293.67,392.00};
+float chof22[]={196.00,293.67,233.08,293.67};
+float chof23[]={196.00,196.00,233.08,233.08,293.67,293.67};
+float chof24[]={196.00,233.08,196.00,293.67,196.00,392.00};
+float chof3[]={220.00,261.63,329.63,440.00};
+float chof32[]={220.00,329.63,261.63,329.63};
+float chof33[]={220.00,220.00,261.63,261.63,329.63,329.63};
+float chof34[]={220.00,261.63,220.00,329.63,220.00,440.00};
+float chof4[]={233.08,293.67,349.23,466.16};
+float chof42[]={233.08,349.23,293.67,349.23};
+float chof43[]={233.08,233.08,293.67,293.67,349.23,349.23};
+float chof44[]={233.08,293.67,233.08,349.23,233.08,466.16};
+float chof5[]={261.63,329.63,392.00,523.25};
+float chof52[]={261.63,392.00,329.63,392.00};
+float chof53[]={261.63,261.63,329.00,329.00,392.00,392.00};
+float chof54[]={261.63,329.63,261.63,392.00,261.63,523.25};
+float chof6[]={293.67,349.23,440.00,587.33};
+float chof62[]={293.67,440.00,349.23,440.00};
+float chof63[]={293.67,293.67,349.23,349.23,440.00,440.00};
+float chof64[]={293.67,349.23,293.67,440.00,293.67,587.33};
+float chof7[]={329.63,392.00,466.16,659.26};
+float chof72[]={329.63,466.16,392.00,466.16};
+float chof73[]={329.63,329.63,392.00,392.00,466.16,466.16};
+float chof74[]={329.63,392.00,329.63,466.16,329.63,659.26};
+
+float chog1[]={196.00,246.94,293.67,392.00};
+float chog12[]={196.00,293.67,246.94,293.67};
+float chog13[]={196.00,196.00,246.94,246.94,293.67,293.67};
+float chog14[]={196.00,246.94,196.00,293.67,196.00,392.00};
+float chog2[]={220.00,261.63,329.63,440.00};
+float chog22[]={220.00,329.63,261.63,329.63};
+float chog23[]={220.00,220.00,261.63,261.63,329.63,329.63};
+float chog24[]={220.00,261.63,220.00,329.63,220.00,440.00};
+float chog3[]={246.94,293.67,369.99,493.88};
+float chog32[]={246.94,369.99,293.67,369.99};
+float chog33[]={246.94,246.94,293.67,293.67,369.99,369.99};
+float chog34[]={246.94,293.67,246.94,369.99,246.94,493.88};
+float chog4[]={261.63,329.63,392.00,523.25};
+float chog42[]={261.63,392.00,329.63,392.00};
+float chog43[]={261.63,261.63,329.63,329.63,392.00,392.00};
+float chog44[]={261.63,329.63,261.63,392.00,261.63,523.25};
+float chog5[]={293.67,369.99,440.00,587.33};
+float chog52[]={293.67,440.00,369.99,440.00};
+float chog53[]={293.67,293.67,369.99,369.99,440.00,440.00};
+float chog54[]={293.67,369.99,293.67,440.00,293.67,587.33};
+float chog6[]={329.63,392.00,493.88,659.26};
+float chog62[]={329.63,493.88,392.00,493.88};
+float chog63[]={329.63,329.63,392.00,392.00,493.88,493.88};
+float chog64[]={329.63,392.00,329.63,493.88,329.63,659.26};
+float chog7[]={369.99,440.00,523.25,698.46};
+float chog72[]={369.99,523.25,440.00,523.25};
+float chog73[]={369.99,369.99,440.00,440.00,523.25,523.25};
+float chog74[]={369.99,440.00,369.99,523.25,369.99,698.46};
+
+float choa1[]={220.00,277.18,329.63,440.00};
+float choa12[]={220.00,329.63,277.18,329.63};
+float choa13[]={220.00,220.00,277.18,277.18,329.63,329.63};
+float choa14[]={220.00,277.18,220.00,329.63,220.00,440.00};
+float choa2[]={246.94,293.67,369.99,493.88};
+float choa22[]={246.94,369.99,293.67,369.99};
+float choa23[]={246.94,246.94,293.67,293.67,369.99,369.99};
+float choa24[]={246.94,293.67,246.94,369.99,246.94,493.88};
+float choa3[]={277.18,329.63,415.30,554.37};
+float choa32[]={277.18,415.30,329.63,415.30};
+float choa33[]={277.18,277.18,329.63,329.63,415.30,415.30};
+float choa34[]={277.18,329.63,277.18,415.30,277.18,554.37};
+float choa4[]={293.67,369.99,440.00,587.33};
+float choa42[]={293.67,440.00,369.99,440.00};
+float choa43[]={293.67,293.67,369.99,369.99,440.00,440.00};
+float choa44[]={293.67,369.99,293.67,440.00,293.67,587.33};
+float choa5[]={329.63,415.30,493.88,659.26};
+float choa52[]={329.63,493.88,415.30,493.88};
+float choa53[]={329.63,329.63,415.30,415.30,493.88,493.88};
+float choa54[]={329.63,415.30,329.63,493.88,329.63,659.26};
+float choa6[]={369.99,440.00,554.37,739.99};
+float choa62[]={369.99,554.37,440.00,554.37};
+float choa63[]={369.99,369.99,440.00,440.00,554.37,554.37};
+float choa64[]={369.99,440.00,369.99,554.37,369.99,739.99};
+float choa7[]={415.30,493.88,587.33,830.61};
+float choa72[]={415.30,587.33,493.88,587.33};
+float choa73[]={415.30,415.30,493.88,493.88,587.33,587.33};
+float choa74[]={415.30,493.88,415.30,587.33,415.30,830.61};
+
+float chob1[]={246.94,311.13,369.99,493.88};
+float chob12[]={246.94,369.99,311.13,369.99};
+float chob13[]={246.94,246.94,311.13,311.13,369.99,369.99};
+float chob14[]={246.94,311.13,246.94,369.99,246.94,493.88};
+float chob2[]={277.18,329.63,415.30,554.37};
+float chob22[]={277.18,415.30,329.63,415.30};
+float chob23[]={277.18,277.18,329.63,329.63,415.30,415.30};
+float chob24[]={277.18,329.63,277.18,415.30,277.18,554.37};
+float chob3[]={311.13,369.99,466.16,622.25};
+float chob32[]={311.13,466.16,369.99,466.16};
+float chob33[]={311.13,311.13,369.99,369.99,466.16,466.16};
+float chob34[]={311.13,369.99,311.13,466.16,311.13,622.25};
+float chob4[]={329.63,415.30,493.88,659.26};
+float chob42[]={329.63,493.88,415.30,493.88};
+float chob43[]={329.63,329.63,415.30,415.30,493.88,493.88};
+float chob44[]={329.63,415.30,329.63,493.88,329.63,659.26};
+float chob5[]={369.99,466.16,554.37,739.99};
+float chob52[]={369.99,554.37,466.16,554.37};
+float chob53[]={369.99,369.99,466.16,466.16,554.37,554.37};
+float chob54[]={369.99,466.16,369.99,554.37,369.99,739.99};
+float chob6[]={415.30,493.88,622.25,830.61};
+float chob62[]={415.30,622.25,493.88,622.25};
+float chob63[]={415.30,415.30,493.88,493.88,622.25,622.25};
+float chob64[]={415.30,493.88,415.30,622.25,415.30,830.61};
+float chob7[]={233.08,277.18,329.63,466.16};
+float chob72[]={233.08,329.63,277.18,329.63};
+float chob73[]={233.08,233.08,277.18,277.18,329.63,329.63};
+float chob74[]={233.08,277.18,233.08,329.63,233.08,466.16};
+
+float tid[]={220.00,196.00,220.00,329.63,349.23,329.63,349.23,329.63,349.23,329.63,261.63,329.63,  220.00,196.00,220.00,329.63,349.23,329.63,349.23,329.63,293.67,261.63,293.67,261.63,293.67,329.63,329.63,   220.00,196.00,220.00,329.63,349.23,329.63,349.23,329.63,293.67,261.63,440.00,440.00,329.63,349.23,392.00,   220.00,196.00,220.00,329.63,293.67,261.63,  196.00,220.00,196.00,329.63,349.23,392.00,329.63,293.67,261.63,220.00,246.94,261.63};
+float btid[]={1,0.5,1,1,1,1,1,1,1,1,0.5,4, 1,0.5,1,1,1,1,1,1,0.5,2,0.5,0.5,1,1,2, 1,0.5,1,1,1,1,1,1,0.5,2,0.5,1,1,1,2, 1,0.5,1,2,0.5,2, 1,0.5,1,1,0.5,1,1,1,1,0.5,2,4};
+
+float rig[]={261.63,392.00,523.25,783.99,783.99,698.46,659.26,587.33, 196.00,293.67,392.00,587.33,587.33,659.26,698.46,659.265, 220.00,329.63,523.25,523.25,587.33,659.26,698.46,659.26,587.33,523.25,493.88,523.25};
+float brig[]{1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,2,1,1,2,2,2,1,1,4};
+
+float tar[]={783.99,783.99,880.00,783.99,880.00,1046.50,880.00,783.99, 783.99,880.00,1046.50,880.00,783.99, 783.99,880.00,1046.50,880.00,783.99,880.00,783.99,659.26, 783.99,783.99,880.00,783.99,880.00,1046.50,880.00,783.99, 783.99,880.00,783.99,1046.50,880.00,783.99, 783.99,880.00,783.99,1046.50,880.00,783.99,880.00,783.99,880.00,1046.50};
+float btar[]={0.5,0.5,0.5,0.5,0.5,1,1,1, 0.5,0.5,1,0.5,1.5, 0.5,0.5,1,0.5,1,0.5,1,1 ,0.5,0.5,0.5,0.5,0.5,1,0.5,1, 0.5,0.5,0.5,0.5,1,1, 0.5,0.5,0.5,1,0.5,0.5,0.5,0.5,0.5,4};
+
+float kis[]={392.00,523.25,587.33,587.33,659.26,659.26, 523.25,587.33,659.26,587.33,783.99,783.99, 783.99,880.00,987.77,987.77,1046.50,1046.50, 1174.70,1318.50,1174.70,1046.50,987.77, 1046.50,987.77,783.99,783.99,880.00,880.00, 783.99,698.46,698.46,783.99,783.99, 523.25,587.33,659.26,698.46, 440.00,523.25,493.88,523.25};
+float bkis[]={1,1,1,1,1,4, 1,1,1,1,1,4, 1,1,1,1,1,4, 1,1,1,1,4, 1,1,1,1,1,4, 1,1,1,1,4, 1,1,1,1,2,1,2,4};
+
+float beat1[]={1,1,1,1};
+float beat2[]={1,1,1,1,1,1};
+
+
+
+
+
 
 int main()
 {
     TS_StateTypeDef TS_State;
-    uint16_t x, y;
-    uint8_t text[30];
     uint8_t status;
-    uint8_t idx;
-    uint8_t cleared = 0;
-    uint8_t prev_nb_touches = 0;
+    
+    
+    
+        
+    status = ts.Init(lcd.GetXSize(), lcd.GetYSize());
+        lcd.Clear(LCD_COLOR_BLUE);
+        lcd.SetBackColor(LCD_COLOR_BLUE);
+        
+        lcd.SetBackColor(LCD_COLOR_BLUE);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(1), (uint8_t *)"WCT", CENTER_MODE);
+        
+       
+       
+        lcd.SetTextColor(LCD_COLOR_GREEN);
+        lcd.FillRect(10,90,150,90);
+        
+       lcd.SetBackColor(LCD_COLOR_GREEN);
+        lcd.SetTextColor(LCD_COLOR_BROWN);
+        lcd.DisplayStringAt(0,LINE(5), (uint8_t *)" KEYBOARD", LEFT_MODE);
+        
+        lcd.SetTextColor(LCD_COLOR_GREEN);
+        lcd.FillRect(170,90,149,90);
+        
+       lcd.SetBackColor(LCD_COLOR_GREEN);
+        lcd.SetTextColor(LCD_COLOR_BROWN);
+        lcd.DisplayStringAt(0,LINE(5), (uint8_t *)" AT CHORD", CENTER_MODE);
+        
+         lcd.SetTextColor(LCD_COLOR_GREEN);
+        lcd.FillRect(330,90,149,90);
+        
+       lcd.SetBackColor(LCD_COLOR_GREEN);
+        lcd.SetTextColor(LCD_COLOR_BROWN);
+        lcd.DisplayStringAt(0,LINE(5), (uint8_t *)"SONGS  ", RIGHT_MODE);
+        
+         lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(0,90,9,90);
+        
+         lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(161,90,8,90);
+        
+        button.rise(&buttonPressed_ISR);
+        
+        
+        while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+       
+       if (TS_State.touchX[0] > 10 && TS_State.touchX[0]<160 &&  TS_State.touchY[0] > 90 && TS_State.touchY[0] < 180)
+       {
+           
+        lcd.Clear(LCD_COLOR_BLUE);
+        lcd.SetBackColor(LCD_COLOR_BLUE);
+        
+        lcd.SetBackColor(LCD_COLOR_BLUE);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(1), (uint8_t *)"WCT", CENTER_MODE);
+        
+        
+           lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(0,136,59,136);
+        
+        
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(60,136,59,136);
+        
+        
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(120,136,59,136);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(180,136,59,136);
+       
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(240,136,59,136);
+       
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(300,136,59,136);
+      
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(360,136,59,136);
+       
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(420,136,59,136);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(480,136,59,136);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_BLACK);
+        lcd.FillRect(40,136,40,100);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_BLACK);
+        lcd.FillRect(100,136,40,100);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_BLACK);
+        lcd.FillRect(220,136,40,100);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_BLACK);
+        lcd.FillRect(280,136,40,100);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_BLACK);
+        lcd.FillRect(340,136,40,100);
+        
+        
+         lcd.SetTextColor(LCD_COLOR_RED);
+        lcd.FillRect(30,70,59,30);
+        
+        
+         lcd.SetTextColor(LCD_COLOR_RED);
+        lcd.FillRect(100,70,59,30);
+        
+        lcd.SetTextColor(LCD_COLOR_RED);
+        lcd.FillRect(210,70,59,30);
+        
+        lcd.SetBackColor(LCD_COLOR_RED);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(3), (uint8_t *)"       +", LEFT_MODE);
+        
+        
+        
+        lcd.SetBackColor(LCD_COLOR_RED);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(3), (uint8_t *)"   -", LEFT_MODE);
+        
+        
+        lcd.SetBackColor(LCD_COLOR_RED);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(3), (uint8_t *)"0", CENTER_MODE);
+        
+        lcd.SetBackColor(LCD_COLOR_BLUE);
+        lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(0,70,29,30);
+        
+        lcd.SetBackColor(LCD_COLOR_BLUE);
+        lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(90,70,9,30);
+        
+        
+         
+        
+        
+      
+        
+        lcd.SetBackColor(LCD_COLOR_WHITE);
+        lcd.SetTextColor(LCD_COLOR_RED);
+        lcd.DisplayStringAt(0,LINE(10), (uint8_t *)"C3", LEFT_MODE);
+        
+       
+        
 
-    lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN DEMO", CENTER_MODE);
-    wait(1);
-
-    status = ts.Init(lcd.GetXSize(), lcd.GetYSize());
-    if (status != TS_OK) {
-        lcd.Clear(LCD_COLOR_RED);
+    
+    
+       
+    while(1)
+    {
+       TS_StateTypeDef TS_State;
+    uint8_t status;
+    ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+         pc.printf("Touch x = %3d : y = %3d\r\n",TS_State.touchX[0],TS_State.touchY[0]);
+            if(TS_State.touchX[0] > 30 && TS_State.touchX[0] <90 && TS_State.touchY[0]>60 && TS_State.touchY[0] < 90)
+           {
+              lcd.Clear(LCD_COLOR_BLUE);
+        lcd.SetBackColor(LCD_COLOR_BLUE);
+        
+        lcd.SetBackColor(LCD_COLOR_BLUE);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(1), (uint8_t *)"WCT", CENTER_MODE);
+        
+        
+           lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(0,136,59,136);
+        
+        
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(60,136,59,136);
+        
+        
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(120,136,59,136);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(180,136,59,136);
+       
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(240,136,59,136);
+       
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(300,136,59,136);
+      
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(360,136,59,136);
+       
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(420,136,59,136);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(480,136,59,136);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_BLACK);
+        lcd.FillRect(40,136,40,100);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_BLACK);
+        lcd.FillRect(100,136,40,100);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_BLACK);
+        lcd.FillRect(220,136,40,100);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_BLACK);
+        lcd.FillRect(280,136,40,100);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_BLACK);
+        lcd.FillRect(340,136,40,100);
+        
+        
+        
+        
+        
+         lcd.SetTextColor(LCD_COLOR_RED);
+        lcd.FillRect(100,70,59,30);
+        
+        lcd.SetTextColor(LCD_COLOR_RED);
+        lcd.FillRect(210,70,59,30);
+        
+        lcd.SetBackColor(LCD_COLOR_RED);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(3), (uint8_t *)"       +", LEFT_MODE);
+        
         lcd.SetBackColor(LCD_COLOR_RED);
         lcd.SetTextColor(LCD_COLOR_WHITE);
-        lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN INIT FAIL", CENTER_MODE);
-    } else {
-        lcd.Clear(LCD_COLOR_GREEN);
+        lcd.DisplayStringAt(0,LINE(3), (uint8_t *)"0", CENTER_MODE);
+        
+        
+         lcd.SetBackColor(LCD_COLOR_BLUE);
+        lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(0,70,99,30);
+        
+        lcd.SetBackColor(LCD_COLOR_BLUE);
+        lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(90,70,9,30);
+        
+        
+         
+        
+        
+      
+        
+        lcd.SetBackColor(LCD_COLOR_WHITE);
+        lcd.SetTextColor(LCD_COLOR_RED);
+        lcd.DisplayStringAt(0,LINE(10), (uint8_t *)"C2", LEFT_MODE);
+        
+     
+               while(1)
+    {
+       TS_StateTypeDef TS_State;
+    uint8_t status;
+    ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+              if (TS_State.touchX[0] < 60 && TS_State.touchX[0] > 0  && TS_State.touchY[0] >236)
+            {
+                
+                buzzer.period(1/130.82);
+                buzzer=0.5;
+                
+               
+                
+                
+                }
+               
+                else if (TS_State.touchX[0] > 60 && TS_State.touchX[0]<120 &&  TS_State.touchY[0] > 236)
+                {
+                    buzzer.period(1/146.84);
+                    buzzer=0.5;
+                  
+                    
+                    
+                    
+                }
+              
+               else if (TS_State.touchX[0] > 120 && TS_State.touchX[0]<180 &&  TS_State.touchY[0] > 236)
+                {
+                    buzzer.period(1/164.82);
+                    buzzer=0.5;
+                    
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 180 && TS_State.touchX[0]<240 &&  TS_State.touchY[0] > 236)
+                {
+                    buzzer.period(1/174.62);
+                    buzzer=0.5;
+                   
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 240 && TS_State.touchX[0]<300 &&  TS_State.touchY[0] > 236)
+                {
+                    buzzer.period(1/196.00);
+                    buzzer=0.5;
+                    
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 300 && TS_State.touchX[0]<360 &&  TS_State.touchY[0] > 236)
+                {
+                    buzzer.period(1/220.00);
+                    buzzer=0.5;
+                    
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 360 && TS_State.touchX[0]<420 &&  TS_State.touchY[0] > 236)
+                {
+                    buzzer.period(1/246.94);
+                    buzzer=0.5;
+                    
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 420 && TS_State.touchX[0]<480 &&  TS_State.touchY[0] > 136)
+                {
+                    buzzer.period(1/261.63);
+                    buzzer=0.5;
+                    
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 40 && TS_State.touchX[0]< 80 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 236 )
+                {
+                    buzzer.period(1/138.59);
+                    buzzer=0.5;
+                  
+                    
+                }
+                
+                 if (TS_State.touchX[0] > 100 && TS_State.touchX[0]<140 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 236 )
+                {
+                    buzzer.period(1/155.57);
+                    buzzer=0.5;
+                    
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 220 && TS_State.touchX[0]<260 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 236)
+                {
+                    buzzer.period(1/185.00);
+                    buzzer=0.5;
+                    
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 280 && TS_State.touchX[0]<320 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 236)
+                {
+                    buzzer.period(1/207.65);
+                    buzzer=0.5;
+                    
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 340 && TS_State.touchX[0]<380 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 236)
+                {
+                    buzzer.period(1/233.08);
+                    buzzer=0.5;
+                   
+                    
+                }
+                
+                }
+               
+                 
+                   }
+                   }
+                   
+                   
+                   
+        
+       
+           
+            
+            
+           
+           
+           
+           
+           
+           else if(TS_State.touchX[0] > 100 && TS_State.touchX[0] <160 && TS_State.touchY[0]>70 && TS_State.touchY[0] < 100)
+           {
+             lcd.Clear(LCD_COLOR_BLUE);
+        lcd.SetBackColor(LCD_COLOR_BLUE);
+        
+        lcd.SetBackColor(LCD_COLOR_BLUE);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(1), (uint8_t *)"WCT", CENTER_MODE);
+        
+        
+           lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(0,136,59,136);
+        
+        
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(60,136,59,136);
+        
+        
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(120,136,59,136);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(180,136,59,136);
+       
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(240,136,59,136);
+       
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(300,136,59,136);
+      
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(360,136,59,136);
+       
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(420,136,59,136);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(480,136,59,136);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_BLACK);
+        lcd.FillRect(40,136,40,100);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_BLACK);
+        lcd.FillRect(100,136,40,100);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_BLACK);
+        lcd.FillRect(220,136,40,100);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_BLACK);
+        lcd.FillRect(280,136,40,100);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_BLACK);
+        lcd.FillRect(340,136,40,100);
+        
+        
+         lcd.SetTextColor(LCD_COLOR_RED);
+        lcd.FillRect(30,70,59,30);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_RED);
+        lcd.FillRect(210,70,59,30);
+        
+        
+        
+        lcd.SetBackColor(LCD_COLOR_RED);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(3), (uint8_t *)"   -", LEFT_MODE);
+        
+        lcd.SetBackColor(LCD_COLOR_RED);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(3), (uint8_t *)"0", CENTER_MODE);
+      
+        
+        
+         lcd.SetBackColor(LCD_COLOR_BLUE);
+        lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(0,70,29,30);
+        
+        
+      
+        
+        lcd.SetBackColor(LCD_COLOR_WHITE);
+        lcd.SetTextColor(LCD_COLOR_RED);
+        lcd.DisplayStringAt(0,LINE(10), (uint8_t *)"C4", LEFT_MODE);
+         while(1)
+    {
+       TS_StateTypeDef TS_State;
+    uint8_t status;
+    ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+             
+             if (TS_State.touchX[0] < 60 && TS_State.touchX[0] > 0  && TS_State.touchY[0] >236)
+            {
+                
+                buzzer.period(1/523.26);
+                buzzer=0.5;
+                
+               
+                
+                
+                }
+               
+                else if (TS_State.touchX[0] > 60 && TS_State.touchX[0]<120 &&  TS_State.touchY[0] > 236)
+                {
+                    buzzer.period(1/587.34);
+                    buzzer=0.5;
+                  
+                    
+                    
+                    
+                }
+              
+               else if (TS_State.touchX[0] > 120 && TS_State.touchX[0]<180 &&  TS_State.touchY[0] > 236)
+                {
+                    buzzer.period(1/659.26);
+                    buzzer=0.5;
+                    
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 180 && TS_State.touchX[0]<240 &&  TS_State.touchY[0] > 236)
+                {
+                    buzzer.period(1/698.46);
+                    buzzer=0.5;
+                   
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 240 && TS_State.touchX[0]<300 &&  TS_State.touchY[0] > 236)
+                {
+                    buzzer.period(1/784.00);
+                    buzzer=0.5;
+                    
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 300 && TS_State.touchX[0]<360 &&  TS_State.touchY[0] > 236)
+                {
+                    buzzer.period(1/880.00);
+                    buzzer=0.5;
+                    
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 360 && TS_State.touchX[0]<420 &&  TS_State.touchY[0] > 236)
+                {
+                    buzzer.period(1/987.76);
+                    buzzer=0.5;
+                    
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 420 && TS_State.touchX[0]<480 &&  TS_State.touchY[0] > 136)
+                {
+                    buzzer.period(1/1046.50);
+                    buzzer=0.5;
+                    
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 40 && TS_State.touchX[0]< 80 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 236 )
+                {
+                    buzzer.period(1/554.36);
+                    buzzer=0.5;
+                  
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 100 && TS_State.touchX[0]<140 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 236 )
+                {
+                    buzzer.period(1/622.26);
+                    buzzer=0.5;
+                    
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 220 && TS_State.touchX[0]<260 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 236)
+                {
+                    buzzer.period(1/739.98);
+                    buzzer=0.5;
+                    
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 280 && TS_State.touchX[0]<320 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 236)
+                {
+                    buzzer.period(1/830.60);
+                    buzzer=0.5;
+                    
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 340 && TS_State.touchX[0]<380 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 236)
+                {
+                    buzzer.period(1/932.32);
+                    buzzer=0.5;
+                   
+                    
+                }
+                
+                
+               
+                   
+                   }
+                   
+                   }
+                   }
+            
+            
+           else if(TS_State.touchX[0] > 210 && TS_State.touchX[0] <270 && TS_State.touchY[0]>70 && TS_State.touchY[0] < 100)
+            {
+            lcd.Clear(LCD_COLOR_BLUE);
+        lcd.SetBackColor(LCD_COLOR_BLUE);
+        
+        lcd.SetBackColor(LCD_COLOR_BLUE);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(1), (uint8_t *)"WCT", CENTER_MODE);
+        
+        
+           lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(0,136,59,136);
+        
+        
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(60,136,59,136);
+        
+        
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(120,136,59,136);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(180,136,59,136);
+       
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(240,136,59,136);
+       
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(300,136,59,136);
+      
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(360,136,59,136);
+       
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(420,136,59,136);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.FillRect(480,136,59,136);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_BLACK);
+        lcd.FillRect(40,136,40,100);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_BLACK);
+        lcd.FillRect(100,136,40,100);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_BLACK);
+        lcd.FillRect(220,136,40,100);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_BLACK);
+        lcd.FillRect(280,136,40,100);
+        
+        
+        lcd.SetTextColor(LCD_COLOR_BLACK);
+        lcd.FillRect(340,136,40,100);
+        
+        
+         lcd.SetTextColor(LCD_COLOR_RED);
+        lcd.FillRect(30,70,59,30);
+        
+        
+         lcd.SetTextColor(LCD_COLOR_RED);
+        lcd.FillRect(100,70,59,30);
+        
+        lcd.SetTextColor(LCD_COLOR_RED);
+        lcd.FillRect(210,70,59,30);
+        
+        lcd.SetBackColor(LCD_COLOR_RED);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(3), (uint8_t *)"       +", LEFT_MODE);
+        
+        
+        
+        lcd.SetBackColor(LCD_COLOR_RED);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(3), (uint8_t *)"   -", LEFT_MODE);
+        
+        
+        lcd.SetBackColor(LCD_COLOR_RED);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(3), (uint8_t *)"0", CENTER_MODE);
+        
+        lcd.SetBackColor(LCD_COLOR_BLUE);
+        lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(0,70,29,30);
+        
+        lcd.SetBackColor(LCD_COLOR_BLUE);
+        lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(90,70,9,30);
+        
+        
+         
+        
+        
+      
+        
+        lcd.SetBackColor(LCD_COLOR_WHITE);
+        lcd.SetTextColor(LCD_COLOR_RED);
+        lcd.DisplayStringAt(0,LINE(10), (uint8_t *)"C3", LEFT_MODE);
+        
+        
+               while(1)
+    {
+       TS_StateTypeDef TS_State;
+    uint8_t status;
+    ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+            
+           if (TS_State.touchX[0] < 60 && TS_State.touchX[0] > 0  && TS_State.touchY[0] >236)
+            {
+                
+                buzzer.period(1/261.63);
+                buzzer=0.5;
+                
+               
+                
+                
+                }
+               
+                else if (TS_State.touchX[0] > 60 && TS_State.touchX[0]<120 &&  TS_State.touchY[0] > 236)
+                {
+                    buzzer.period(1/293.67);
+                    buzzer=0.5;
+                  
+                    
+                    
+                    
+                }
+              
+               else if (TS_State.touchX[0] > 120 && TS_State.touchX[0]<180 &&  TS_State.touchY[0] > 236)
+                {
+                    buzzer.period(1/329.63);
+                    buzzer=0.5;
+                    
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 180 && TS_State.touchX[0]<240 &&  TS_State.touchY[0] > 236)
+                {
+                    buzzer.period(1/349.23);
+                    buzzer=0.5;
+                   
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 240 && TS_State.touchX[0]<300 &&  TS_State.touchY[0] > 236)
+                {
+                    buzzer.period(1/392.00);
+                    buzzer=0.5;
+                    
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 300 && TS_State.touchX[0]<360 &&  TS_State.touchY[0] > 236)
+                {
+                    buzzer.period(1/440.00);
+                    buzzer=0.5;
+                    
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 360 && TS_State.touchX[0]<420 &&  TS_State.touchY[0] > 236)
+                {
+                    buzzer.period(1/493.88);
+                    buzzer=0.5;
+                    
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 420 && TS_State.touchX[0]<480 &&  TS_State.touchY[0] > 136)
+                {
+                    buzzer.period(1/523.25);
+                    buzzer=0.5;
+                    
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 40 && TS_State.touchX[0]< 80 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 236 )
+                {
+                    buzzer.period(1/277.18);
+                    buzzer=0.5;
+                  
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 100 && TS_State.touchX[0]<140 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 236 )
+                {
+                    buzzer.period(1/311.13);
+                    buzzer=0.5;
+                    
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 220 && TS_State.touchX[0]<260 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 236)
+                {
+                    buzzer.period(1/369.99);
+                    buzzer=0.5;
+                    
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 280 && TS_State.touchX[0]<320 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 236)
+                {
+                    buzzer.period(1/415.30);
+                    buzzer=0.5;
+                    
+                    
+                }
+                
+                 else if (TS_State.touchX[0] > 340 && TS_State.touchX[0]<380 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 236)
+                {
+                    buzzer.period(1/466.16);
+                    buzzer=0.5;
+                   
+                    
+                }
+                
+                
+              
+                  }
+                  } 
+                   
+                   
+        
+       
+          
+    }
+    }
+    }
+           }
+    if (TS_State.touchX[0] > 170 && TS_State.touchX[0]<320 &&  TS_State.touchY[0] > 90 && TS_State.touchY[0] < 180)
+       {
+      lcd.Clear(LCD_COLOR_BLUE);
+        lcd.SetBackColor(LCD_COLOR_BLUE);
+        
+        lcd.SetBackColor(LCD_COLOR_BLUE);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(1), (uint8_t *)"WCT", CENTER_MODE);
+        
+         lcd.SetTextColor(LCD_COLOR_GREEN);
+        lcd.FillRect(10,68,48,58);
+        
+        lcd.SetTextColor(LCD_COLOR_GREEN);
+        lcd.FillRect(68,68,48,58);
+        
+        lcd.SetTextColor(LCD_COLOR_GREEN);
+        lcd.FillRect(126,68,48,58);
+        
+        lcd.SetTextColor(LCD_COLOR_GREEN);
+        lcd.FillRect(184,68,48,58);
+        
+        lcd.SetTextColor(LCD_COLOR_GREEN);
+        lcd.FillRect(242,68,48,58);
+        
+        lcd.SetTextColor(LCD_COLOR_GREEN);
+        lcd.FillRect(300,68,48,58);
+        
+        lcd.SetTextColor(LCD_COLOR_GREEN);
+        lcd.FillRect(358,68,48,58);
+        
+        
+        lcd.SetBackColor(LCD_COLOR_GREEN);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(3), (uint8_t *)"                      B", LEFT_MODE);
+        
+        
+        lcd.SetBackColor(LCD_COLOR_GREEN);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(3), (uint8_t *)"                   A", LEFT_MODE);
+        
+        lcd.SetBackColor(LCD_COLOR_GREEN);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(3), (uint8_t *)"               G", LEFT_MODE);
+        
+        lcd.SetBackColor(LCD_COLOR_GREEN);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(3), (uint8_t *)"            F", LEFT_MODE);
+        
+         lcd.SetBackColor(LCD_COLOR_GREEN);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(3), (uint8_t *)"        E", LEFT_MODE);
+         
+         
+         lcd.SetBackColor(LCD_COLOR_GREEN);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(3), (uint8_t *)"     D", LEFT_MODE);
+        
+        
         lcd.SetBackColor(LCD_COLOR_GREEN);
         lcd.SetTextColor(LCD_COLOR_WHITE);
-        lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"TOUCHSCREEN INIT OK", CENTER_MODE);
-    }
-
-    wait(1);
-    lcd.SetFont(&Font12);
-    lcd.SetBackColor(LCD_COLOR_BLUE);
-    lcd.SetTextColor(LCD_COLOR_WHITE);
-
-    while(1) {
-
-        ts.GetState(&TS_State);
-        if (TS_State.touchDetected) {
-            // Clear lines corresponding to old touches coordinates
-            if (TS_State.touchDetected < prev_nb_touches) {
-                for (idx = (TS_State.touchDetected + 1); idx <= 5; idx++) {
-                    lcd.ClearStringLine(idx);
-                }
+        lcd.DisplayStringAt(0,LINE(3), (uint8_t *)" C", LEFT_MODE);
+        
+        lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(0,68,9,58);
+        
+        lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(58,68,9,58);
+        
+        lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(116,68,9,58);
+        
+        lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(174,68,9,58);
+        
+        lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(232,68,9,58);
+        
+        lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(290,68,9,58);
+        
+        lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(348,68,9,58);
+        
+        
+        
+        
+        
+        lcd.SetTextColor(LCD_COLOR_RED);
+        lcd.FillRect(10,136,48,58);
+        
+        lcd.SetTextColor(LCD_COLOR_RED);
+        lcd.FillRect(68,136,48,58);
+        
+        lcd.SetTextColor(LCD_COLOR_RED);
+        lcd.FillRect(126,136,48,58);
+        
+        lcd.SetTextColor(LCD_COLOR_RED);
+        lcd.FillRect(184,136,48,58);
+        
+        lcd.SetTextColor(LCD_COLOR_RED);
+        lcd.FillRect(242,136,48,58);
+        
+        lcd.SetTextColor(LCD_COLOR_RED);
+        lcd.FillRect(300,136,48,58);
+        
+        lcd.SetTextColor(LCD_COLOR_RED);
+        lcd.FillRect(358,136,48,58);
+        
+        
+        lcd.SetBackColor(LCD_COLOR_RED);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(6), (uint8_t *)"                     vii", LEFT_MODE);
+        
+        
+        lcd.SetBackColor(LCD_COLOR_RED);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(6), (uint8_t *)"                  vi", LEFT_MODE);
+        
+        lcd.SetBackColor(LCD_COLOR_RED);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(6), (uint8_t *)"               V", LEFT_MODE);
+        
+        lcd.SetBackColor(LCD_COLOR_RED);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(6), (uint8_t *)"           IV", LEFT_MODE);
+        
+         lcd.SetBackColor(LCD_COLOR_RED);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(6), (uint8_t *)"       iii", LEFT_MODE);
+         
+         
+         lcd.SetBackColor(LCD_COLOR_RED);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(6), (uint8_t *)"    ii", LEFT_MODE);
+        
+        
+        lcd.SetBackColor(LCD_COLOR_RED);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(6), (uint8_t *)" I", LEFT_MODE);
+        
+        lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(0,136,9,58);
+        
+        lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(58,136,9,58);
+        
+        lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(116,136,9,58);
+        
+        lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(174,136,9,58);
+        
+        lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(232,136,9,58);
+        
+        lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(290,136,9,58);
+        
+        lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(348,136,9,58);
+        
+        
+        
+        
+        
+        
+        lcd.SetTextColor(LCD_COLOR_BROWN);
+        lcd.FillRect(20,204,48,58);
+        
+        lcd.SetTextColor(LCD_COLOR_BROWN);
+        lcd.FillRect(88,204,48,58);
+        
+        lcd.SetTextColor(LCD_COLOR_BROWN);
+        lcd.FillRect(156,204,48,58);
+        
+        lcd.SetTextColor(LCD_COLOR_BROWN);
+        lcd.FillRect(224,204,48,58);
+        
+        
+        
+       
+        
+       
+        lcd.SetBackColor(LCD_COLOR_BROWN);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(9), (uint8_t *)"              4", LEFT_MODE);
+        
+         lcd.SetBackColor(LCD_COLOR_BROWN);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(9), (uint8_t *)"          3", LEFT_MODE);
+         
+         
+         lcd.SetBackColor(LCD_COLOR_BROWN);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(9), (uint8_t *)"      2", LEFT_MODE);
+        
+        
+        lcd.SetBackColor(LCD_COLOR_BROWN);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(9), (uint8_t *)"  1", LEFT_MODE);
+        
+        lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(0,204,19,58);
+        
+        lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(68,204,19,58);
+        
+        lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(136,204,19,58);
+        
+        lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(204,204,19,58);
+        
+        
+        lcd.SetBackColor(LCD_COLOR_BLUE);
+        lcd.SetTextColor(LCD_COLOR_MAGENTA);
+        lcd.DisplayStringAt(0,LINE(3), (uint8_t *)"KEY", RIGHT_MODE);
+        
+        
+        lcd.SetBackColor(LCD_COLOR_BLUE);
+        lcd.SetTextColor(LCD_COLOR_MAGENTA);
+        lcd.DisplayStringAt(0,LINE(7), (uint8_t *)"CHORD", RIGHT_MODE);
+        
+        lcd.SetBackColor(LCD_COLOR_BLUE);
+        lcd.SetTextColor(LCD_COLOR_MAGENTA);
+        lcd.DisplayStringAt(0,LINE(10), (uint8_t *)"PATTERN", RIGHT_MODE);
+        
+          while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+            if (TS_State.touchX[0] > 10 && TS_State.touchX[0]<58 &&  TS_State.touchY[0] > 68 && TS_State.touchY[0] < 126)
+                {
+                     while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                    if (TS_State.touchX[0] > 10 && TS_State.touchX[0]<58 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choc1[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choc12[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choc13[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choc14[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    }
+                    }
+                    }
+                    }
+                    
+                    
+                    
+                  
+                    
+                    else if (TS_State.touchX[0] > 68 && TS_State.touchX[0]<116 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choc2[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choc22[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choc23[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choc24[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    else if (TS_State.touchX[0] > 126 && TS_State.touchX[0]<174 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choc3[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choc32[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choc33[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choc34[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    }
+                    
+                    else if (TS_State.touchX[0] > 184 && TS_State.touchX[0]<232 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choc4[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choc42[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choc43[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choc44[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    else if (TS_State.touchX[0] > 242 && TS_State.touchX[0]<290 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choc5[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choc52[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choc53[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choc54[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    else if (TS_State.touchX[0] > 300 && TS_State.touchX[0]<348 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choc6[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choc62[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choc63[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choc64[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    else if (TS_State.touchX[0] > 358 && TS_State.touchX[0]<406 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choc7[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choc72[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choc73[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choc74[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    }
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    if (TS_State.touchX[0] > 68 && TS_State.touchX[0]<116 &&  TS_State.touchY[0] > 68 && TS_State.touchY[0] < 126)
+                {
+                    
+                    while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                    if (TS_State.touchX[0] > 10 && TS_State.touchX[0]<58 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chod1[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chod12[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chod13[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chod14[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    }
+                    }
+                    }
+                    }
+                    
+                    
+                    
+                  
+                    
+                    else if (TS_State.touchX[0] > 68 && TS_State.touchX[0]<116 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chod2[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chod22[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chod23[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chod24[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    else if (TS_State.touchX[0] > 126 && TS_State.touchX[0]<174 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chod3[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chod32[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chod33[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chod34[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    }
+                    
+                    else if (TS_State.touchX[0] > 184 && TS_State.touchX[0]<232 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chod4[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chod42[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chod43[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chod44[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    else if (TS_State.touchX[0] > 242 && TS_State.touchX[0]<290 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chod5[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chod52[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chod53[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chod54[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    else if (TS_State.touchX[0] > 300 && TS_State.touchX[0]<348 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chod6[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chod62[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chod63[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chod64[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    else if (TS_State.touchX[0] > 358 && TS_State.touchX[0]<406 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chod7[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chod72[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chod73[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chod74[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    }
+                    }
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    if (TS_State.touchX[0] > 126 && TS_State.touchX[0]<174 &&  TS_State.touchY[0] > 68 && TS_State.touchY[0] < 126)
+                {
+                    
+                    while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                    if (TS_State.touchX[0] > 10 && TS_State.touchX[0]<58 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choe1[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choe12[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choe13[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choe14[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    }
+                    }
+                    }
+                    }
+                    
+                    
+                    
+                  
+                    
+                    else if (TS_State.touchX[0] > 68 && TS_State.touchX[0]<116 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choe2[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choe22[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choe23[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choe24[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    if (TS_State.touchX[0] > 126 && TS_State.touchX[0]<174 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choe3[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choe32[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choe33[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choe34[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    }
+                    
+                    else if (TS_State.touchX[0] > 184 && TS_State.touchX[0]<232 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choe4[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choe42[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choe43[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choe44[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    else if (TS_State.touchX[0] > 242 && TS_State.touchX[0]<290 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choe5[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choe52[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choe53[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choe54[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    else if (TS_State.touchX[0] > 300 && TS_State.touchX[0]<348 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choe6[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choe62[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choe63[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choe64[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    else if (TS_State.touchX[0] > 358 && TS_State.touchX[0]<406 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choe7[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choe72[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choe73[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choe74[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    }
+                    }
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    if (TS_State.touchX[0] > 184 && TS_State.touchX[0]<232 &&  TS_State.touchY[0] > 68 && TS_State.touchY[0] < 126)
+                {
+                    while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                    if (TS_State.touchX[0] > 10 && TS_State.touchX[0]<58 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chof1[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chof12[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chof13[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chof14[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    }
+                    }
+                    }
+                    }
+                    
+                    
+                    
+                  
+                    
+                    else if (TS_State.touchX[0] > 68 && TS_State.touchX[0]<116 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chof2[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chof22[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chof23[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chof24[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    if (TS_State.touchX[0] > 126 && TS_State.touchX[0]<174 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chof3[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chof32[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chof33[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chof34[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    }
+                    
+                    else if (TS_State.touchX[0] > 184 && TS_State.touchX[0]<232 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chof4[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chof42[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chof43[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chof44[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    else if (TS_State.touchX[0] > 242 && TS_State.touchX[0]<290 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chof5[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chof52[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chof53[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chof54[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    else if (TS_State.touchX[0] > 300 && TS_State.touchX[0]<348 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chof6[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chof62[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chof63[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chof64[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    else if (TS_State.touchX[0] > 358 && TS_State.touchX[0]<406 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chof7[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chof72[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chof73[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chof74[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    }
+                    }
+                    }
+                    }
+                    
+                    
+                      
+                    
+                    
+                    
+                    
+                    
+                    if (TS_State.touchX[0] > 242 && TS_State.touchX[0]<290 &&  TS_State.touchY[0] > 68 && TS_State.touchY[0] < 126)
+                {
+                    while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                    if (TS_State.touchX[0] > 10 && TS_State.touchX[0]<58 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chog1[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chog12[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chog13[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chog14[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    }
+                    }
+                    }
+                    }
+                    
+                    
+                    
+                  
+                    
+                    else if (TS_State.touchX[0] > 68 && TS_State.touchX[0]<116 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chog2[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chog22[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chog23[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chog24[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    if (TS_State.touchX[0] > 126 && TS_State.touchX[0]<174 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chog3[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chog32[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chog33[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chog34[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    }
+                    
+                    else if (TS_State.touchX[0] > 184 && TS_State.touchX[0]<232 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chog4[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chog42[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chog43[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chog44[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    else if (TS_State.touchX[0] > 242 && TS_State.touchX[0]<290 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chog5[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chog52[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chog53[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chog54[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    else if (TS_State.touchX[0] > 300 && TS_State.touchX[0]<348 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chog6[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chog62[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chog63[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chog64[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    else if (TS_State.touchX[0] > 358 && TS_State.touchX[0]<406 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chog7[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chog72[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chog73[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chog74[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    }
+                    }
+                    }
+                    }
+                    
+                    
+                    
+                    
+                      
+                    
+                    
+                    
+                    if (TS_State.touchX[0] > 300 && TS_State.touchX[0]<348 &&  TS_State.touchY[0] > 68 && TS_State.touchY[0] < 126)
+                {
+                    while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                    if (TS_State.touchX[0] > 10 && TS_State.touchX[0]<58 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choa1[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choa12[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choa13[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choa14[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    }
+                    }
+                    }
+                    }
+                    
+                    
+                    
+                  
+                    
+                    else if (TS_State.touchX[0] > 68 && TS_State.touchX[0]<116 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choa2[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choa22[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choa23[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choa24[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    if (TS_State.touchX[0] > 126 && TS_State.touchX[0]<174 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choa3[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choa32[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choa33[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choa34[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    }
+                    
+                    else if (TS_State.touchX[0] > 184 && TS_State.touchX[0]<232 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choa4[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choa42[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choa43[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choa44[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    else if (TS_State.touchX[0] > 242 && TS_State.touchX[0]<290 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choa5[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choa52[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choa53[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choa54[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    else if (TS_State.touchX[0] > 300 && TS_State.touchX[0]<348 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choa6[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choa62[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choa63[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choa64[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    else if (TS_State.touchX[0] > 358 && TS_State.touchX[0]<406 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choa7[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(choa72[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choa73[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(choa74[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    }
+                    }
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    if (TS_State.touchX[0] > 358 && TS_State.touchX[0]<406 &&  TS_State.touchY[0] > 68 && TS_State.touchY[0] < 126)
+                {
+                    while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                    if (TS_State.touchX[0] > 10 && TS_State.touchX[0]<58 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chob1[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chob12[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chob13[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chob14[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    }
+                    }
+                    }
+                    }
+                    
+                    
+                    
+                  
+                    
+                    else if (TS_State.touchX[0] > 68 && TS_State.touchX[0]<116 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chob2[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chob22[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chob23[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chob24[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    if (TS_State.touchX[0] > 126 && TS_State.touchX[0]<174 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chob3[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chob32[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chob33[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chob34[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    }
+                    
+                    else if (TS_State.touchX[0] > 184 && TS_State.touchX[0]<232 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chob4[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chob42[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chob43[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chob44[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    else if (TS_State.touchX[0] > 242 && TS_State.touchX[0]<290 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chob5[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chob52[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chob53[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chob54[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    else if (TS_State.touchX[0] > 300 && TS_State.touchX[0]<348 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chob6[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chob62[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chob63[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chob64[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    
+                    
+                    
+                    }
+                    }
+                    
+                    
+                    
+                    
+                    
+                    
+                    
+                    else if (TS_State.touchX[0] > 358 && TS_State.touchX[0]<406 &&  TS_State.touchY[0] > 136 && TS_State.touchY[0] < 194)
+                {
+                       while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+                      if (TS_State.touchX[0] > 20 && TS_State.touchX[0]<68 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chob7[i]));
+                               buzzer=0.5;
+                               wait(0.4*(beat1[i]));
+                               }
+                           }
+                    }
+                    
+                    else if (TS_State.touchX[0] > 88 && TS_State.touchX[0]<136 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=3; i++)
+                           {
+                               buzzer.period(1/(chob72[i]));
+                               buzzer=0.5;
+                               wait(0.4*beat1[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 156 && TS_State.touchX[0]<204 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chob73[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                     else if (TS_State.touchX[0] > 224 && TS_State.touchX[0]<272 &&  TS_State.touchY[0] > 204 && TS_State.touchY[0] < 262)
+                {
+                       while(1)
+                       {
+                           for (int i=0; i<=5; i++)
+                           {
+                               buzzer.period(1/(chob74[i]));
+                               buzzer=0.5;
+                               wait(0.2*beat2[i]);
+                               }
+                           }
+                    }
+                    
+                    
+                    }
+                    }
+                    }
+                    }
+                    }
+                    }
+                    }
+                    
+                    
+        
+        
+        
+       
+        if (TS_State.touchX[0] > 330 && TS_State.touchX[0]<480 &&  TS_State.touchY[0] > 90 && TS_State.touchY[0] < 180)
+       {
+        lcd.Clear(LCD_COLOR_BLUE);
+        lcd.SetBackColor(LCD_COLOR_BLUE);
+        
+        lcd.SetBackColor(LCD_COLOR_BLUE);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(1), (uint8_t *)"WCT", CENTER_MODE);
+        
+       
+       
+        lcd.SetTextColor(LCD_COLOR_GREEN);
+        lcd.FillRect(50,50,150,90);
+        
+       lcd.SetBackColor(LCD_COLOR_GREEN);
+        lcd.SetTextColor(LCD_COLOR_BROWN);
+        lcd.DisplayStringAt(0,LINE(4), (uint8_t *)"   TidTalok", LEFT_MODE);
+        
+        lcd.SetTextColor(LCD_COLOR_GREEN);
+        lcd.FillRect(250,50,200,90);
+        
+       lcd.SetBackColor(LCD_COLOR_GREEN);
+        lcd.SetTextColor(LCD_COLOR_BROWN);
+        lcd.DisplayStringAt(0,LINE(4), (uint8_t *)"RIGHT HERE   ", RIGHT_MODE);
+        
+         lcd.SetTextColor(LCD_COLOR_GREEN);
+        lcd.FillRect(50,150,149,90);
+        
+       lcd.SetBackColor(LCD_COLOR_GREEN);
+        lcd.SetTextColor(LCD_COLOR_BROWN);
+        lcd.DisplayStringAt(0,LINE(8), (uint8_t *)"    TaRaRat", LEFT_MODE);
+        
+         lcd.SetTextColor(LCD_COLOR_GREEN);
+        lcd.FillRect(250,150,200,90);
+        
+       lcd.SetBackColor(LCD_COLOR_GREEN);
+        lcd.SetTextColor(LCD_COLOR_BROWN);
+        lcd.DisplayStringAt(0,LINE(8), (uint8_t *)"KISSTHERAIN  ", RIGHT_MODE);
+        
+         lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(0,50,50,90);
+        
+         lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(0,150,50,90);
+        
+        
+         lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(450,50,30,90);
+        
+         lcd.SetTextColor(LCD_COLOR_BLUE);
+        lcd.FillRect(450,150,30,90);
+        
+         while(1)
+        {
+            ts.GetState(&TS_State);
+        if ((TS_State.touchDetected))
+        {
+            if (TS_State.touchX[0] > 50 && TS_State.touchX[0]<200 &&  TS_State.touchY[0] > 50 && TS_State.touchY[0] <140)
+                {
+                   while(1)
+                       {
+                           for (int i=0; i<=59; i++)
+                           {
+                               buzzer.period(1/(tid[i]));
+                               buzzer=0.5;
+                               wait(0.4*(btid[i]));
+                               }
+                           }
+                    } 
+                    
+            if (TS_State.touchX[0] > 250 && TS_State.touchX[0] < 450 &&  TS_State.touchY[0] > 50 && TS_State.touchY[0] < 140)
+                {
+                    while(1)
+                       {
+                           for (int i=0; i<=27; i++)
+                           {
+                               buzzer.period(1/(rig[i]));
+                               buzzer=0.5;
+                               wait(0.4*(brig[i]));
+                               }
+                           }
+                    } 
+             if (TS_State.touchX[0] > 50 && TS_State.touchX[0] < 200 &&  TS_State.touchY[0] > 150 && TS_State.touchY[0] < 240)
+                {
+                    while(1)
+                       {
+                           for (int i=0; i<=44; i++)
+                           {
+                               buzzer.period(1/(tar[i]));
+                               buzzer=0.5;
+                               wait(0.8*(btar[i]));
+                               }
+                           }
+                    }  
+              if (TS_State.touchX[0] > 250 && TS_State.touchX[0] < 450 &&  TS_State.touchY[0] > 150 && TS_State.touchY[0] < 240)
+                {
+                    while(1)
+                       {
+                           for (int i=0; i<=42; i++)
+                           {
+                               buzzer.period(1/(kis[i]));
+                               buzzer=0.5;
+                               wait(0.4*(bkis[i]));
+                               }
+                           }
+                    }                                    
+            
             }
-            prev_nb_touches = TS_State.touchDetected;
-
-            cleared = 0;
-
-            sprintf((char*)text, "Touches: %d", TS_State.touchDetected);
-            lcd.DisplayStringAt(0, LINE(0), (uint8_t *)&text, LEFT_MODE);
-
-            for (idx = 0; idx < TS_State.touchDetected; idx++) {
-                x = TS_State.touchX[idx];
-                y = TS_State.touchY[idx];
-                sprintf((char*)text, "Touch %d: x=%d y=%d    ", idx+1, x, y);
-                lcd.DisplayStringAt(0, LINE(idx+1), (uint8_t *)&text, LEFT_MODE);
+            }
             }
-
-            lcd.DrawPixel(TS_State.touchX[0], TS_State.touchY[0], LCD_COLOR_ORANGE);
-        } else {
-            if (!cleared) {
-                lcd.Clear(LCD_COLOR_BLUE);
-                sprintf((char*)text, "Touches: 0");
-                lcd.DisplayStringAt(0, LINE(0), (uint8_t *)&text, LEFT_MODE);
-                cleared = 1;
-            }
+            
+            
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        
+        }
+        }
         }
-    }
-}
+        
+        void buttonPressed_ISR()
+    {
+        lcd.Clear(LCD_COLOR_BLUE);
+        lcd.SetBackColor(LCD_COLOR_BLUE);
+        
+        lcd.SetBackColor(LCD_COLOR_BLUE);
+        lcd.SetTextColor(LCD_COLOR_WHITE);
+        lcd.DisplayStringAt(0,LINE(1), (uint8_t *)"WCT", CENTER_MODE);
+        
+        lcd.SetBackColor(LCD_COLOR_BLUE);
+        lcd.SetTextColor(LCD_COLOR_RED);
+        lcd.DisplayStringAt(0,LINE(5), (uint8_t *)"THANK YOU", CENTER_MODE);
+        
+         
+        buzzer=0;
+        wait(60);
+        }