Ардуино и тачскрин

проекты на основе Arduino/CraftDuino

Ардуино и тачскрин

Сообщение halfpipe » 29 ноя 2015, 15:08

Добрый день. В наличии имеется емкостной тачскрин Hannstouch AH-OA1S V1.0 E241232.
Изображение
В нем используется микросхема:
TX64A1
Q4P921.1
1202
К сожалению мне не удалось найти даташит на данную микросхему, поэтому надо выяснить протокол обмена данными. Для этого тачскрин подключен к Ардуино Нано v3.0. На плате тачскрина выведено в шлейф 6 сигналов: gnd, vcc, int, rst, ck, dat, scl и sda тоже имеются на плате, но их нету в шлейфе. Установлено, что тачскрин работает по интерфейсу PS/2. В этой статье http://robocraft.ru/blog/arduino/101.html есть скетч:
Код: Выделить всё
/*
 * скетч для работы с ps/2-мышкой
 */

#include <ps2.h>

/*
 * к Pin 5 -  подключена линия Data, а к pin 6 – линия Clock
 */
PS2 mouse(6, 5);

/*
 * Инициализация работы с мышкой.
 * Посылается команда Сброса (Reset it)
 * затем мышка переводится режим remote mode
 * так, что мы получаем от неё данные по запросу
 */
void mouse_init()
{
  mouse.write(0xff);  // reset
  mouse.read();  // ack byte
  mouse.read();  // blank */
  mouse.read();  // blank */
  mouse.write(0xf0);  // remote mode
  mouse.read();  // ack
  delayMicroseconds(100);
}

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

/*
 * считываем данные с мышки и выводим в COM-порт
 */
void loop()
{
  char mstat;
  char mx;
  char my;

  /* запрашиваем данные от мышки */
  mouse.write(0xeb);  // команда на чтение данных
  mouse.read();      //  игнорируем ack
  mstat = mouse.read();
  mx = mouse.read();
  my = mouse.read();

  /* выводим данные в COM-порт*/
  Serial.print(mstat, BIN);
  Serial.print("\tX=");
  Serial.print(mx, DEC);
  Serial.print("\tY=");
  Serial.print(my, DEC);
  Serial.println();
//  delay(20); 
}

Я скомпилировал и загрузил его в Ардуино. Когда двигаю пальцем, в экране монитор COM порта 3 нету данных. Заметил в скетче не прописан pinout сигнала int. Выход со шлейфа тачскрина подключал к Ардуино, так:
GND - GND
VCC - 3V3 (3,3В)
INT - D3
RST - RST
CK - D5
DAT - D6
По спецификации PS\2 на VCC для мышки надо подавать 5В, а если сгорит тачскрин? Как прописать сигнал int в скетче?
Задача получить данные standart 2d mode format, но для тачскрина.
halfpipe
 
Сообщения: 2
Зарегистрирован: 29 ноя 2015, 14:50
programming: Basic

Re: Ардуино и тачскрин

Сообщение Zoltberg » 03 дек 2015, 14:07

Тач от чего ? Откуда предположение что PS/2?
Я, конечно не сильно специалист но про PS/2 внутри девайсов слышу в первый раз.
А вот наименование сигналов гораздо больше напоминает I2C (с прерыванием по готовности.)
Такие вещи обычно питаются от 3.3В (и требуют таких же уровней сигналов) так что чтоб не спалить нужна диуина полностью работающая на 3.3 (т.е. контроллер запитан от 3.3V)
Если уже тыкали обычную (с лог уровнями на 5V) вполне возможно что уже труп.
сон разума рождает чудовищ
Аватара пользователя
Zoltberg
Администратор
 
Сообщения: 290
Зарегистрирован: 05 май 2011, 20:36
Откуда: Калининград

Re: Ардуино и тачскрин

Сообщение halfpipe » 08 дек 2015, 20:56

Тач куплен на алиэкспресс, где он стоял не знаю. В наличии есть контроллер, который может управлять емкостным тачскрином с интерфейсом I2C, но чтобы он заработал нужен даташит микросхемы, которая стоит в тачскрине. Почему PS/2, потому что в шлейфе нету сигналов SDA и SCL, но есть CK и DAT. Я тыкал как раз с уровнем 3,3В, так что вряд ли тачскрин труп.
halfpipe
 
Сообщения: 2
Зарегистрирован: 29 ноя 2015, 14:50
programming: Basic


Вернуться в Проекты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

© 2009-2017 |  О проекте  |  Политика Конфиденциальности  |