Go Down

Topic: [solucionado] error de programacion (Read 94 times) previous topic - next topic

omarnieto4

May 17, 2017, 03:51 pm Last Edit: May 21, 2017, 02:04 pm by omarnieto4
hola a todos soy nuevo trabajando con arduino tengo un arduino UNO, he programado mi placa de forma sencilla para experimentar con entradas digitales y he notado que después de un tiempo cuando se iluminan los led que indican estado alto de las salidas programadas (estoy usando el pin 3 como salida) a su vez prende un led de la tarjeta el cual parpadea unos segundos después (en este programa son 20 seg aproximadamente) y se apaga lo cual pone en LOW mi salida pero la orden en programación es que apaga cuando presiono el pulsador2 hay les dejo el sketch que estoy usando para que por favor me ayuden ya que creo que me falta algo que evita mi situación
Muchas Gracias de antemano.


Code: [Select]
int buttonPin1 = 2; //Start button
int buttonPin2 = 4; //Stop button
int ledPin = 3; int buttonStatus1 = 0;
int buttonStatus2 = 0;

void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
}

void loop() {
buttonStatus1 = digitalRead(buttonPin1);
buttonStatus2 = digitalRead(buttonPin2);

//Check(==) if the first button(START) is HIGH, AND(&&) the second button (STOP) is LOW, if yes turn the LED on.

if (buttonStatus1 == HIGH && buttonStatus2 == LOW)
{ digitalWrite(ledPin, HIGH); }

//Check(==) if the first button (START) is LOW, AND(&&) the second button (STOP is HIGH, if yes turn the LED off.

if (buttonStatus1 == LOW && buttonStatus2 == HIGH)
{digitalWrite (ledPin, LOW); } }

surbyte

Y los pulsadores como estan conectados?
No dices nada de eso y es muy importante.
Tienes una resistencia pull-down

Busca en google: arduino pull-down y luego imagenes y verás como se conecta.

Pulsador a 5V, el otro extremo al pin de entrada y a la R de 10k. EL otro extremo de la R a GND.

Si eso esta asi, debería funcionar bien, si no, es lódico que tengas comportamientos raros.

omarnieto4

hola buen día gracias por el consejo y por compartir sus conocimientos y dedicarnos su valioso tiempo, disculpen me falto esa información, cada entrada la tengo conectada con una resistencia de pull-down de 10k y esta conectado como me explicaste pero el problema esta presente. muchas gracias 

surbyte

Tienes pulsadores o interruptores?
Con pulsadores eso no funciona. Con interruptores si.
Mejor dicho, funcionar funciona con ambos, pero para ver los cambios, necesitas el interruptor.


Hice unos cambios menores que no cambian tu logica porque estaba bien.

Code: [Select]
const byte buttonPin1  = 2; //Start button
const byte buttonPin2  = 4; //Stop button
const byte ledPin      = 3;

bool buttonStatus1 = false;
bool buttonStatus2 = false;

void setup() {
    pinMode(ledPin, OUTPUT);
    pinMode(buttonPin1, INPUT);
    pinMode(buttonPin2, INPUT);
}

void loop() {
    buttonStatus1 = digitalRead(buttonPin1);
    buttonStatus2 = digitalRead(buttonPin2);

    //Check(==) if the first button(START) is HIGH, AND(&&) the second button (STOP) is LOW, if yes turn the LED on.

    if (buttonStatus1 && !buttonStatus2) {
        digitalWrite(ledPin, HIGH);
      }

    //Check(==) if the first button (START) is LOW, AND(&&) the second button (STOP is HIGH, if yes turn the LED off.

    if (!buttonStatus1 && buttonStatus2) {
        digitalWrite (ledPin, LOW);
    }
}

omarnieto4

Hola buenas noches gracias por su valioso tiempo, ya descubrí que ocurre.
Estoy alimentando mi arduino uno por puerto USB y me produce el error, hice lo siguiente desconecte mi placa arduino el cable USB y lo conecte con un adaptador de voltaje y dejo el error muchas gracias por su gran aporte.

Go Up