многостраничное меню на touch screen

Agk77
Offline
Зарегистрирован: 14.03.2015

Доброго времени суток!

Кто может помогите со скетчем многостраничного меню для дисплеев с touch screen.

Набрасал свое меню, но не работает как надо.


#include <UTFT.h>
#include <UTouch.h>
UTFT    myGLCD(ILI9327,38,39,40,41);
UTouch  myTouch( 6, 5, 4, 3, 2);
extern uint8_t BigFont[];
extern uint8_t SmallFont[];
int x, y;  
byte menuID; 

void clearScreen(){ 
            myGLCD.setColor(0, 0, 0);          
            myGLCD.fillRect(0, 12, 399, 239);
            myGLCD.setColor(0, 0, 0);
    }

void dispScreen0(){      
  myGLCD.setFont(BigFont);   
// кнопка GRUPA 1
  myGLCD.setColor(58, 95, 205);           
  myGLCD.fillRoundRect(10, 35, 195, 70);  
  myGLCD.setColor(255, 255, 255);         
  myGLCD.setBackColor(58, 95, 205);       
  myGLCD.print("GRUPA 1", 52, 45);      
// кнопка GRUPA 2
  myGLCD.setColor(240, 0, 108);           
  myGLCD.fillRoundRect(10, 80, 195, 115); 
  myGLCD.setColor(255, 255, 255);         
  myGLCD.setBackColor(240, 0, 108);       
  myGLCD.print("GRUPA 2", 52, 90);        
// кнопка GRUPA 3
  myGLCD.setColor(90, 200, 0);             
  myGLCD.fillRoundRect(10, 125, 195, 160); 
  myGLCD.setColor(255, 255, 255);         
  myGLCD.setBackColor(90, 200, 0);        
  myGLCD.print("GRUPA 3", 52, 135);       
// кнопка GRUPA 4
  myGLCD.setColor(0, 0, 255);             
  myGLCD.fillRoundRect(10, 170, 195, 205); 
  myGLCD.setColor(255, 255, 255);          
  myGLCD.setBackColor(0, 0, 255);         
  myGLCD.print("GRUPA 4", 52, 180);     
// кнопка TIMER
  myGLCD.setColor(48, 89, 255);            
  myGLCD.fillRoundRect(205, 35, 390, 70);  
  myGLCD.setColor(255, 255, 255);         
  myGLCD.setBackColor(48, 89, 255);      
  myGLCD.print("TIMER", 230, 45);         
// кнопка XXXXXXXXXX
  myGLCD.setColor(248, 0, 37);            
  myGLCD.fillRoundRect(205, 80, 390, 115); 
  myGLCD.setColor(255, 255, 255);         
  myGLCD.setBackColor(248, 0, 37);         
  myGLCD.print("XXXXX", 230, 90);        
// кнопка XXXXXXXXX
  myGLCD.setColor(0, 224, 11);              
  myGLCD.fillRoundRect(205, 125, 390, 160); 
  myGLCD.setColor(255, 255, 255);        
  myGLCD.setBackColor(0, 224, 11);        
  myGLCD.print("XXXXX", 230, 135);         
// кнопка XXXXXXX
  myGLCD.setColor(0, 0, 255);              
  myGLCD.fillRoundRect(205, 170, 390, 205); 
  myGLCD.setColor(255, 255, 255);           
  myGLCD.setBackColor(0, 0, 255);       
  myGLCD.print("XXXXX", 230, 180);          
  delay(100);
 
  myGLCD.setColor(255, 255, 255);           
  myGLCD.drawRoundRect(10, 35, 195, 70);
  myGLCD.drawRoundRect(12, 37, 193, 68);
  myGLCD.drawRoundRect(10, 80, 195, 115);
  myGLCD.drawRoundRect(12, 82, 193, 113);
  myGLCD.drawRoundRect(10, 125, 195, 160);
  myGLCD.drawRoundRect(12, 127, 193, 158);
  myGLCD.drawRoundRect(10, 170, 195, 205);
  myGLCD.drawRoundRect(12, 172, 193, 203);
  myGLCD.drawRoundRect(205, 35, 390, 70);
  myGLCD.drawRoundRect(207, 37, 388, 68);
  myGLCD.drawRoundRect(205, 80, 390, 115);
  myGLCD.drawRoundRect(207, 82, 388, 113);
  myGLCD.drawRoundRect(205, 125, 390, 160);
  myGLCD.drawRoundRect(207, 127, 388, 158);
  myGLCD.drawRoundRect(205, 170, 390, 205);
  myGLCD.drawRoundRect(207, 172, 388, 203);
}

