Помощь с калькулятором на ардуино

Feofan
Offline
Зарегистрирован: 28.05.2017

Sklyanskiy пишет:
Ну вроди работает.
Выглядит весьма не надёжно. Но если входит туго, то ой. Рядом, на штырьках, предположительно, должно быть +5v.

Sklyanskiy
Offline
Зарегистрирован: 25.03.2019

mixail844 пишет:

когда ТС указал вчанале что значения скачут от 1000 до 4000 ,сразу подумалось что байты перевернуты .это обьяснило бы рандомность.

ТС , поменять местами (программно) верхний и нижний байты можете ? в переменной sensorValue

и затем вывести результат


Не очень понял вашу мысль. То есть вы хотите сказать, что когда реальное значение должно быть 1023, то я получаю с аналогового пина 3021?

Sklyanskiy
Offline
Зарегистрирован: 25.03.2019

Feofan пишет:

Sklyanskiy пишет:
Ну вроди работает.
Выглядит весьма не надёжно. Но если входит туго, то ой. Рядом, на штырьках, предположительно, должно быть +5v.


Я знаю. Это уже рассчитано, чтобы припаять, но пока у меня постоянные бешеные експерименты, то не припаиваю, чтобы не перепаявать каждых 5 минут. Надёжные пины по +5 вольт занял уже, так что для експеримента на несколько секунд и так сойдёт.

bwn
Offline
Зарегистрирован: 25.08.2014

Sklyanskiy пишет:
Надёжные пины по +5 вольт занял уже, так что для експеримента на несколько секунд и так сойдёт.

А потом будете думать, почему значения скачут? ((((

Sklyanskiy
Offline
Зарегистрирован: 25.03.2019

bwn пишет:

Sklyanskiy пишет:
Надёжные пины по +5 вольт занял уже, так что для експеримента на несколько секунд и так сойдёт.

А потом будете думать, почему значения скачут? ((((


Вообще-то к не надёжным пинам я присоединил кнопки, а сама клавиатура присоеденина к надёжным пинам. Да и вообще-то если не дышать, стол не двигать и не совать туда-сюда, то контакт нормальный.

Sklyanskiy
Offline
Зарегистрирован: 25.03.2019

Да это капец. Отошел на 5 минут. ВОзвращаюсь - опять не работает. Когда ни одна кнопка не нажата выводится значение 150-170. Что-то плохи дела...

mixail844
Offline
Зарегистрирован: 30.04.2012

Sklyanskiy пишет:
mixail844 пишет:

когда ТС указал вчанале что значения скачут от 1000 до 4000 ,сразу подумалось что байты перевернуты .это обьяснило бы рандомность.

ТС , поменять местами (программно) верхний и нижний байты можете ? в переменной sensorValue

и затем вывести результат

Не очень понял вашу мысль. То есть вы хотите сказать, что когда реальное значение должно быть 1023, то я получаю с аналогового пина 3021?

не совсем так ,но в общих чератх да ,например вы считаываете число 15 , что в 16-ти ричной системе исчисления равно 0x000F . и теперь представте что где то в библиотеках ардуино , а может и в самом железе это значение записываеться/считывается как 0x0F00 что в десятичной системе равно  3840. а поскол-ку все это сохраняеться в переменной типа int то все число остается в таком виде ( то есть верхние биты не обнуляются)

Sklyanskiy
Offline
Зарегистрирован: 25.03.2019

mixail844 пишет:

Sklyanskiy пишет:
mixail844 пишет:

когда ТС указал вчанале что значения скачут от 1000 до 4000 ,сразу подумалось что байты перевернуты .это обьяснило бы рандомность.

ТС , поменять местами (программно) верхний и нижний байты можете ? в переменной sensorValue

и затем вывести результат

Не очень понял вашу мысль. То есть вы хотите сказать, что когда реальное значение должно быть 1023, то я получаю с аналогового пина 3021?

не совсем так ,но в общих чератх да ,например вы считаываете число 15 , что в 16-ти ричной системе исчисления равно 0x000F . и теперь представте что где то в библиотеках ардуино , а может и в самом железе это значение записываеться/считывается как 0x0F00 что в десятичной системе равно  3840. а поскол-ку все это сохраняеться в переменной типа int то все число остается в таком виде ( то есть верхние биты не обнуляются)

Я понял, Вы настроились уже на высший пилотаж, но я пытаюсь не искать трудных путей(хотя и легких не ищу). Вообщем, я использовал внутри функции 

start()

 очень удобную функцию 

analogReadResolution(10);

 и это дало мне то, что теперь значение всегда находиться в диапазоне 0...1023. Еще я начал давать плате 3.3V вместо 5V(5 рекоммендувал изготовитель) и у меня оно заработала так как надо, переподключил экран и появилась не большая погрешность на 1-2 единицы, но это не страшно и исправляеться програмно. Что же пишу функцию определения нажатой клавиши и можна делать настоящий калькулятор для V.I.P. с microSD на 4ГБ и управлением через bluetooth, так что уже анонсирую свою следующую тему "Помогите дураку с HC-06". В общем, пытаюсь разнообразить свою скучную жизнь так сильно как только могу. :)

Но совместными усилиями всех форумчан, кто отклинулся на помочь, удалось меня дурака хоть чему-то научить, а клавиатура работает как часы :) Всем ОГРОМНОЕ спасибо!