Ложные срабатывания кнопки
- Войдите на сайт для отправки комментариев
Доброго времени суток
Возникла проблема при подключении геймпада PS2 к ArduinoUno: мной была собрана схема и написана программа, выводящая на экран (мониторинг порта) оповещения о нажатии различных кнопок. После запуска скетча на плате Arduino начинает мигать аппаратный вывод TX и считывать случайные сигналы, принимаемые за нажатия кнопок. Геймпад, при этом, подключен к схеме, но выключен.
- Значения (analogRead) ложных нажатий и контролируемых мной - одинаковы
- Триггера Шмидта в наличии нет
На PSB_RED ложные нажатия практически отсутствуют
На PSB_PINK нажатий больше
На схеме указана плата и приёмник сигнала (беспроводной геймпад)
Примечания:
1. Источник питания на схеме не показан - Arduino подключена к компьютеру
2. Код включает фрагменты управления шаговыми двигателями, прошу не обращать на это внимания, так как это не касается проблемы
#include <PS2X_lib.h> #include <AccelStepper.h> PS2X ps2x; byte Type = 0; byte vibrate = 0; int RX=0,RY=0,LX=0,LY=0; AccelStepper Stepper1(1,13,12); const int fan = 9; void setup(){ Serial.begin(9600); pinMode(fan,OUTPUT); Stepper1.setMaxSpeed(3000); Stepper1.setAcceleration(13000); ps2x.config_gamepad(3,6,5,7, true, true); Type = ps2x.readType(); } void loop(){ analogWrite(fan,255); ps2x.read_gamepad(false, vibrate); if(ps2x.NewButtonState()) { if (ps2x.Button(PSB_RED)){ Serial.println(PSB_RED); } if (ps2x.Button(PSB_PINK)){ Serial.println(PSB_RED); } } }
Может геймпад неисправен? Проверяли?
Как это можно проверить?
Во включенном состоянии реагирует на контролируемые нажатия кнопок - выводит оповещения в мониторинг порта, то есть, геймпад работает как нужно, но к моим нажатиям кнопок добавляются ложные.
Мне кажется, если проблема и есть, то она в приемнике сигнала. Возможно, она должна решаться как и дребезг - с помощью подтягивающего резистора, но я не знаю как его подключить и будет ли это правильным решением.
Поэтому жду мнения и советов :)
- Триггера Шмидта в наличии нет
Не?
Закажи с али 74hc14, копейки стоит...