void dispScreen1(){     
       clearScreen();
       myGLCD.setColor(0, 0, 255);             
       myGLCD.fillRoundRect(15, 37, 65, 60);    
       myGLCD.fillRoundRect(79, 37, 129, 60);   
       myGLCD.fillRoundRect(143, 37, 193, 60);  
       myGLCD.fillRoundRect(207, 37, 257, 60);  
       myGLCD.fillRoundRect(271, 37, 321, 60);  
       myGLCD.fillRoundRect(335, 37, 385, 60);  

       myGLCD.setColor(255, 255, 255);
       myGLCD.drawRoundRect(15, 37, 65, 60);    
       myGLCD.drawRoundRect(79, 37, 129, 60);   
       myGLCD.drawRoundRect(143, 37, 193, 60);   
       myGLCD.drawRoundRect(207, 37, 257, 60);   
       myGLCD.drawRoundRect(271, 37, 321, 60);  
       myGLCD.drawRoundRect(335, 37, 385, 60);  

// кнопки ON
       myGLCD.setColor(70, 200, 0);            
       myGLCD.fillRoundRect(15, 66, 65, 94);     
       myGLCD.fillRoundRect(79, 66, 129, 94);    
       myGLCD.fillRoundRect(143, 66, 193, 94);  
       myGLCD.fillRoundRect(207, 66, 257, 94);  
       myGLCD.fillRoundRect(271, 66, 321, 94);  
       myGLCD.fillRoundRect(335, 66, 385, 94);  

       myGLCD.setColor(255, 255, 255);         
       myGLCD.drawRoundRect(15, 66, 65, 94);   
       myGLCD.drawRoundRect(79, 66, 129, 94);  
       myGLCD.drawRoundRect(143, 66, 193, 94);   
       myGLCD.drawRoundRect(207, 66, 257, 94);  
       myGLCD.drawRoundRect(271, 66, 321, 94);  
       myGLCD.drawRoundRect(335, 66, 385, 94);  

// размер рамки времени on
       myGLCD.setColor(255, 255, 255);          
       myGLCD.drawRoundRect(15, 96, 65, 128);    
       myGLCD.drawRoundRect(79, 96, 129, 128);   
       myGLCD.drawRoundRect(143, 96, 193, 128);   
       myGLCD.drawRoundRect(207, 96, 257, 128);  
       myGLCD.drawRoundRect(271, 96, 321, 128);   
       myGLCD.drawRoundRect(335, 96, 385, 128);   

// кнопки OFF
       myGLCD.setColor(255, 255, 255);             
    // myGLCD.setBackColor(255, 0, 0);             
       myGLCD.drawRoundRect(15, 137, 65, 165);     
       myGLCD.drawRoundRect(79, 137, 129, 165);    
       myGLCD.drawRoundRect(143, 137, 193, 165); 
       myGLCD.drawRoundRect(207, 137, 257, 165);   
       myGLCD.drawRoundRect(271, 137, 321, 165);  
       myGLCD.drawRoundRect(335, 137, 385, 165);  

       myGLCD.setColor(255, 0, 0);
       myGLCD.fillRoundRect(15, 138, 65, 164);      
       myGLCD.fillRoundRect(79, 138, 129, 164);   
       myGLCD.fillRoundRect(143, 138, 193, 164);   
       myGLCD.fillRoundRect(207, 138, 257, 164);  
       myGLCD.fillRoundRect(271, 138, 321, 164);  
       myGLCD.fillRoundRect(335, 138, 385, 164);   

       myGLCD.setColor(255, 255, 255);            
       myGLCD.drawRoundRect(15, 167, 65, 199);     
       myGLCD.drawRoundRect(79, 167, 129, 199);  
       myGLCD.drawRoundRect(143, 167, 193, 199);   
       myGLCD.drawRoundRect(207, 167, 257, 199);  
       myGLCD.drawRoundRect(271, 167, 321, 199);   
       myGLCD.drawRoundRect(335, 167, 385, 199);   

// рамка вокруг кнопки таймера
       myGLCD.setColor(130, 130, 130);             
       myGLCD.drawRoundRect(15, 35, 65, 201);      
       myGLCD.drawRoundRect(79, 35, 129, 201);    
       myGLCD.drawRoundRect(143, 35, 193, 201);  
       myGLCD.drawRoundRect(207, 35, 257, 201);  
       myGLCD.drawRoundRect(271, 35, 321, 201);   
       myGLCD.drawRoundRect(335, 35, 385, 201);   


      myGLCD.setColor(255, 255, 255); 
  //  myGLCD.setFont(BigFont);
      myGLCD.setFont(SmallFont);     
      myGLCD.setColor(255, 255, 255); 
      myGLCD.setBackColor(0, 0, 255); 
      myGLCD.print("Tim.1",20,45);
      myGLCD.print("Tim.2",84,45);
      myGLCD.print("Tim.3",148,45);
      myGLCD.print("Tim.4",212,45);
      myGLCD.print("Tim.5",276,45);
      myGLCD.print("Tim.6",340,45);
        myGLCD.setFont(BigFont);    
        myGLCD.setBackColor(70, 200, 0); 
      myGLCD.print("ON",22,73);
      myGLCD.print("ON",86,73);
      myGLCD.print("ON",150,73);
      myGLCD.print("ON",214,73);
      myGLCD.print("ON",278,73);
      myGLCD.print("ON",342,73);

        myGLCD.setBackColor(255, 0, 0);
      myGLCD.print("OFF",17,143);
      myGLCD.print("OFF",81,143);
      myGLCD.print("OFF",145,143);
      myGLCD.print("OFF",209,143);
      myGLCD.print("OFF",273,143);
      myGLCD.print("OFF",337,143);
      }
      
      void dispScreen2(){     
       clearScreen();
       myGLCD.setColor(0, 0, 255);             
       myGLCD.fillRoundRect(15, 37, 65, 60);    
       myGLCD.fillRoundRect(79, 37, 129, 60);   
       myGLCD.fillRoundRect(143, 37, 193, 60);  
       myGLCD.fillRoundRect(207, 37, 257, 60);  
       myGLCD.fillRoundRect(271, 37, 321, 60);  
       myGLCD.fillRoundRect(335, 37, 385, 60);  

       myGLCD.setColor(255, 255, 255);
       myGLCD.drawRoundRect(15, 37, 65, 60);    
       myGLCD.drawRoundRect(79, 37, 129, 60);   
       myGLCD.drawRoundRect(143, 37, 193, 60);   
       myGLCD.drawRoundRect(207, 37, 257, 60);   
       myGLCD.drawRoundRect(271, 37, 321, 60);  
       myGLCD.drawRoundRect(335, 37, 385, 60);  
/*
// кнопки ON
       myGLCD.setColor(70, 200, 0);            
       myGLCD.fillRoundRect(15, 66, 65, 94);     
       myGLCD.fillRoundRect(79, 66, 129, 94);    
       myGLCD.fillRoundRect(143, 66, 193, 94);  
       myGLCD.fillRoundRect(207, 66, 257, 94);  
       myGLCD.fillRoundRect(271, 66, 321, 94);  
       myGLCD.fillRoundRect(335, 66, 385, 94);  

       myGLCD.setColor(255, 255, 255);         
       myGLCD.drawRoundRect(15, 66, 65, 94);   
       myGLCD.drawRoundRect(79, 66, 129, 94);  
       myGLCD.drawRoundRect(143, 66, 193, 94);   
       myGLCD.drawRoundRect(207, 66, 257, 94);  
       myGLCD.drawRoundRect(271, 66, 321, 94);  
       myGLCD.drawRoundRect(335, 66, 385, 94);  

// размер рамки времени on
       myGLCD.setColor(255, 255, 255);          
       myGLCD.drawRoundRect(15, 96, 65, 128);    
       myGLCD.drawRoundRect(79, 96, 129, 128);   
       myGLCD.drawRoundRect(143, 96, 193, 128);   
       myGLCD.drawRoundRect(207, 96, 257, 128);  
       myGLCD.drawRoundRect(271, 96, 321, 128);   
       myGLCD.drawRoundRect(335, 96, 385, 128);   

// кнопки OFF
       myGLCD.setColor(255, 255, 255);             
    // myGLCD.setBackColor(255, 0, 0);             
       myGLCD.drawRoundRect(15, 137, 65, 165);     
       myGLCD.drawRoundRect(79, 137, 129, 165);    
       myGLCD.drawRoundRect(143, 137, 193, 165); 
       myGLCD.drawRoundRect(207, 137, 257, 165);   
       myGLCD.drawRoundRect(271, 137, 321, 165);  
       myGLCD.drawRoundRect(335, 137, 385, 165);  

       myGLCD.setColor(255, 0, 0);
       myGLCD.fillRoundRect(15, 138, 65, 164);      
       myGLCD.fillRoundRect(79, 138, 129, 164);   
       myGLCD.fillRoundRect(143, 138, 193, 164);   
       myGLCD.fillRoundRect(207, 138, 257, 164);  
       myGLCD.fillRoundRect(271, 138, 321, 164);  
       myGLCD.fillRoundRect(335, 138, 385, 164);   

       myGLCD.setColor(255, 255, 255);            
       myGLCD.drawRoundRect(15, 167, 65, 199);     
       myGLCD.drawRoundRect(79, 167, 129, 199);  
       myGLCD.drawRoundRect(143, 167, 193, 199);   
       myGLCD.drawRoundRect(207, 167, 257, 199);  
       myGLCD.drawRoundRect(271, 167, 321, 199);   
       myGLCD.drawRoundRect(335, 167, 385, 199);   

// рамка вокруг кнопки таймера
       myGLCD.setColor(130, 130, 130);             
       myGLCD.drawRoundRect(15, 35, 65, 201);      
       myGLCD.drawRoundRect(79, 35, 129, 201);    
       myGLCD.drawRoundRect(143, 35, 193, 201);  
       myGLCD.drawRoundRect(207, 35, 257, 201);  
       myGLCD.drawRoundRect(271, 35, 321, 201);   
       myGLCD.drawRoundRect(335, 35, 385, 201);   


      myGLCD.setColor(255, 255, 255); 
  //  myGLCD.setFont(BigFont);
      myGLCD.setFont(SmallFont);     
      myGLCD.setColor(255, 255, 255); 
      myGLCD.setBackColor(0, 0, 255); 
      myGLCD.print("Tim.1",20,45);
      myGLCD.print("Tim.2",84,45);
      myGLCD.print("Tim.3",148,45);
      myGLCD.print("Tim.4",212,45);
      myGLCD.print("Tim.5",276,45);
      myGLCD.print("Tim.6",340,45);
        myGLCD.setFont(BigFont);    
        myGLCD.setBackColor(70, 200, 0); 
      myGLCD.print("ON",22,73);
      myGLCD.print("ON",86,73);
      myGLCD.print("ON",150,73);
      myGLCD.print("ON",214,73);
      myGLCD.print("ON",278,73);
      myGLCD.print("ON",342,73);

        myGLCD.setBackColor(255, 0, 0);
      myGLCD.print("OFF",17,143);
      myGLCD.print("OFF",81,143);
      myGLCD.print("OFF",145,143);
      myGLCD.print("OFF",209,143);
      myGLCD.print("OFF",273,143);
      myGLCD.print("OFF",337,143);*/
      }

