Модуль TTP229-LSF
Модуль TTP229-LSF
Скетч из архива выводит только "Start Touching One Key At a Time!". Реакции на касания контактной площадки 10х10мм (прямые или через тонкий изолятор) нет...(
Но работает это
[spoiler=Спойлер]#include <Wire.h>
#define ttp229 (0xAF>>1)
uint16_t data_out=0;
uint16_t data1,data2;
int count=0;
boolean count2=false;
int button[16];
int oldata[16];
void setup()
{
Serial.begin(9600);
Wire.begin();
}
void loop()
{
Wire.requestFrom(ttp229,2,true);
delay(1);
while(Wire.available())
{
data1=Wire.read();
data2=Wire.read();
data_out=(data1<<8)|data2;
for(int i=1;i<17;i++)
{
uint16_t contrast=0x8000;
if(data_out & contrast)
{
//Serial.println(i);
button[count]=i;
count++;
delay(1);
}
data_out<<=1;
}
if(count2)
{
switch(count)
{
case 1:
if(oldata[0]==button[0])
{
Serial.println(button[0]);
delay(20);
}
break;
case 2:
if(oldata[0]==button[0]&&oldata[1]==button[1])
{
for(int i=0;i<2;i++)
{
Serial.print(button);
Serial.print(" ");
delay(10);
}
}
break;
}
}
delay(50);
for(int i=0;i<16;i++)
{
oldata=button;
}
count=0;
count2=!count2;
}
}[/spoiler]
Взял тут http://robotdyn.com/catalog....ruction
Добавлено (06.07.2017, 11:18)
---------------------------------------------
Кнопку тоже победил )
Спасибо Вам огромное.
Но работает это
[spoiler=Спойлер]#include <Wire.h>
#define ttp229 (0xAF>>1)
uint16_t data_out=0;
uint16_t data1,data2;
int count=0;
boolean count2=false;
int button[16];
int oldata[16];
void setup()
{
Serial.begin(9600);
Wire.begin();
}
void loop()
{
Wire.requestFrom(ttp229,2,true);
delay(1);
while(Wire.available())
{
data1=Wire.read();
data2=Wire.read();
data_out=(data1<<8)|data2;
for(int i=1;i<17;i++)
{
uint16_t contrast=0x8000;
if(data_out & contrast)
{
//Serial.println(i);
button[count]=i;
count++;
delay(1);
}
data_out<<=1;
}
if(count2)
{
switch(count)
{
case 1:
if(oldata[0]==button[0])
{
Serial.println(button[0]);
delay(20);
}
break;
case 2:
if(oldata[0]==button[0]&&oldata[1]==button[1])
{
for(int i=0;i<2;i++)
{
Serial.print(button);
Serial.print(" ");
delay(10);
}
}
break;
}
}
delay(50);
for(int i=0;i<16;i++)
{
oldata=button;
}
count=0;
count2=!count2;
}
}[/spoiler]
Взял тут http://robotdyn.com/catalog....ruction
Добавлено (06.07.2017, 11:18)
---------------------------------------------
Кнопку тоже победил )
Спасибо Вам огромное.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Модуль TTP229-LSF
в этой теме второй пост. там приложен скетч. можете затестить?
Добавлено (06.07.2017, 11:42)
---------------------------------------------
Добавлено (06.07.2017, 11:44)
---------------------------------------------
если скетч по ссылке рабочий, можно попробовать на нём блок сделать
Добавлено (06.07.2017, 11:42)
---------------------------------------------
значит библиотека либо не рабочая, либо для другого шилда как на скрине на первой страницеpan писал(а):Скетч из архива выводит только "Start Touching One Key At a Time!"
Добавлено (06.07.2017, 11:44)
---------------------------------------------
если скетч по ссылке рабочий, можно попробовать на нём блок сделать
Модуль TTP229-LSF
Пролистал немного даташит на микросхему. Похоже шилды используют разные режимы работы
[spoiler=Спойлер][/spoiler]В моем случае шилд работает через I2C (хоть и не опрашивается через сканирование шины в Flprog)
Пример скетча указанный мной выше с сайта Robotdyn рабочий. Шлет в порт номера выводов которых касаюсь. В том числе несколько одновременных касаний распознает без проблем.
Еще что-то тут про шину http://forum.arduino.cc/index.php?topic=319041.0
[spoiler=Спойлер][/spoiler]В моем случае шилд работает через I2C (хоть и не опрашивается через сканирование шины в Flprog)
Пример скетча указанный мной выше с сайта Robotdyn рабочий. Шлет в порт номера выводов которых касаюсь. В том числе несколько одновременных касаний распознает без проблем.
Еще что-то тут про шину http://forum.arduino.cc/index.php?topic=319041.0
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Ingwar 06 июл 2017, 13:52, всего редактировалось 1 раз.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Модуль TTP229-LSF
Так там используется вывод SDO, а у моего шилда SDA
Последний раз редактировалось Ingwar 06 июл 2017, 15:44, всего редактировалось 1 раз.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Модуль TTP229-LSF
Спасибо
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Модуль TTP229-LSF
Ув! pan, Спасибо Вам за блок(6 сообщение) для шилда из того же сообщения. При касании клавиши на экран 1602 выводится правильное значение, но есть проблема с кнопками от 1 до 9 . После убирания пальца с одной из этих кнопок на экране отображается "0". С кнопками от 10 до 16 этого нет, после убирания пальца экран чист.
Перемычка запаяна красная на скрине из сообщения №6 этой темы.
Перемычка запаяна красная на скрине из сообщения №6 этой темы.
Модуль TTP229-LSF
Marcony_V, мне сказали что он не рабочий я не стал заморачиваться дальше с этим блоком. оказывается еще один сделал
Добавлено (11.07.2017, 23:20)
---------------------------------------------
такого шилда небыло, тестировали на другом. если будете тестером то поковыряю
Добавлено (11.07.2017, 23:39)
---------------------------------------------
Marcony_V, а вы скетч проверяли который во втором после выложили? работает?
Добавлено (11.07.2017, 23:20)
---------------------------------------------
такого шилда небыло, тестировали на другом. если будете тестером то поковыряю
Добавлено (11.07.2017, 23:39)
---------------------------------------------
Marcony_V, а вы скетч проверяли который во втором после выложили? работает?
Модуль TTP229-LSF
Скетч тот проверял, работает, только уж очень сильная чувствительность сенсора очень похожая на механический дребезг контактов. Т.е. при малейшем прикосновении к кнопке выскакивает несколько одинаковых значений соответствующих этой кнопки. В Вашем же блоке все работает четко, пока палец на кнопке - на экране значение, убрал, значение исчезло. Правда появляется "0" в случае с кнопками от 1 до 9.
Конечно будутакого шилда небыло, тестировали на другом. если будете тестером то поковыряю
Скетч тот проверял, работает, только уж очень сильная чувствительность сенсора очень похожая на механический дребезг контактов. Т.е. при малейшем прикосновении к кнопке выскакивает несколько одинаковых значений соответствующих этой кнопки. В Вашем же блоке все работает четко, пока палец на кнопке - на экране значение, убрал, значение исчезло. Правда появляется "0" в случае с кнопками от 1 до 9.
Модуль TTP229-LSF
а проектик можно увидеть? выход блока - переменная byte . если нет ни чего значит есть 0 ! не может не существовать числаMarcony_V писал(а):После убирания пальца с одной из этих кнопок на экране отображается "0". С кнопками от 10 до 16 этого нет
Добавлено (12.07.2017, 09:14)
---------------------------------------------
этот пробовали ? http://flprog.ru/load/bloki_polzovatele ... /2-1-0-319
Модуль TTP229-LSF
Нет не пробовал. На моем шилде нет SDA есть только SDO
Проектик простой для тестирования блока к его выходу через блок конвертации строк по I2C подключен дисплей 1602. При подаче питания на экране "0" нет, он появляется только после нажатия на одну из кнопок от 1 до 9 С кнопками от 10 до 16 числа не существует после того как убираешь палец.а проектик можно увидеть? выход блока - переменная byte . если нет ни чего значит есть 0 ! не может не существовать числа
этот пробовали ?
Нет не пробовал. На моем шилде нет SDA есть только SDO
Модуль TTP229-LSF
если нету то можно вывести. он там есть полюбомуMarcony_V писал(а):На моем шилде нет SDA есть только SDO
[spoiler=Спойлер]
![Изображение](http://i7.5cm.ru/i/vCbg.png)
Модуль TTP229-LSF
pan, ввел Вас в заблуждение: "0" появляется после отпускания любой из 16-ти кнопок, а увидел это только через монитор порта. На 1602 "0" отображался только при отпускании первых девяти кнопок почему то.
Я его (SDA) здесь не нашел . У меня шилд на TPP229-BSF такой как на скрине из Вашего сообщения №6
TTP229-BSFpan писал(а):если нету то можно вывести. он там есть полюбому
Я его (SDA) здесь не нашел . У меня шилд на TPP229-BSF такой как на скрине из Вашего сообщения №6
Модуль TTP229-LSF
микросхема одна, и пин у нее есть. но это так, для експериментов.
а поводу 0 так и должно быть. ведь на выходе номер кнопки. если ни чего не нажато значит 0. и еще из даташита
Auto calibration function
The TTP229-LSF includes a full auto-calibration function. After the device is powered-on, it will
calibrate the initial condition of environment first. On the duration time all the functions are disabled,
so do not operate. Then the system is into stand-by mode. And all keys are not detected touch more
than about 4 seconds, then the system do re-calibration automatically. The procedure is fixed and
repeated. By implementing this feature the system can catch the conditions of environment changing.
And let operation of the system is normal
а поводу 0 так и должно быть. ведь на выходе номер кнопки. если ни чего не нажато значит 0. и еще из даташита
Auto calibration function
The TTP229-LSF includes a full auto-calibration function. After the device is powered-on, it will
calibrate the initial condition of environment first. On the duration time all the functions are disabled,
so do not operate. Then the system is into stand-by mode. And all keys are not detected touch more
than about 4 seconds, then the system do re-calibration automatically. The procedure is fixed and
repeated. By implementing this feature the system can catch the conditions of environment changing.
And let operation of the system is normal
Модуль TTP229-LSF
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Модуль TTP229-LSF
действительно не работает логика. я таких тонкостей не знаю. может кто подскажет
Добавлено (14.07.2017, 11:21)
---------------------------------------------
Ingwar, не знаю в чем фокус. еще раз подключил все блоки также. вместо out8 поставил 13 пин для наглядности. всё работает. не знаю почему до этого не работало.
Добавлено (14.07.2017, 11:21)
---------------------------------------------
Ingwar, не знаю в чем фокус. еще раз подключил все блоки также. вместо out8 поставил 13 пин для наглядности. всё работает. не знаю почему до этого не работало.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость