Подскажите пожалуйста - сенсорные кнопки на QT1011

Обсуждаем цифровые устройства...
frick
Родился
Сообщения: 16
Зарегистрирован: Вс мар 15, 2009 00:01:45

Подскажите пожалуйста - сенсорные кнопки на QT1011

Сообщение frick »

Задача такая: есть плата от USB клавиатуры, нужно сделать сенсорные кнопки реагирующие через стекло 3-5 мм. Т.е. при "нажатии" кнопки должно происходить замыкание контактов на плате-контроллере клавиатуры. Кнопки хотел сделать на QT102. Но никак не могу разобраться, помогите пожалуйста.
Какую схему подключения использовать? Какие выводы и как будут замыкаться? И может кто подскажет другое решение на QT сенсорах, на сайте atmel есть сенсоры поддерживающие 10 и более кнопок, как работать с ними?
Реклама
Аватара пользователя
Aladdin
Друг Кота
Сообщения: 3532
Зарегистрирован: Пн янв 26, 2009 00:10:51
Откуда: Москва

Re: Подскажите пожалуйста - сенсорные кнопки

Сообщение Aladdin »

По моему 3-5 мм очень много. Сенсор должен быть очень чувствительным, а значит он будет реагировать на всякие помехи… Возможны неконтролируемые срабатывания…
Да и сама клавиатура кажется не сенсорная… :)
Реклама
frick
Родился
Сообщения: 16
Зарегистрирован: Вс мар 15, 2009 00:01:45

Re: Подскажите пожалуйста - сенсорные кнопки

Сообщение frick »

Про эти датчики - QT101 - более новые версии - QT1010 и QT1011 именно для такого и рассчитаны, как написано на сайте изготовителя - реагируют через стекло 10мм, пластик - 6 мм, дерево и тд.
От клавиатуры остаётся только контроллер - посылающий сигналы компу какие кнопки были нажаты.
Фактически мне нужен совет и схема на QT1011, чтобы при прикосновении к контактной площадке (кнопке) замыкались контакты, которые будут идти на контроллер клавиатуры, который в свою очередь отправит сигнал компу что была нажата определённая клавиша. Вот как-то так)
P.S. Спецы подскажите, сенсорный ёмкостной экран, будет реагировать на палец через 3 мм стекло? Может у кого устройство есть с ёмкостным экраном, проверьте пожалуйста по возможности)
Аватара пользователя
kolya04
Родился
Сообщения: 17
Зарегистрирован: Пн окт 18, 2010 18:28:29
Откуда: Севастополь

Re: Подскажите пожалуйста - сенсорные кнопки на QT1011

Сообщение kolya04 »

да там все просто с этими датчиками, сам работал с QT101A,правда уже давненько,там все подключаешь по даташиту,расстояние срабоки и последующего восстановления зависит от емкости кондера,подбирается в зависимости от толщины,контактная площадка на которой собирается заряд не менее 5x8 мм,и главное чтобы не было посторонней утечки заряда с площадки.
Реклама
Эиком - электронные компоненты и радиодетали
frick
Родился
Сообщения: 16
Зарегистрирован: Вс мар 15, 2009 00:01:45

Re: Подскажите пожалуйста - сенсорные кнопки на QT1011

Сообщение frick »

А что насчёт Атмеловских датчиков которые для 10 и более кнопок?
ТАм данные по SPI идут, что сделать чтобы комп получал эти сигналы и воспринимал их как нажатия клавиш на клавиатуре?
Реклама
Аватара пользователя
radio-kot
Собутыльник Кота
Сообщения: 2584
Зарегистрирован: Вт сен 14, 2010 10:27:19

Re: Подскажите пожалуйста - сенсорные кнопки на QT1011

Сообщение radio-kot »

frick писал(а): на сайте atmel есть сенсоры поддерживающие 10 и более кнопок, как работать с ними?
Как в даташите и в апноутах написано.
Будете проходить мимо- проходите!
Реклама
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Подскажите пожалуйста - сенсорные кнопки на QT1011

