• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь Помогите подружить WeMos D1 и матричную клавиатуру.

mackatgn

New member
Добрый день. Проблема такова:
На Уно легко подключаю клавиатурку даже по стандартному примеру. на многих других платах тоже.
Беда именно с Д1.
подключал 4х4 с D0, D2 и т.д. При старте выводит wtd reset и дальше... идей нет.
byte rowPins[ROWS] = {0, 1, 2, 3};
byte colPins[COLS] = {4, 5, 6, 7};
Это если с D0. Но пробовал тоже самое и с D2, результат тот же.
Попробовал обозвать D0, D1, D2 и т.д. нумерацией GPIO, по типу
byte rowPins[ROWS] = {16, 5, 4, 0}
byte colPins[COLS] = {2, 14, 12, 13};
Работает, но все цифры перепутаны!
Может какой выход присваиваю критичный?

Кто может подключал клавиатурку именно к WeMos D1 R2?
 

Solexid

New member
Добрый день. Проблема такова:
На Уно легко подключаю клавиатурку даже по стандартному примеру. на многих других платах тоже.
Беда именно с Д1.
подключал 4х4 с D0, D2 и т.д. При старте выводит wtd reset и дальше... идей нет.
byte rowPins[ROWS] = {0, 1, 2, 3};
byte colPins[COLS] = {4, 5, 6, 7};
Это если с D0. Но пробовал тоже самое и с D2, результат тот же.
Попробовал обозвать D0, D1, D2 и т.д. нумерацией GPIO, по типу
byte rowPins[ROWS] = {16, 5, 4, 0}
byte colPins[COLS] = {2, 14, 12, 13};
Работает, но все цифры перепутаны!
Может какой выход присваиваю критичный?

Кто может подключал клавиатурку именно к WeMos D1 R2?
Ну например гпио16 не умеет работать в режиме чтения. И в первом варианте нужно просто указать пере номером букву D, так как это записано в дефайнах фреймворка дурины для 8266.
 

mackatgn

New member
В этом случае (D0, D1, D2, D3) все кнопки перепутаны, работают лишь 8,9, 5,6, * и #... и они показывают вместо 8 - 5, вместо 9 - 6.
А если пишешь "D9", т.е. переносом начального пина с D0, на D2 - то ошибка компилляции, т.к. D9 is not documented... Подбором возможно получится переставить код, но как вообще в принципе эту Д1 подключить к клавиатуре правильно?
Я к уно подключал прямо на первые 8 пинов, по средством удлиненных коннекторов. Вот как оно есть, а тут получается надо смещаться на D2? Господа! Помогите, может у кого есть клавиатурка и Вемос Д1?
 

Solexid

New member
В этом случае (D0, D1, D2, D3) все кнопки перепутаны, работают лишь 8,9, 5,6, * и #... и они показывают вместо 8 - 5, вместо 9 - 6.
А если пишешь "D9", т.е. переносом начального пина с D0, на D2 - то ошибка компилляции, т.к. D9 is not documented... Подбором возможно получится переставить код, но как вообще в принципе эту Д1 подключить к клавиатуре правильно?
Я к уно подключал прямо на первые 8 пинов, по средством удлиненных коннекторов. Вот как оно есть, а тут получается надо смещаться на D2? Господа! Помогите, может у кого есть клавиатурка и Вемос Д1?
По чесному скажу, не страдайте херней. Матричная клавиатура занимает 8 пинов, мне же удалось воспользоватся функцианалом максимум у 9 пинов, если конечно не считать RX TX пины. И что вы повесите на 9 пин?Диод? Самый простой для вас вариант - взять ардуино микро ценой менее бакса, сделать на ней всю логику работы с клавиатурой и подключить ардуино к esp8266 в качестве i2c slave. В итоге у вас на вемосе будет затрачено 2 пина, а на ардуине останется еще несколько (вроде бы 7) штук которые вы можете тоже пробросить через I2C.
 

mackatgn