void waitForIt(int x1, int y1, int x2, int y2){ 
       myGLCD.setColor(255, 0, 0);
       myGLCD.drawRoundRect (x1, y1, x2, y2);
       while (myTouch.dataAvailable())
       myTouch.read();
       myGLCD.setColor(255, 255, 255);
       myGLCD.drawRoundRect (x1, y1, x2, y2);
     }

void setup(){
  myGLCD.InitLCD();
  myGLCD.clrScr();
  myTouch.InitTouch();
  myTouch.setPrecision(PREC_MEDIUM);
  myGLCD.setFont(BigFont);
  myGLCD.setBackColor(0, 0, 255);
  dispScreen0();

}

void loop(){  

    while (true)
  {
    if (myTouch.dataAvailable()){myTouch.read();x=myTouch.getX();y=myTouch.getY();
     //======================================
      if ((y>=35) && (y<=70)) {
         if ((x>=10) && (x<=195)){waitForIt(10, 35, 195, 70);clearScreen();dispScreen1();} // переход 
         if ((x>205) && (x<=390)){waitForIt(205, 35, 390, 70);}
      }
     //======================================
      if ((y>=80) && (y<=115)){
         if ((x>=10) && (x<=195)){waitForIt(10, 80, 195, 115);clearScreen();dispScreen2();} // переход
         if ((x>205) && (x<=390)){waitForIt(205, 80, 390, 115);break;}
      }
     //======================================
      if ((y>=125) && (y<=160)){
         if ((x>=10) && (x<=195)){waitForIt(10, 125, 195, 160);break;}
         if ((x>205) && (x<=390)){waitForIt(205, 125, 390, 160);break;}
      }
     //======================================
       if ((y>=170) && (y<=205)){
         if ((x>=10) && (x<=195)){waitForIt(10, 170, 195, 205);break;}
         if ((x>205) && (x<=390)){waitForIt(205, 170, 390, 205);break;}
       }
     }
   }

   //========================================

}

 

