Hola, soy nuevo en este mundo y en realidad no pude configurar mi control de xbox usando arduino uso este codigo funciona excelente que estaba en youtube pero me canse de presionar dos botones al mismo tiempo para que se activara y desactivara y pues le añadi un pulsador extra para esa funcion, ahora quiero que funcione solo con un boton pero no logre intentarlo funcionar siempre queda activado cuando se presiona y cuando no esta presionado se descontrola, gracias
int L3 = A0;
int R3 = A1;
int RB = A3;
int LED = 9;
int cool = 0;
bool active = false;
bool oldOn = false;
void setup() {
pinMode(L3, INPUT);
pinMode(RB, INPUT);
pinMode(R3, INPUT);
pinMode(LED, OUTPUT);
Serial.begin(9600);
}
void loop()
{
int L3sig = analogRead(L3);
Serial.println(L3sig);
if (analogRead(L3) < 50 && analogRead(R3) < 50)
{
if (oldOn == false)
{
if (active == false)
{
active = true;
}
else
{
active = false;
}
oldOn = true;
delay(500);
}
}
else
{
oldOn = false;
}
pinMode(RB, INPUT);
int sig = analogRead(RB);
// THIS SHOULD FIX THE RANDOM SHOTS WHILE THE MOD IS ON
if (active == true)
{
pinMode(RB, OUTPUT);
analogWrite(RB, 1000);
delay(37.5);
pinMode(RB, INPUT);
delay(75);
}
if (active == true)
{
int chicken = 4;
}
else if (active == false)
{
pinMode(RB, INPUT);
}
else if (sig > 150 || sig == 0 && active == false)
{
pinMode(RB, INPUT);
}
}
En esta parte esta la opcion que quiero modificar pero no pude, aqui les muestro como lo hice
int L3 = A0;
int RB = A3; // aqui borre el otro boton
int LED = 9;
int cool = 0;
bool active = false;
bool oldOn = false;
void setup() {
pinMode(L3, INPUT);
pinMode(RB, INPUT); // aqui tambien lo borre
pinMode(LED, OUTPUT);
Serial.begin(9600);
}
void loop()
{
int L3sig = analogRead(L3);
Serial.println(L3sig);
if (analogRead(L3) < 50) // aqui borre la opcion que se presionen los dos botones
{
if (oldOn == false)
{
if (active == false)
{
active = true;
}
else
{
active = false;
}
oldOn = true;
delay(500);
}
}
else
{
oldOn = false;
}
pinMode(RB, INPUT);
int sig = analogRead(RB);
// THIS SHOULD FIX THE RANDOM SHOTS WHILE THE MOD IS ON
if (active == true)
{
pinMode(RB, OUTPUT);
analogWrite(RB, 1000);
delay(37.5);
pinMode(RB, INPUT);
delay(75);
}
if (active == true)
{
int chicken = 4;
}
else if (active == false)
{
pinMode(RB, INPUT);
}
else if (sig > 150 || sig == 0 && active == false)
{
pinMode(RB, INPUT);
}
}