Помощь с калькулятором на ардуино
- Войдите на сайт для отправки комментариев
Доброго времени суток! Несколько дней уже пытаюсь понять в чём проблема моего проэкта - решил написать сюда, т. к. нужен совет профессионалов. Обо всём по порядку:
Я купил вот такой аналог ардуино на али: https://ru.aliexpress.com/item/WAVGAT-UNO-R3-CH340G-MEGA328P-Arduino-UNO/32877460592.html?spm=a2g0s.9042311.0.0.388e33edSs6Llg
Затем вот такой довольно стандартный экран с уже припаяным I2C-переходником: https://ru.aliexpress.com/item/1PCS-LCD-module-Blue-screen-IIC-I2C-1602-for-arduino-1602-LCD-UNO-r3-mega2560/32763867041.html?spm=a2g0s.9042311.0.0.388e33edSs6Llg
И наконец клавиатура с аналоговым выходом: https://ru.aliexpress.com/item/Button-Keypad-module-4x4-Analog-pin-connection/32635207928.html?spm=a2g0s.9042311.0.0.388e33edSs6Llg
С экраном проблем не возникло. Подключил по вот-такой схеме:
Дальше подключил клавиатуру вот-так:
Теперь к сути проблемы. Аналоговый вход должен выдавать значение от 0 до 1023. С другой стороны клавиатуры есть таблица значений нажатых клавиш от 0 до 1023(есть на странице на али). Питаю как и нада от 5 вольт. Сама плата питается от USB компа. Но у меня если я подключаю только клавиатуру(без экрана) для разных клавиш значения разбегаються от 1000 с копейками до 4000 с копейками, но при этом каждая клавиша имеет индивидуальное значение, а когда ни одна не нажата - считывается 0. Но только стоит подключить дисплэй, как значение нажатых клавиш начинают совпадать, а когда ни одна не нажата - выскакивает рандомное значение около 610. Как мне решить данную проблему и заставить работать клавиатуру одновременно с экраном? Буду благодарен за дельные советы.
Посмотрите осциллографом, что у Вас происходит на шине 5 В.
Плата Wavgat?
Посмотрите осциллографом, что у Вас происходит на шине 5 В.
К сожелению нету в хозяйстве.
Плата Wavgat?
Да, бросил же ссылку.
С вавгатом еще и не такое может быть.
С вавгатом еще и не такое может быть.
Значит я лоханулся по полной, купив эту плату?
Кто ж знает. Сверху строка поиска, наберите wavgat. Почитаете, сами решите.
Кто ж знает. Сверху строка поиска, наберите wavgat. Почитаете, сами решите.
Хорошо, про качество платы я понял... А вот в моем конкретном случае можете посоветовать как можна хотябы попытатся заставить это чудо работать. Я готов к костылям и велосипедам. Я в этом деле новичок и уверен, что не знаю еще многих аспектов. Может Вы сталкивались с подобной проблемой?
Приведите ваш скетч. Может там чего не так...
Я - нет. В темах по вавату объяснено, почему там значения разбегаются и всё такое. А вот хватит ли нервов разобраться с этим - вопрос, конечно.
Приведите ваш скетч. Может там чего не так...
Свой скетч я множество раз переписывал, удалял и снова создавал(да-да, я такой), но базировался на тестовом скетче, предоставленым изготовителем клавиатуры и уже здесь ни черта не работало так, как заверяют автора(даже без дисплэя, чисто с клавиатурой и ардуионо, я хоть и получал более-менее стабильную роботу, но значения в таблице на целую голову отличались от данных в таблице). Вот скетч, который я использувал для совмещение роботы клавиатуры и экрана:
Кто ж знает. Сверху строка поиска, наберите wavgat. Почитаете, сами решите.
Хорошо, про качество платы я понял... А вот в моем конкретном случае можете посоветовать как можна хотябы попытатся заставить это чудо работать. Я готов к костылям и велосипедам. Я в этом деле новичок и уверен, что не знаю еще многих аспектов. Может Вы сталкивались с подобной проблемой?
в ссылке на плату wavgat (внизу) есть описание как поставит аддон на эту плату, там же и ссылка на сам аддон.
в IDE есть вавгат ?
Кто ж знает. Сверху строка поиска, наберите wavgat. Почитаете, сами решите.
Хорошо, про качество платы я понял... А вот в моем конкретном случае можете посоветовать как можна хотябы попытатся заставить это чудо работать. Я готов к костылям и велосипедам. Я в этом деле новичок и уверен, что не знаю еще многих аспектов. Может Вы сталкивались с подобной проблемой?
в ссылке на плату wavgat (внизу) есть описание как поставит аддон на эту плату, там же и ссылка на сам аддон.
Да это, батюшка не аддон, а огромное кол-во кода, написаного в целях "заставить Arduino IDE работать с этой китайской подделкой". Его я поставил. Без него даже не определяется сие чудо-чуднее и уж тем более без этого кода и библиотек(которые дает производитель) невозможно банально залить самый простый скетч. М-да... Боюсь мне остается идти на конференцию по китайской эклектронике и программированию на тему "Как структурировать дерьмо, чтобы оно не разтекалось". Уже жалею, что сэкономил и не купил оригинальную ардуинку... Спасибо, что хотябы пытаетесь помочь.
в IDE есть вавгат ?
Так точно, капитан. Первым делом сделал после покупки.
у меня опять свободный вечер :)
вавгат есть только в версии нано, могу зацепить патанциометр на А0 и посмотреть чяВо выводит
надо ?
у меня опять свободный вечер :)
вавгат есть только в версии нано, могу зацепить патанциометр на А0 и посмотреть чяВо выводит
надо ?
Буду благодарен. Возможно это не баг, а фича))) Может сможем с вами найти закономерности этих чудес в мире електроники. А я пока попытаюсь к другим пинам присобачить клавиатуру.
ожидайте ...
ожидайте ...
Вас понял, жду с нетерпением.
ожидайте ...
Вас понял, жду с нетерпением.
такс...
а вавгат то даже не распаянный!
ща гребенки напаяю....
Нашел кстати новую закономерность:
Оказвывается с напряжением предпологаймо все хорошо, более-менее стабильная работа есть, если просто отключить провода для вывода информации на экран(даже не трогая питания и землю модуля). Может данные идущие к дисплею создают помехи для клавиатуры? Я понимаю, что звучит как бред, но возможно там дорожки немного пересекаются на плате либо некачественные. Может мне как-то на обычные пины попытатся присобачить клавиатуру(если это возможно)?
с перемеником у меня все нормально!
чип и три положения:
с перемеником у меня все нормально!
чип и три положения:
Тогда у меня вопрос: что у вас нормально работает, если функция analogRead() должна возвращать значение от 0 до 1023? Но это в теории. Смотря на результаты вашего эксперимента, можно заявить, что у меня похожая ситуация, но если я подключаю кроме А0(клавиатуры) пины А4 и А5 к экрану, то получаю сказочные результаты которые будто-бы домножаються на рандомный коэффициент, в следствии чего невозможно определить какая кнопка на клавиатуре с аналоговым выходом нажата... Что-то вопросов становится все больше, а ответов не прибавляется... До чего же сложно жить в этом мире...
батенька, так вы про этот чип ничего не знаете ?
ацп 12 бит и тактовая 32мГц ?
надо 0-1024
батенька, так вы про этот чип ничего не знаете ?
ацп 12 бит и тактовая 32мГц ?
Вы меня раскусили... Полный новачок и про чип почти ничего не знаю. Нашёл себе проблем, не знал как решить - написал сюда. Ещё раз убедился в том, что дурак-дураком, денег на нормальную ардуинку не осталось, а проект нужно доделать чем скорее... До этого работал только с обычной ардуинкой оригинальной. Решил сэкономить и плохо вчитался в описание. Теперь не знаю что и поделать, ведь знаний моих недостаточно по ходу дела, чтобы воплотить в жизнь чёртов калькулятор с несколькими полезными для меня функциями...
извиняюсь 0-1023...
фото давайте, как и чем там у вас все подключено
может и найдем чего
извиняюсь 0-1023...
Спасибо за совет. Попытаюсь завтра розобраться с данной функцией, т. к. у меня уже пол первого, а завтра утром вставать рано. Пойду отосплюсь, надеюсь завтра всё доделаю. Спасибо за подсказку в каком направлении копать.
дык у меня пол второго уже :) удачи!
фото давайте, как и чем там у вас все подключено
может и найдем чего
Ну что ж, функцию analogReadResolution() юзнул, числа стали болле адекватными, но ситуация не изменилась в корне. Если экран не подключен, то значение хоть и отличаються от табличных, зато хотябы стабильны и можна без проблем с помощью кода определять кнопки. Подключаю экран и всё. Вместо 0(когда не нажата ни одна кнопка), я получаю значение около 153-158. Предоставляю скетч и фотки, а схемы смотрите выше:
Архив с фотографиями и даже видео(77мб): https://drive.google.com/open?id=1HdtsvQRu0b4W1bZaXcQZNCSMFQlwsWRZ
Как добится стабльной роботы сиего чуда?
80 метров я качать конечно не собираюсь, но попробуйте питание дисплея подключить к отдельному источнику. Больно симптомы на нестабильное напряжение смахивают.
80 метров я качать конечно не собираюсь, но попробуйте питание дисплея подключить к отдельному источнику. Больно симптомы на нестабильное напряжение смахивают.
Был бы у меня ещё один источник кроме питание по usb. Есть ещё аккумулятор, но 9V как-то многовато, чтобы напрямую подключить. Если вам не трудно, то скажите какое должно быть общее сопротивление резисторов, чтобы превратить 9 вольт в 5?
Чтобы превратить 9в в 5в нужна КРЕН5, али другой стабилизатор. Тестер есть в хозяйстве?
Чтобы превратить 9в в 5в нужна КРЕН5, али другой стабилизатор. Тестер есть в хозяйстве?
Да нет, к сожалению...
Обзаводитесь, либо бросайте это дело. Без замеров, это гадание на кофейной гуще и танцы с бубном. ИМХО.
Обзаводитесь, либо бросайте это дело. Без замеров, это гадание на кофейной гуще и танцы с бубном. ИМХО.
Я понял. Спасибо.
Может и не при чём... попробуйте исключить из соединений отладочную плату. Белую.
Может и не при чём... попробуйте исключить из соединений отладочную плату. Белую.
Спасибо за совет... К сожалению не помогло :(
Лана, еще одна простенькая проверка, отключите подсветку на дисплее и посмотрите, что получится.
Лана, еще одна простенькая проверка, отключите подсветку на дисплее и посмотрите, что получится.
Увы, ничего не изменилось.
Батарейка на 9В + LМ7805 (смотреть гуголь-картинки) мошт тебя и спасёть.
Ребята, я не пьян, но что-то произошло за граней моего понимания: я просто подключил две кнопки к плате(деже не програмирывал) по стандартной схеме(с резистором на 1кОм к земле) и вуаля: клавиатура заработала более-менее нормально. Конечно значение с табличными не совпадают ни черта, но теперь хоть запрограммировать это дело можно адекватно. Теперь если ни одна кнопка не нажата, то значение скачет 0-1, а каждая кнопка имеет индивидуальное значение по котрой её можна определить. Может среди вас, форумчан, какой-то экстрасенс удаленно помог?))))
Вообщем, спасибо всем кто помогал танцевать с бубном, подпевал мелодию и иногда в него бил. Прекрасное место оказывается arduino.ru. Еще раз всем спасибо. Уж не знаю что именно помогло, но вроди работает. Продолжу шаманить для превращение этого чуда в калькулятор.
А тестер, все равно, купите.))))
А тестер, все равно, купите.))))
Разумеется... Обязательно куплю. Еще раз спасибо за советы.
Если кому-то еще интересно, то выглядит все это дело примерно вот так: https://drive.google.com/open?id=1BMqd8hEyE0XWZAR7gSImyE5ilsmJtrn8 (11Mb). В архиве фотки этого чуда.
С другой стороны клавиатуры есть таблица значений нажатых клавиш от 0 до 1023(есть на странице на али). Питаю как и нада от 5 вольт.
Это плата не 5-вольтовая, и подавать ей на аналоговый вход 5 вольт НЕ надо. Переключите на 3,3.
Контакт подозрительный.
С другой стороны клавиатуры есть таблица значений нажатых клавиш от 0 до 1023(есть на странице на али). Питаю как и нада от 5 вольт.
Это плата не 5-вольтовая, и подавать ей на аналоговый вход 5 вольт НЕ надо. Переключите на 3,3.
А как же надпись с обратной стороны о 5V. Перейдите по ссылке на клавиатуру на алике с самого первого сообщения. Там на фото с обратной стороны написаны значения клавиш при питании в 5V.
Контакт подозрительный.
Ну вроди работает. Там дополнительные контакты на 5V и GND если стандартных не заватает. (да-да, я прекрасно понимаю, что используя макетную плату можна и 10 модулей к одному пину подключить)
когда ТС указал вчанале что значения скачут от 1000 до 4000 ,сразу подумалось что байты перевернуты .это обьяснило бы рандомность.
ТС , поменять местами (программно) верхний и нижний байты можете ? в переменной sensorValue
и затем вывести результат