После перехода в подменю, тойч считает что кнопки с главного меню на месте.

Стэн
Offline
Зарегистрирован: 21.05.2015

Еще актуально?

Если да - то введи метку активного в данный момент меню, и в зависимости от этой метки опрашивай нажатие соответсвующих областей

Sanya882
Offline
Зарегистрирован: 27.03.2016

Стэн, может объясните более подробно про метки. Куда вставлять? Я новичок. Или может кто нить скинет готовый скетч.

yul-i-an
yul-i-an аватар
Offline
Зарегистрирован: 10.12.2012

Внесите переменную, относительно каторой будет отображатся экрана (меню), и на основание этого значения опрашивайте нужную область.

допустим

screen==0 - отображаем основной экран и опрашиваем одну область тача

нажали переход в меню переменной screen присвоили значение 1

если screen==1 отображаем меню-1 и опрашиваем другую область

нажали переход в меню переменной screen присвоили значение 2

если screen==2 отображаем меню-2 и опрашиваем другую область

както так.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Agk77 пишет:

Доброго времени суток!

Кто может помогите со скетчем многостраничного меню для дисплеев с touch screen.

После перехода в подменю, тойч считает что кнопки с главного меню на месте.

Я щас сделаю вброс на вентилятор :) Что надо сделать:

1. Выдрать дисплей;

2. Положить его на полку;

3. Купить Nextion.

4. Забыть про проблемы с меню - у Nextion редактор интерфейса позволяет это делать оченно легко.

Это так - чисто чтобы пофиздеть :)

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

Есть готовый скетч под многоуровневое меню, но он, к сожалению, писан под другую графическую библиотеку. Поскольку у нас с Вами уровень программирования находится в состоянии "новичок",  то я даже не знаю стоит ли рассматривать этот вариант... У меня пока что ничего не получается.

Вот ссылка на тему с текстом : ссылка

Sanya882
Offline
Зарегистрирован: 27.03.2016

Впринцепе смысл понятен, но так как я новичок и пока не очень владею всеми командами, не могли бы вы показать пример на отрывке скетча. Желательно из представленного выше. Спасибо. 

MacSim
Offline
Зарегистрирован: 28.11.2012

начни с того что попроще, с начала диодом помигай, потом двумя....восьмью, а потом введи метку зажженного диода. (флаг создай)

Sanya882
Offline
Зарегистрирован: 27.03.2016

Мне просто надо срочно, и я хотел посмотреть реализацию на наглядном примере этого скетча

Sanya882
Offline
Зарегистрирован: 27.03.2016

Спасибо. Сделал переменные для каждого меню и все заработало. Щас ломаю голову как из выбранной кнопки меню перейти в непосредственно в программу. От каждой определенной кнопки должна запускаться маленькая программа и чтоб в ней крутился цикл и определялись состояние портов входа. Может подскажете?

yul-i-an
yul-i-an аватар
Offline
Зарегистрирован: 10.12.2012

Sanya882 пишет:

Спасибо. Сделал переменные для каждого меню и все заработало. Щас ломаю голову как из выбранной кнопки меню перейти в непосредственно в программу. От каждой определенной кнопки должна запускаться маленькая программа и чтоб в ней крутился цикл и определялись состояние портов входа. Может подскажете?

Я думаю что нужно завести переменную состояния. И если вы выбрали в своем меню допустим вторую программу, то в основном цикле после отрисовки экрана и опроса тача и т.п. проверять переменную выбранной подпрограммы и есл она == 2 то выполняем одно, если == 1 то другое.

Sanya882
Offline
Зарегистрирован: 27.03.2016