Сообщение YS »

Т.е. при "нажатии" кнопки должно происходить замыкание контактов на плате-контроллере клавиатуры.


А отчего бы просто не реализовать USB HID клавиатуру? Это не так сложно, как кажется.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
frick
Родился
Сообщения: 16
Зарегистрирован: Вс мар 15, 2009 00:01:45

Re: Подскажите пожалуйста - сенсорные кнопки на QT1011

Сообщение frick »

YS писал(а):
А отчего бы просто не реализовать USB HID клавиатуру? Это не так сложно, как кажется.

Дело в том что мне нужны сенсорные емкостные кнопки, чтобы срабатывали через стекло. Задумка такая. Можно поподробней о USB HID клавиатуре?
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Подскажите пожалуйста - сенсорные кнопки на QT1011

Сообщение YS »

Можно поподробней о USB HID клавиатуре?


Посмотрите на примеры с V-USB, там есть HID.

А кнопки можно прикрутить какие угодно. Главное, ПК будет считать, что это клавиатура. :)
Разница между теорией и практикой на практике гораздо больше, чем в теории.
frick
Родился
Сообщения: 16
Зарегистрирован: Вс мар 15, 2009 00:01:45

Re: Подскажите пожалуйста - сенсорные кнопки на QT1011

Сообщение frick »

YS писал(а):
Посмотрите на примеры с V-USB, там есть HID.
А кнопки можно прикрутить какие угодно. Главное, ПК будет считать, что это клавиатура. :)

Спасибо) Как вариант подойдёт клавиатура на 17 клавиш, только пока не разобрался как контачить на компе это будет. И все ещё открыт вопрос с емкостными клавишами (через стекло 3-5 мм).
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Подскажите пожалуйста - сенсорные кнопки на QT1011

Сообщение YS »

И все ещё открыт вопрос с емкостными клавишами


Поглядите-ка на это.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
frick
Родился
Сообщения: 16
Зарегистрирован: Вс мар 15, 2009 00:01:45

Re: Подскажите пожалуйста - сенсорные кнопки на QT1011

Сообщение frick »

Это конечно круто, но к сожалению не то. Моих знаний не хватает пока для того, чтобы додумать как это подключить к компу, да так чтобы он распознавал сигналы правильно...
Аватара пользователя
coredumped
Опытный кот
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

Re: Подскажите пожалуйста - сенсорные кнопки на QT1011

Сообщение coredumped »

Я использую технологию QMatrix, а именно чипы AT42QT2160 http://www.atmel.com/dyn/products/produ ... ly_id=2028. У меня устойчиво работает через 4-мм оргстекло, больше не пробовал. Когда начинал эксперименты - первую партию плат выбросил в мусорное ведро. Проблема в том, что рядом с "кнопками" нельзя размещать полигоны земли. Короче с разводкой платы есть ньюансы. А так, работает очень хорошо - рекомендую :)
PS: На сайте написано, что эта микросхема - один слайдер, на самом деле это не так. Она поддерживает 16 сенсоров и ее можно сконфигурить как драйвер клавиатуры 16 кнопок, либо 8 кнопок и слайдер итд. Короче опыт есть, если заинтересовало - спрашивайте, поделюсь.
Все будет только лучше, в крайнем случае - хуже.
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Подскажите пожалуйста - сенсорные кнопки на QT1011

Сообщение Satyr »

frick писал(а):Какую схему подключения использовать? Какие выводы и как будут замыкаться? И может кто подскажет другое решение на QT сенсорах, на сайте atmel есть сенсоры поддерживающие 10 и более кнопок, как работать с ними?

Легко. и SPI опрос - ты туда запрос по таймеру, тебе отуда значение-маска по отдельным кнопкам.
а qt1101 просто имитируют обычную кнопку.

