Страница 1 из 2

Сенсорная клавиатура на чипе MPR121

Добавлено: 17.07.2022{, 18:53}
Rovki
Есть клавиатура ,работает по I2C- https://aliexpress.ru/item/32811791473. ... 4510854250 . И есть пример https://github.com/BareConductive/mpr12 ... eTouch.ino
Сканером определил ,что адрес у нее 0x5a , а не как в примере 0х5с - нужно изменить .
Может возможно создать блок клавиатуры на базе этой клавы? В примере в сом порт выдается номер клавиши при нажатии и отпускании только ... :smile427:

Отправлено спустя 12 минут 2 секунды:
Выводятся цифры под клавишами -
1658073854239.jpg

Ввод числа с клавиатуры

Добавлено: 17.07.2022{, 19:28}
Dryundel
Rovki писал(а):
17.07.2022{, 19:05}
Есть еще клавиатура ,работает по I2C
Прикольная клава. Не видел таких надо заказать. А какая чувствительность? Интересно, через стекло будет работать?

Отправлено спустя 1 час 9 минут 43 секунды:
Rovki писал(а):
17.07.2022{, 19:05}
И есть пример https://github.com/BareConductive/mpr12 ... eTouch.ino
Нефигасе библиотечка. Неделю надо разбираться во всех возможностях.

Ввод числа с клавиатуры

Добавлено: 17.07.2022{, 20:40}
Rovki
Там можно регулировать чувствительность . Сейчас попробую через пленку ...

Ввод числа с клавиатуры

Добавлено: 17.07.2022{, 20:48}
Dryundel
Rovki писал(а):
17.07.2022{, 20:40}
Там можно регулировать чувствительность . Сейчас попробую через пленку ...
Это я видел. Попробуй стекло и оргстекло 2- 3 мм. Пишут что чувствительность большая может быть.
В примере и половины возможностей не показано.

Отправлено спустя 2 минуты 8 секунд:
Там две библиотеки. Я пока не понял их взаимодействие.

Ввод числа с клавиатуры

Добавлено: 17.07.2022{, 20:52}
Rovki
Попробовал через скотч и оргстекло(1.5мм)- работает....
Стекла не нашел плоского ,попробовал через бокал (1мм)- работает :smile427:

Ввод числа с клавиатуры

Добавлено: 17.07.2022{, 21:01}
Dryundel
Rovki писал(а):
17.07.2022{, 20:52}
Попробовал через скотч и оргстекло(1.5мм)- работает....
Это уже интересно. Точно надо заказывать и разбираться. :)

Ввод числа с клавиатуры

Добавлено: 17.07.2022{, 21:01}
Rovki
Там еще есть выход -прерывание...

Отправлено спустя 1 минуту 42 секунды:
На плате разглядел 3площадки, похоже для смены адреса

Отправлено спустя 3 минуты 10 секунд:
1658081070840.jpg
Отправлено спустя 10 минут 17 секунд:
Вот даташит на чип- https://micropython.org/resources/datasheets/MPR121.pdf

Отправлено спустя 8 минут 24 секунды:
https://fornk.ru/5069-mpr121-kontroller ... #gsc.tab=0

Отправлено спустя 4 минуты 32 секунды:
В воздухе ловит палец на расстоянии 5-6мм :smile427:

Ввод числа с клавиатуры

Добавлено: 17.07.2022{, 22:03}
Dryundel
Rovki писал(а):
17.07.2022{, 21:29}
На плате разглядел 3площадки, похоже для смены адреса
Да именно это сейчас и изучаю. Вам повезло, есть варианты таких же панелек без выбора адреса. Возможны 4 адреса по даташиту,

Сенсорная клавиатура на чипе MPR121

Добавлено: 18.07.2022{, 07:51}
Rovki
ЕСть еще бибка от адафрут https://learn.adafruit.com/adafruit-mpr ... ial/wiring
Проверил пример- работает замечательно

Отправлено спустя 22 минуты 22 секунды:
Поддержка микросхемы MPR121 - 12 каналов сенсоров-кнопок , 8 из которых могут настраиваться на выход для управления нагрузкой. Подключение по I2C. Адрес 0x5A.
https://wifi-iot.com/p/wiki/164/ru/

Отправлено спустя 6 минут 41 секунду:
Тут что то уже было -https://flprog.ru/downloads/usersblocks ... ejsom-i2c/
но не могу найти блок и пример

Сенсорная клавиатура на чипе MPR121

Добавлено: 18.07.2022{, 10:27}
Dryundel
Rovki писал(а):
18.07.2022{, 08:21}
но не могу найти блок и пример
Вот этот пример с блоком.
MPR121_4.flp
(181.65 КБ) 50 скачиваний
Автор iBells Вероятно еще со старого форума, ибо с 2017 не появлялся..
Вот весь комплект
MPR121.zip
(292.07 КБ) 49 скачиваний
Блок сделан на Adafruit_MPR121.h 2017г. После этого были обновления библиотеки.
В блоке торчит delay(), поэтому он пригоден только для теста.

