Ayuda, Help Arduino pro micro

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);
}
}

Moderador:
Bienvenido al foro arduino.
Tienes que editar el título y tu código.
El titulo no puede ser "Ayuda, Help Arduino pro micro" Elimina las palabras que tengan que ver con Ayuda porque el foro solo da eso, asi que pedirla esta de mas.
El código no se pega simplemente, debe postearse usando etiquetas para código.
Lee las normas del foro y hazlo adecuadamente.
Por favor, no sigas respondiendo al foro sin hacer estas modificaciones que te he pedido.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.