Пробовал и qt60168, и qt1101. Для клавиатуры к компьютеру не особо хорошо подходит.
Там расстояние до датчика, точность срабатывания и время срабатывания взаимосвязаны. Т.е. если жать через чтото толстое и более менее без ложных срабатываний, время реакции будет такое, что бегло набирать текст на ней не сможешь.
frick
Родился
Сообщения: 16
Зарегистрирован: Вс мар 15, 2009 00:01:45

Re: Подскажите пожалуйста - сенсорные кнопки на QT1011

Сообщение frick »

coredumped
Тема очень заинтересовала)
frick
Родился
Сообщения: 16
Зарегистрирован: Вс мар 15, 2009 00:01:45

Re: Подскажите пожалуйста - сенсорные кнопки на QT1011

Сообщение frick »

coredumped:
Можно ли сделать на этой микрухе такую схему - сенсорное кольцо (фактически слайдер по кругу), прокручивая по часовой стрелке увеличиваем громкость, против часовой - уменьшаем, одиночное касание по центру - play/pause, касания по бокам - следующий/предыдущий? Одной микрухи хватит?
И ещё можно ли прикошачить выключатель небольшой (кнопка микрик) - в качестве блокировки, для отключения этого сенсорного устройства? Хочу сделать мягкую подсветку на эти сенсорные области, и чтобы когда "блокируешь" их подсветка гасла...ну это уже детали) Главное разобраться с слайдером.
Аватара пользователя
coredumped
Опытный кот
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

Re: Подскажите пожалуйста - сенсорные кнопки на QT1011

Сообщение coredumped »

frick писал(а):coredumped:
Можно ли сделать на этой микрухе такую схему - сенсорное кольцо (фактически слайдер по кругу), прокручивая по часовой стрелке увеличиваем громкость, против часовой - уменьшаем, одиночное касание по центру - play/pause, касания по бокам - следующий/предыдущий? Одной микрухи хватит?
И ещё можно ли прикошачить выключатель небольшой (кнопка микрик) - в качестве блокировки, для отключения этого сенсорного устройства? Хочу сделать мягкую подсветку на эти сенсорные области, и чтобы когда "блокируешь" их подсветка гасла...ну это уже детали) Главное разобраться с слайдером.


Я с слайдерами не экспериментировал, но в доке упоминается подобное "колесико". Там есть возможность отслеживать как касания в определенной области, так и "скольжение" . Думаю все должно получиться. Помните только о принципах разводки платы - строго по даташиту, и возле сенсоров никакой земли и постороних цепей. Насчет софта - я поступил след. образом. У микросхемки есть выход "change" - его я завел на ногу апппаратного прерывания. Как только прерывание "сработало", проверяю состояние кнопок. Можно, конечно, организовать "поллинг" по таймеру, но прерывание, имхо, более эффективно.
Одна микруха в состоянии обслужить 16 сенсоров. Хватит или нет - решать Вам. Слайдер или колесо скушает определенное количество сенсоров (почитайте доку) можно отдать часть, можно все, те только слайдер. Посмотрите на ихний эвалюэйшн. Покупать его не стоит, а вот доку почитать стоит. По крайней мере, технология реально работает.
Все будет только лучше, в крайнем случае - хуже.
Аватара пользователя
coredumped
Опытный кот
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

Re: Подскажите пожалуйста - сенсорные кнопки на QT1011

Сообщение coredumped »

В личку меня просили пример кода для AVR под QTouch.
Вот, держите. Все это у меня работает на mega16.
Сперва вызываем kbd_init() - запихиваем нужные значения в регистры, настраиваем прерывание итд.
Чтоб не крутить в цикле опрос регистров, вывод CHANGE AT42QT2160 подан на вход INT0 mega16. При каждом изменении в состоянии кнопок вызывается обработчик прерывания, где собственно и делается обработка. Можете не делать прерываний, а в цикле опрашивать регистр статуса - это как удобней :)
Библиотечку I2C можете взять любую, хоть с использованием TWI, хоть "софтверную" - дело вкуса.

Код: Выделить всё

#include <ctype.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>

#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>