Я еще не определился с библиотекой, но сделаю в ближайшие дни простенький вариант типа этого, на Adafruit_MPR121.h.
Панельки и модуля у меня нет, поэтому серьезный блок не скоро.

Самое крутое в MPR121 это мультитач.
Пожертвовав мультитачем можно сделать панель на 36 кнопок (6х6), используя модуль или просто чип.
Ну или вариации 5х7, 4х8, 3х2 ...
Вот ссылка на такой проект https://tehnopage.ru/podklychenie-36-datchikov-k-mpr121

Сенсорная клавиатура на чипе MPR121

Добавлено: 18.07.2022{, 14:08}
Rovki
Проверил блок и добавил вывод в уарт , работает
клава.jpg

Сенсорная клавиатура на чипе MPR121

Добавлено: 18.07.2022{, 14:14}
Dryundel
Rovki писал(а):
18.07.2022{, 14:08}
Проверил блок и добавил вывод в уарт , работает
Если delay() выкинул, то блок будет сильно грузить запросами I2C.
Если нет, то тормоза реальному проекту гарантированы.
Надо использовать линию прерывания, тогда будет Ок.

Сенсорная клавиатура на чипе MPR121

Добавлено: 18.07.2022{, 14:19}
Rovki
Нужно на плату поставить условие и опрашивать несколько раз в секунду или изменить частоту I2C. Согласен ,что с прерыванием будет лучше.

Отправлено спустя 1 минуту 32 секунды:
Но в этом блоке нет задания пин для прерывания

Сенсорная клавиатура на чипе MPR121

Добавлено: 18.07.2022{, 14:23}
Dryundel
Rovki писал(а):
18.07.2022{, 14:19}
Нужно на плату поставить условие и опрашивать несколько раз в секунду или изменить частоту I2C.
Ход мысли правильный. Именно для этого и delay() там и втиснут.
Rovki писал(а):
18.07.2022{, 14:20}
Но в этом блоке нет задания пин для прерывания
Мало того, в этом блоке нет установки адреса. )))
Ну так это потому, что чел не разбирался досконально с библиотекой, а тупо упаковал пример в блок и все.

Сенсорная клавиатура на чипе MPR121

Добавлено: 18.07.2022{, 14:27}
Rovki
Не увидел в бибке от адафрут работы с прерыванием :smile427:

Отправлено спустя 1 минуту 26 секунд:
Могу выслать свою клаву для оперативности

Сенсорная клавиатура на чипе MPR121

Добавлено: 18.07.2022{, 14:31}
Dryundel
Rovki писал(а):
18.07.2022{, 14:27}
Не увидел в бибке от адафрут работы с прерыванием
А нафига это в библиотеке? Я про адрес имел ввиду. А прерывание должно быть просто условием для отсылки запроса на нажатие или отпускание. Сейчас, если нет delay() идет 24 запроса в каждом цикле программы.

Сенсорная клавиатура на чипе MPR121

Добавлено: 18.07.2022{, 14:34}
Rovki
Dryundel писал(а):
18.07.2022{, 14:31}
Rovki писал(а):
18.07.2022{, 14:27}
Не увидел в бибке от адафрут работы с прерыванием
А нафига это в библиотеке? Я про адрес имел ввиду. А прерывание должно быть просто условием для отсылки запроса на нажатие или отпускание. Сейчас, если нет delay() идет 24 запроса в каждом цикле программы.
В коде то же нет формирование прерывания :smile427:

Отправлено спустя 1 минуту 45 секунд:
В первом примере -
.....
const uint32_t BAUD_RATE = 115200 ;
const uint8_t MPR121_ADDR = 0x5C ; // 0x5C — это I2C-адрес MPR121 на Bare Touch Board
const uint8_t MPR121_INT = 4 ; // контакт 4 — это прерывание MPR121 на Bare Touch Board
......

Сенсорная клавиатура на чипе MPR121

Добавлено: 18.07.2022{, 14:40}
Dryundel
Rovki писал(а):
18.07.2022{, 14:35}
В коде то же нет формирование прерывания
Adafruit этим не заморачивался и библиотеку такой фигней не загружал. Потому нет ни в коде ни в примере. Типа если кому надо, то сам должен понимать такие простые вещи. :)

Сенсорная клавиатура на чипе MPR121

Добавлено: 18.07.2022{, 15:30}
Rovki
Используя блок пользователя , пользователь не обязан понимать код, да же если он простой, имхо :smile37: Ждем классный блок от вас :smile427: Куда отправлять клаву ?

Сенсорная клавиатура на чипе MPR121

Добавлено: 25.07.2022{, 09:13}
Dryundel
Вопрос к знатокам

GPIO у MPR121 конфигурируются в 7 вариантов. В том числе:
OUTPUT_HIGHSIDE (open collector output, high-side)
и
OUTPUT_LOWSIDE (open collector output, low side)
Что такое открытый коллектор понятно. А вот что есть high-side И low side?
Это типа нормально открытый/закрытый? Или может открытый эмиттер имеется ввиду?
Или это подтяжка коллектора к VCC? Тогда это уже не открытый коллектор.
Может кто в курсе?