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

Вопросы по подключению кнопок и клавиатур
Аватара пользователя
Rovki
Полковник
Сообщения: 5712
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 67 раз
Поблагодарили: 212 раз
Контактная информация:

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

Сообщение Rovki »

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

Отправлено спустя 12 минут 2 секунды:
Выводятся цифры под клавишами -
1658073854239.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Электронщик до мозга костей и не только
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

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

Сообщение Dryundel »

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

Отправлено спустя 1 час 9 минут 43 секунды:
Rovki писал(а): 17 июл 2022, 19:05 И есть пример https://github.com/BareConductive/mpr12 ... eTouch.ino
Нефигасе библиотечка. Неделю надо разбираться во всех возможностях.
Аватара пользователя
Rovki
Полковник
Сообщения: 5712
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 67 раз
Поблагодарили: 212 раз
Контактная информация:

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

Сообщение Rovki »

Там можно регулировать чувствительность . Сейчас попробую через пленку ...
Электронщик до мозга костей и не только
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

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

Сообщение Dryundel »

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

Отправлено спустя 2 минуты 8 секунд:
Там две библиотеки. Я пока не понял их взаимодействие.
Аватара пользователя
Rovki
Полковник
Сообщения: 5712
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 67 раз
Поблагодарили: 212 раз
Контактная информация:

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

Сообщение Rovki »

Попробовал через скотч и оргстекло(1.5мм)- работает....
Стекла не нашел плоского ,попробовал через бокал (1мм)- работает :smile427:
Электронщик до мозга костей и не только
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

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

Сообщение Dryundel »

Rovki писал(а): 17 июл 2022, 20:52 Попробовал через скотч и оргстекло(1.5мм)- работает....
Это уже интересно. Точно надо заказывать и разбираться. :)
Аватара пользователя
Rovki
Полковник
Сообщения: 5712
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 67 раз
Поблагодарили: 212 раз
Контактная информация:

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

Сообщение 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:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Электронщик до мозга костей и не только
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

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

Сообщение Dryundel »

Rovki писал(а): 17 июл 2022, 21:29 На плате разглядел 3площадки, похоже для смены адреса
Да именно это сейчас и изучаю. Вам повезло, есть варианты таких же панелек без выбора адреса. Возможны 4 адреса по даташиту,
Аватара пользователя
Rovki
Полковник
Сообщения: 5712
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 67 раз
Поблагодарили: 212 раз
Контактная информация:

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

Сообщение 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/
но не могу найти блок и пример
Электронщик до мозга костей и не только
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

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

Сообщение Dryundel »

Rovki писал(а): 18 июл 2022, 08:21 но не могу найти блок и пример
Вот этот пример с блоком.
MPR121_4.flp
Автор iBells Вероятно еще со старого форума, ибо с 2017 не появлялся..
Вот весь комплект
MPR121.zip
Блок сделан на 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
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Rovki
Полковник
Сообщения: 5712
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 67 раз
Поблагодарили: 212 раз
Контактная информация:

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

Сообщение Rovki »

Проверил блок и добавил вывод в уарт , работает
клава.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Электронщик до мозга костей и не только
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

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

Сообщение Dryundel »

Rovki писал(а): 18 июл 2022, 14:08 Проверил блок и добавил вывод в уарт , работает
Если delay() выкинул, то блок будет сильно грузить запросами I2C.
Если нет, то тормоза реальному проекту гарантированы.
Надо использовать линию прерывания, тогда будет Ок.
Аватара пользователя
Rovki
Полковник
Сообщения: 5712
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 67 раз
Поблагодарили: 212 раз
Контактная информация:

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

Сообщение Rovki »

Нужно на плату поставить условие и опрашивать несколько раз в секунду или изменить частоту I2C. Согласен ,что с прерыванием будет лучше.

Отправлено спустя 1 минуту 32 секунды:
Но в этом блоке нет задания пин для прерывания
Электронщик до мозга костей и не только
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

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

Сообщение Dryundel »

Rovki писал(а): 18 июл 2022, 14:19 Нужно на плату поставить условие и опрашивать несколько раз в секунду или изменить частоту I2C.
Ход мысли правильный. Именно для этого и delay() там и втиснут.
Rovki писал(а): 18 июл 2022, 14:20 Но в этом блоке нет задания пин для прерывания
Мало того, в этом блоке нет установки адреса. )))
Ну так это потому, что чел не разбирался досконально с библиотекой, а тупо упаковал пример в блок и все.
Аватара пользователя
Rovki
Полковник
Сообщения: 5712
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 67 раз
Поблагодарили: 212 раз
Контактная информация:

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

Сообщение Rovki »

Не увидел в бибке от адафрут работы с прерыванием :smile427:

Отправлено спустя 1 минуту 26 секунд:
Могу выслать свою клаву для оперативности
Электронщик до мозга костей и не только
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

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

Сообщение Dryundel »

Rovki писал(а): 18 июл 2022, 14:27 Не увидел в бибке от адафрут работы с прерыванием
А нафига это в библиотеке? Я про адрес имел ввиду. А прерывание должно быть просто условием для отсылки запроса на нажатие или отпускание. Сейчас, если нет delay() идет 24 запроса в каждом цикле программы.
Аватара пользователя
Rovki
Полковник
Сообщения: 5712
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 67 раз
Поблагодарили: 212 раз
Контактная информация:

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

Сообщение Rovki »

Dryundel писал(а): 18 июл 2022, 14:31
Rovki писал(а): 18 июл 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
......
Электронщик до мозга костей и не только
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

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

Сообщение Dryundel »

Rovki писал(а): 18 июл 2022, 14:35 В коде то же нет формирование прерывания
Adafruit этим не заморачивался и библиотеку такой фигней не загружал. Потому нет ни в коде ни в примере. Типа если кому надо, то сам должен понимать такие простые вещи. :)
Аватара пользователя
Rovki
Полковник
Сообщения: 5712
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 67 раз
Поблагодарили: 212 раз
Контактная информация:

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

Сообщение Rovki »

Используя блок пользователя , пользователь не обязан понимать код, да же если он простой, имхо :smile37: Ждем классный блок от вас :smile427: Куда отправлять клаву ?
Электронщик до мозга костей и не только
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

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

Сообщение Dryundel »

Вопрос к знатокам

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

Вернуться в «Кнопки и клавиатуры»

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

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