yul-i-an, подскажите на примере. я новичок. так сразу не могу сообразить. После нажатия определенной кнопки должен загораться прямоугольник с кругом внутри его. При появлении единицы на заданом пине должна загораться линия внутри круга, ну и соответственно при нуле на пине, гаснуть. Сейчас в скетче если будет загораться линия то только после нажатия на кнопку и гаснуть будет только после нажати на кнопку. Возможно ли сделать, чтоб поле нажатия нужной кнопки в меню программа уходила бы в маленькую подпрограмму и цикл бы крутился внутри этой подпрограммы? Входов будет много и линий будет тоже рисоваться много. И нужно чтоб загорались линии от появления 1 на определенном входе.

Sanya882
Offline
Зарегистрирован: 27.03.2016
#include <UTFT.h>

  #include <UTouch.h>

  UTFT    myGLCD(R61581,38,39,40,41);

  UTouch  myTouch( 6, 5, 4, 3, 2);

  extern uint8_t BigFont[];

  extern uint8_t SmallFont[];
  int ms = 0;
  int x, y; 

  int Pin1 = 8;
  byte menuID;
 
 void clearScreen(){

              myGLCD.setColor(0, 0, 0);         

              myGLCD.fillRect(0, 12, 399, 239);

              myGLCD.setColor(0, 0, 0);

      }
 void dispScreen0(){     
ms = 0;
    myGLCD.setFont(BigFont);  

  // кнопка РДМ22

    myGLCD.setColor(58, 95, 205);          

    myGLCD.fillRoundRect(10, 35, 195, 70); 

    myGLCD.setColor(255, 255, 255);        

    myGLCD.setBackColor(58, 95, 205);      

    myGLCD.print("MENU", 52, 45);     
    
    myGLCD.setColor(255, 255, 255);          

    myGLCD.drawRoundRect(10, 35, 195, 70);

 
 }
void dispScreen1(){ 
  ms = 1;   

 myGLCD.setFont(BigFont);  

  // кнопка РДМ22
    
    myGLCD.setColor(58, 95, 205);          

    myGLCD.fillRoundRect(10, 35, 195, 70); 

    myGLCD.setColor(255, 255, 255);        

    myGLCD.setBackColor(58, 95, 205);      

    myGLCD.print("QQQ", 52, 45);     
    
    myGLCD.setColor(255, 255, 255);          

    myGLCD.drawRoundRect(10, 35, 195, 70);



}







void waitForIt(int x1, int y1, int x2, int y2){

         myGLCD.setColor(255, 0, 0);

         myGLCD.drawRoundRect (x1, y1, x2, y2);

         while (myTouch.dataAvailable())

         myTouch.read();

         myGLCD.setColor(255, 255, 255);

         myGLCD.drawRoundRect (x1, y1, x2, y2);

       }



void setup(){
  
    pinMode(Pin1, INPUT);
    

    myGLCD.InitLCD();

    myGLCD.clrScr();

    myTouch.InitTouch(0);

    myTouch.setPrecision(PREC_MEDIUM);

    myGLCD.setFont(BigFont);

    myGLCD.setBackColor(0, 0, 255);

    dispScreen0();

   
  }

  void loop(){ 

   

    

    {

      if (myTouch.dataAvailable()){myTouch.read();x=myTouch.getX();y=myTouch.getY();

       //======================================

        if ((y>=35) && (y<=70) && ms == 0) {

           if ((x>=10) && (x<=195)){ ms = 1; 
           waitForIt(10, 35, 195, 70);clearScreen();dispScreen1();} // переход

           if ((x>205) && (x<=390)){waitForIt(205, 35, 390, 70);}
 
        }
           
    
           }
 
      
    
     if (myTouch.dataAvailable()){myTouch.read();x=myTouch.getX();y=myTouch.getY();
   
      if ((y>=35) && (y<=70) && ms == 1) {

           if ((x>=10) && (x<=195)){clearScreen();
  myGLCD.setColor(58, 95, 205);          
  myGLCD.fillRect(26, 44, 390, 133);myGLCD.setColor(255, 255, 255);myGLCD.setBackColor(0, 0, 0); myGLCD.drawCircle(110,90,32);
    if (digitalRead(Pin1) == HIGH) {рисуется в кругу линия);}
    else {digitalWrite(линия гаснет}}
    // переход

           if ((x>205) && (x<=390)){waitForIt(205, 35, 390, 70);}
      } 
      }
  }
 
  
  
  
  }