Ложные срабатывания кнопки

kadnedir
Offline
Зарегистрирован: 07.03.2020

Доброго времени суток
Возникла проблема при подключении геймпада 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);
       }
  } 
}

 

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Может геймпад неисправен? Проверяли?

kadnedir
Offline
Зарегистрирован: 07.03.2020

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

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

Поэтому жду мнения и советов :)

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

kadnedir пишет:

- Триггера Шмидта в наличии нет

Не?

Закажи с али 74hc14, копейки стоит...