#include "i2c_io.h"

#define I2C_QT_ADDR    0x1A
#define I2C_WRITE            0
#define I2C_READ             1


uint8_t get_qt_reg(uint8_t reg_addr)
{
   uint8_t ret;

   _delay_ms(1);
   ret = i2c_start(I2C_QT_ADDR+I2C_WRITE);     // set device address and write mode
   if (ret)
   {
        /* failed to issue start condition, possibly no device found */
//      uart_puts("I2C Read error 1\n\r");
      i2c_stop();
      return 0;
   }
   else
   {
      i2c_write(reg_addr);                       // write address
       i2c_stop();
      _delay_ms(1);
      ret=i2c_start(I2C_QT_ADDR+I2C_READ);      // set device address and read mode
      if (ret)
      {
           /* failed to issue start condition, possibly no device found */
//         uart_puts("I2C Read error 2\n\r");
         i2c_stop();
         return 0;
      }
        ret = i2c_readNak();
      i2c_stop();
      return ret;
   }
}

void set_qt_reg(uint8_t reg_addr, uint8_t data)
{

   uint8_t ret;
   
   _delay_ms(1);
   ret = i2c_start(I2C_QT_ADDR+I2C_WRITE);    // set device address and write mode
    if ( ret )
   {
        /* failed to issue start condition, possibly no device found */
//      uart_puts("I2C Write error\n\r");
        i2c_stop();
      return;
    }
   else
   {
        /* issuing start condition ok, device accessible */
        i2c_write(reg_addr);               // write address // ret=0 -> Ok, ret=1 -> no ACK
      _delay_ms(1);
      i2c_write(data);            // write freq lo byte
        i2c_stop();                     // set stop conditon = release bus
   }   
}


ISR(INT0_vect)
{
   uint16_t key;
   uint8_t tmphead;
   
   cli();

   get_qt_reg(2); //clear main status
   key = get_qt_reg(3)<<8;
   key |= get_qt_reg(4);
   
   if(key) //key pressed
   {         
      //put code here

   }
   sei();
}

/******************************************************************/


void kbd_init()
{
   cli();
   i2c_init();

   // init QT chip
   set_qt_reg(12, 1);
   set_qt_reg(13, 1);
   set_qt_reg(15, 20);
   set_qt_reg(16, 5);
   set_qt_reg(17, 3);
   set_qt_reg(18, 255);
   set_qt_reg(19, 25);
   set_qt_reg(20, 0);
   set_qt_reg(73, 0x1c); // GPIO set as output

   set_qt_reg(10, 1); //send calidrate

   // clear status
   get_qt_reg(2);
   get_qt_reg(3);
   get_qt_reg(4);
   get_qt_reg(5);
   get_qt_reg(6);

   MCUCR = _BV(ISC01); //Enable INT0 on falling edge
   GICR  = _BV(INT0);  //Enable external interrupt INT0
   sei();
}
Все будет только лучше, в крайнем случае - хуже.
Klim_1
Родился
Сообщения: 7
Зарегистрирован: Пт май 07, 2010 15:40:11

Re: Подскажите пожалуйста - сенсорные кнопки на QT1011

Сообщение Klim_1 »

Ребят, кто подскажет. Планирую сделать клавиатуру на 12 кнопок, сенсор, на базе QT1010. По описанию всё ОК, но как они будут работать группой? Есть ли какие рекомендации по расстоянию между площадками и их расположении? Проблема именно в том чтобы заменить тактовые кнопки в уже готовом устройстве. Иначе взял бы полную микру на 16 кнопок.
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: Подскажите пожалуйста - сенсорные кнопки на QT1011

Сообщение Satyr »

Это все описано в даташите.
Достигается все подбором параметров несколькоих резисторов и конденсаторов.

Есть у меня такая плата Изображение
на ней колечко-слайдер выложено как раз из кучи сенсорных кнопок ВПРИТЫК. все нормально работает.
Ответить

Вернуться в «Цифровая техника»