New member
Знаете в чем вопрос... Новый заказ будет ехать 3-4 недели, с учетом праздников... приедет в конце февраля-марте.
Свои уно отдал детенышу знакомого (поддержать молодые умы), а у меня на руках из дебаг устройств лишь ВеМос Д1. Понимаю, что проще взять тупо ардуино, но купился на вемос из-за видосов про сравнение скоростей работы с дисплеями и не пожалел! Да и вообще разобраться хотелось бы! Если бы можно было так - не работает ну и х... с ним - это было бы не в этот форум...
 

mackatgn

New member
Вся система построена была без клавиатуры изначально, но пришлось добавить...
Одна ESP8266 - считывает пароль с клавы, по GPIO отправляет HIGH на вторую на пару секунд, та, получая команду включает или выключает сигналку.
На второй же висят GSM A6, DHT11, PIR, Геркон, 2 LED, Реле, пищалка, фоторезистор. Вторая плата работает, осталось первую допилить! Т.к. встала проблема, что если теряем телефон/заканчиваются деньги, нет интернета/нет сети, то сигналку отключить нереально, ибо она от аккумуляторов!
 

Solexid

New member
Знаете в чем вопрос... Новый заказ будет ехать 3-4 недели, с учетом праздников... приедет в конце февраля-марте.
Свои уно отдал детенышу знакомого (поддержать молодые умы), а у меня на руках из дебаг устройств лишь ВеМос Д1. Понимаю, что проще взять тупо ардуино, но купился на вемос из-за видосов про сравнение скоростей работы с дисплеями и не пожалел! Да и вообще разобраться хотелось бы! Если бы можно было так - не работает ну и х... с ним - это было бы не в этот форум...
Тут дело не в не работает, тут дело в том что у вас просто неправильное использование. Скажите где вы живет, может от вас недалеко все таки есть магазин с микроконтроллерами или хотя бы сдвиговыми регистрами. Про дисплеи - да еспха очень хорошо с ними ладит, скорость работы в итоге упирается не в скорость есп, а в скорость дисплея. Например тот же st7735 может не успевать приходящие от есп данные, потому приходиться иногда использовать фреймбуффер.
 

Solexid

New member
Вся система построена была без клавиатуры изначально, но пришлось добавить...
Одна ESP8266 - считывает пароль с клавы, по GPIO отправляет HIGH на вторую на пару секунд, та, получая команду включает или выключает сигналку.
На второй же висят GSM A6, DHT11, PIR, Геркон, 2 LED, Реле, пищалка, фоторезистор. Вторая плата работает, осталось первую допилить! Т.к. встала проблема, что если теряем телефон/заканчиваются деньги, нет интернета/нет сети, то сигналку отключить нереально, ибо она от аккумуляторов!
А ясно о чем речь. Тогда есть вариант вам посмотреть какие пины у esp8266 для чего можно использовать. Вам скорее всего конечно будет ждать уныние, так как половина пинов неюзабельна для половины задач. А перепутаны кнопки у вас так как вы скорее всего перепутали строки и столбцы
 

mackatgn

New member
А ясно о чем речь. Тогда есть вариант вам посмотреть какие пины у esp8266 для чего можно использовать. Вам скорее всего конечно будет ждать уныние, так как половина пинов неюзабельна для половины задач. А перепутаны кнопки у вас так как вы скорее всего перепутали строки и столбцы
Ок, приму Вашу точку зрения... На какие пины подключать хотябы 7 из 8 выходов клавиатуры? Теории я и сам накидаю на полгода размышлений вперед. У Вас есть решение для подключения Клавиатуры 4х4 или 3х4 на WeMos D1?
 

Сергей_Ф

Moderator
Команда форума
@mackatgn посмотрите не Резистивная клавиатура, принцип работы, код из видео | arduinoLab
Это не готовое решение, а только путь.
На ЕСП только один аналоговый вход и надо развести сигналы с трех цифровых пинов - будет клава 3х4. Но делать придется самому и схему (доды и резисторы) , и код.
Можно еще Далас по одному проводу повесить для снятия с охраны.
 
Последнее редактирование:

mackatgn

New member
Товарищи, все проще. Наверное не так объясняю... но вот, во вложении картинка, только у меня не УНО, а WeMos D1 R2 (не WeMos мини), а именно D1 R2. точь в точь, как уно по портам и размерам.
Вот просто в эти порты, таким образом и хочу подключить.
 

Вложения

Сверху Снизу