Странная команда

Тема в разделе "Arduino & Shields", создана пользователем Ariadna-on-Line, 24 ноя 2018.

  1. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Скачал скетч для 4-проводного тача.
    Код (C++):
    /*=================================
    This code demostrates 4-Wire Touch screen
    interfacing with Arduino

    blog.circuits4you.com
    www.circuits4you.com

    4- Wire Touchscreen Connections
    A0=====X+ ; A1=====X- ; A2=====Y+ ; A3=====Y-
    Следует резисторами 100ком притянуть линии А1, А3 на GND,  //прим. Ариадны
    чтобы избежать влияния утечек и емкостей                   //прим. Ариадны
    =================================*/

    //Define your Touch screen connections
    #define  X1  A0
    #define  X2  A1
    #define  Y1  A2
    #define  Y2  A3
    //Define your screen resolution as per your Touch screen (Max: 1024)
    #define Xresolution 320 //128
    #define Yresolution 240 //64

    void setup()
    {
       Serial.begin(9600);
    }

    void loop()
    {
      int X,Y; //Touch Coordinates are stored in X,Y variable
       pinMode(Y1,INPUT);
       pinMode(Y2,INPUT);
    //   digitalWrite(Y2,LOW);    // Закоментировал
       pinMode(X1,OUTPUT);
       digitalWrite(X1,HIGH);
       pinMode(X2,OUTPUT);
       digitalWrite(X2,LOW);
       X = (analogRead(Y1))/(1024/Xresolution); //Reads X axis touch position

       pinMode(X1,INPUT);
       pinMode(X2,INPUT);
    //   digitalWrite(X2,LOW);        //Закоментировал
       pinMode(Y1,OUTPUT);
       digitalWrite(Y1,HIGH);
       pinMode(Y2,OUTPUT);
       digitalWrite(Y2,LOW);
       Y = (analogRead(X1))/(1024/Yresolution); //Reads Y axis touch position

      //Display X and Y on Serial Monitor
       Serial.print("X = ");
       Serial.print(X);
       Serial.print(" Y = ");
       Serial.println(Y);
       delay(100);
    }
    Код в Протеусе не правильно работал. (Тач заменил схемой на потенциометрах и кнопке, тк модели не было). Заккоментировал (//) команды. И подвесил резисторы. Заработало (в Протеусе). Вопрос - Зачем такие команды ногам, которые в режиме входов ? Видимо работало без резисторов ?! В чем тонкость ? Или это из серии псевдокода ?
     
    Последнее редактирование: 24 ноя 2018
  2. В режиме входа это включает и выключает встроенный подтягивающий резистор.
     
  3. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Ага. Щас попробую. Спс.
    Не знаю как будет в реале - но Протеус этот момент отрабатывает неправильно. То есть встроенных резюков не подключается.
     

    Вложения:

    • тач.PNG
      тач.PNG
      Размер файла:
      16,9 КБ
      Просмотров:
      200
    Последнее редактирование: 24 ноя 2018