Ошибка В Оси Y arduino joystick
- Войдите на сайт для отправки комментариев
Пнд, 15/11/2021 - 20:42
Ошибка В Оси Y arduino joystick
В общем я новичок в "Arduino", и хотел сделать простой проект:
Есть 4 светлодиода, расположенные навхрест и есть джойстик, когда ми отводим его вверх, то горит верхний зеленный светлодиод, вниз - синий нижний, влево - желтый слева, вправо - красный справа.
Ося Х работает нормально, а ося Y показывает 1015-1023. Как это можно решить? Вот код:
#define green 8 #define blue 9 #define yellow 10 #define red 11 #define x A1 #define y A2 void setup() { pinMode(x, INPUT); pinMode(y, INPUT); pinMode(green, OUTPUT); pinMode(blue, OUTPUT); pinMode(yellow, OUTPUT); pinMode(red, OUTPUT); Serial.begin(9600); digitalWrite(red, 0); digitalWrite(green, 0); digitalWrite(yellow, 0); digitalWrite(blue, 0); } void loop() { // Serial.println(analogRead(y)); Тест оси Y // delay(500); while (analogRead(x) < 400) { digitalWrite(green, 0); digitalWrite(blue, 0); digitalWrite(yellow, 1); digitalWrite(red, 0); Serial.println("LEFT"); delay(150); } while (analogRead(x) > 600) { digitalWrite(green, 0); digitalWrite(blue, 0); digitalWrite(yellow, 0); digitalWrite(red, 1); Serial.println("RIGHT"); delay(150); } if (analogRead(y) < 400) { digitalWrite(blue, 1); digitalWrite(yellow, 0); digitalWrite(red, 0); digitalWrite(green, 0); Serial.println("DOWN"); delay(150); } else if (analogRead(y) > 600) { digitalWrite(blue, 0); digitalWrite(yellow, 0); digitalWrite(red, 0); digitalWrite(green, 1); Serial.println("UP"); delay(150); } }
Для начала поменяйте местами оси джойстика - узнаете, проблема аппаратная или программная.
Меняю оси местами - и в Х и в Y появляеться проблема
?
Померяйте сопротивление выхода Y относительно земли и питания в нулевом положении. Должно быть одинаковое.
Скорее всего резистор сломанный.
На другой аналоговый пин попробуйте повесить А2(у).
не работает :(
винимаю землю: показывает 1023 по Х, вставляю обратно: 1023 по Y
Попробуйте токоограничивающие резисторы поставить на Х и У.
на 5V?
зачем?
какое сопротевление?
на минус всего модуля джойстика?
Со схемой разберитесь.
?
В чём проблема как исправить эту ошибку?
Больше ничего не надо
Схему подключения и обозначения всех используемых элементов «в студию». Желательно со ссылками - где покупали.
ок, пойду сделаю схему
Меняю оси местами - и в Х и в Y появляеться проблема
Какая проблема?
Напишите подробно, в чем эта проблема проявляется.
Неужели Вы думаете, что одного слова "проблема" достаточно, чтобы поставить диагноз?
аналоговый выход в которой подключена ось Y всегда выдает значение от 1015-1023
Джойстик:
GND = -
+5V = +
VRX = A1
VRY = A3
И:
В коде А2, про А3 ни слова. На схеме они вообще не задействованы.
я А2 переключил на А3 по совету одного сверху, в коде потом тоже все изменил. Первый раз делал схему, не знаю как сдеать джойстик) его нет в списке компонентов.
Что за джойстик то? Секретная разработка НАТО?))
Все компоненты от сюда:
https://www.robostore.com.ua/ua/nabory-elektroniki-starter-kits/obuchayu...
«Отсюда» пишется слитно. У меня нет такого набора, как мне узнать что там за джойстик? Хоть по фото погугли чтоль.
Стандартный, дешевый джойстик. Ничего особенного
А тестером измерить напряжение, которое на ноги АЦП подаётся от Х и Y ? Как изменяется когда двигается джойстик?
нету тестера :(
аналоговый выход в которой подключена ось Y всегда выдает значение от 1015-1023
Если Вы пишете правду, то меняйте Ардуину - она неисправна.
я когда в тот же пин подключил ось Х, она работала. А Y поставил в другой пин, не работает :(
не в Ардуине дело
не в Ардуине дело
Да. Всё дело в том, что у тебя нету ни тестера, ни мозгов, ни желания что-либо исправить. "ПАМАГИТИ!!!" тут не работает
Нету тестера, берём батарейку. Плюсом к А1 А2 минусом к земле. Ардуина должна показать на обоих входах где то 300 с чем то. Если так, то ардуина не причём, или соединения не правильно или джойстик поломатый.
Батарейка с напряжением 1,5В !!! )
Всё верно. Показывает 311-312 на обох пинах
Меняйте джойстик. Что то не так у него с резистором по оси Y
что если я поставлю туда свой резистор?
Ладно забейте. Тему можно закрыть
нету тестера :(
Купите! И никак по-другому. Касается не только этой проблемы. А ещё миллиона будущих.
Ладно забейте. Тему можно закрыть
Обычно такой поворот означает, что Зоркий Глаз наконец заметил, что не туда провода подключал, ну или соплю в макетке пошевелил! :)