(098) 067-12-26 Киевстар (098) 067-12-26   Киевстар
(066) 142-24-48 Vodafone (066) 142-24-48   Vodafone
(098) 067-12-26 Lifecell (063) 642-36-59   Lifecell
 info@arduino.ua
График работы магазина:
Пн-Пт: 9.00 - 19.00
Сб: 10.00 - 19.00
Вс: выходной
г. Киев, ул. Васильковская, 30
ст.м. "Васильковская"
Каталог

Школа робототехники intRobots

Напиши статью и получи скидку!

Модуль I2C для сенсорной клавиатуры TTP229 от Robotdyn

код: AOC571

RobotDyn
  • Доставка по Украине.
    Мы отправляем заказы "Новой Почтой" по Украине и курьером по Киеву. Также возможен самовывоз из нашего магазина.
  • 6 месяцев гарантии.

    Мы даем гарантию на любой товар приобретенный в нашем магазине:

    6 месяцев на товары, кроме батареек и аккумуляторов

    14 дней на батарейки и аккумуляторы.

    В случае наступления гарантийного случая товар бесплатно ремонтируется, меняется на аналогичный или возвращается полная сумма его стоимости.

    Внимательно ознакомьтесь с условиями гарантии.
  • Проконсультируем до и после продажи.
    Вы можете задавать вопросы письменно по контактному e-mail или телефону указанным в шапке нашего магазина
49 грн.

есть в наличии

 

Купить в один клик

Добавить к сравнению

Добавить в "Список желаний"
4
голосовать
Нашли дешевле?
  • Модуль I2C для сенсорной клавиатуры TTP229 от Robotdyn
  • Модуль I2C для сенсорной клавиатуры TTP229 от Robotdyn
  • Модуль I2C для сенсорной клавиатуры TTP229 от Robotdyn
  • Описание
  • Отзывы (3)
  • Задать вопрос

Модуль подключения по интерфейсу I2C для сенсорной 16-кнопочной клавиатуры на TTP229 от Robotdyn. Предназначен для построения систем ввода данных или замены кнопочных и мембранных клавиатур.

Данный 16-канальный модуль используется совместно с емкостными клавиатурами и имеет два режима работы. Модуль можно подключать по шине I2C к различным микроконтроллерам (Arduino, Raspberry, STM).

Характеристики:

  • Микросхема: 16-канальный TTP229
  • Напряжение питания: от 2.4 до 5.5В
  • Размеры: 30 x 40 мм

Пример скетча

#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[i]); Serial.print(" "); delay(10); } } break; } } delay(50);
for(int i=0;i<16;i++) { oldata[i]=button[i]; } count=0; count2=!count2; } }

Ссылки:

Отзывы покупателей о "Модуль I2C для сенсорной клавиатуры TTP229 от Robotdyn"

(28.11.2018)

Необходимые библиотеки #include
stdio.h
stdlib.h
stdint.h
unistd.h
fcntl.h
string.h
errno.h
linux/i2c-dev.h // struct i2c_msg
sys/ioctl.h
// struct i2c_rdwr_ioctl_data
Ответить

(28.11.2018)

Проверка в Linux данного модуля
от меня))

#include
#include
#include
#include
#include
#include
#include
#include // struct i2c_msg
#include

#include // struct i2c_rdwr_ioctl_data


typedef struct {
char *i2_bus;
int16_t address;
int chip_open;
int bus_open;
int16_t data_key;
}TTP229L;

TTP229L chip = {"/dev/i2c-0",0x57};




//-------------------- open i2C bus----------------------------//

int TTP229L_open_i2c(TTP229L *chip){

chip->bus_open = open( chip->i2_bus , O_RDWR);

return chip->bus_open; };

//------------------------ close i2c bus -----------------------//

int TTP229L_close_i2c (TTP229L *chip){

int chip_close = close(chip->bus_open);
if (chip_close <0) perror("TTP229L error close() I2C ");

return chip_close;};

///---------------- read bytes --------------------------//

int16_t TTP229L_read_bytes (TTP229L *chip){

if (TTP229L_open_i2c (chip) < 0) return chip->bus_open;


static __int8_t buf[2];


struct i2c_msg msg [1] = {
{chip->address, I2C_M_RD, 2, buf } //прочитать данные в буфер
};

struct i2c_rdwr_ioctl_data rdwr = {msg, 1 };


if ( ioctl(chip->bus_open, I2C_RDWR, &rdwr ) < 0 ){ perror("I2C erorr rdwr");}


if ( TTP229L_close_i2c (chip) < 0){ perror("I2C erorr close() ");
return -1;}





chip->data_key = buf[0];
chip->data_key = (chip->data_key << 8) | buf[1];


return chip->data_key; };






int main(int argc, char** argv) {

test:
if (TTP229L_read_bytes(&chip)==0) goto test;
printf("keys %x n", chip.data_key);
goto test;

}
Ответить

(28.11.2018)

Ребята выложите даташит на эту плату
http://www.tontek.com.tw/uploads/product/106/TTP229-LSF_V1.0_EN.pdf
Ответить
Новое сообщение:
Имя:
Текст:
 

Есть вопросы по Модуль I2C для сенсорной клавиатуры TTP229 от Robotdyn?

Ваше имя:

Email:

Вопрос:


Также рекомендуем ознакомиться:

Дорогие друзья! Мы стараемся держать на сайте информацию про наличие товаров и цены на них в АКТУАЛЬНОМ состоянии. Корректировки происходят постоянно. Если вы находите цену на товар завышенной, напишите нам про это с указанием ссылки на товар. Мы рассмотрим письмо и или обоснуем цену, или подкорректируем ее. Ассортимент магазина очень большой и иногда бывают ошибки в ценообразовании, особенно при скачках курса доллара. Благодарим за понимание.
оплата картами Visa и MasterCard