Go Down

Topic: Consejo en un código, Flip Flop tipo T (Read 1 time) previous topic - next topic

Siel347

Hola, estoy tratando de implementar un flip flop tipo T, es mi primer código en arduino, he programado en c++ antes asi que traté de asociarlo, pero no funciona, el led se queda ahi titilando, alguna idea ????

acá el código http://pastebin.com/BGhBMCjs

ionhs

Pedazo código que has escrito para un simple toggle  :D

yo creo que hay un problema con la lectura del pulsador, sin el esquema eléctrico no se exactamente como tienes montado la lectura del botón. Si el programa solo consiste en cambiar el estado de una salida según un pulsador, el programa tiene que estar leyendo todo el rato el estado de ese pulsador. MIs alumnos suelen hacerlo así
Code: [Select]

Main(){
if ((digitalRead(3) == HIGH))
  {
    delay(20);
    if ((digitalRead(3) == LOW))
    {
    }
  }
}


No está muy optimizado pero es efectivo y fácil de comprender. Respecto al delay(20) es para evitar rebotes que genera el pulsador al pulsarse.

Yo creo que es más optimo usar un while en vez de 2 if, de esta manera está dentro del while hasta que se pulsa el botón.

Por otra parte para un toggle miraría Bitwise NOT (~) porque al fin y al cabo lo que tienes que hacer es cambiar de estado 2 salidas cuando se pulse el botón. No lo he probado pero de esta manera debería de salir un código minusculo. Salu2 y suerte

Siel347


Pedazo código que has escrito para un simple toggle  :D

yo creo que hay un problema con la lectura del pulsador, sin el esquema eléctrico no se exactamente como tienes montado la lectura del botón. Si el programa solo consiste en cambiar el estado de una salida según un pulsador, el programa tiene que estar leyendo todo el rato el estado de ese pulsador. MIs alumnos suelen hacerlo así
Code: [Select]

Main(){
if ((digitalRead(3) == HIGH))
  {
    delay(20);
    if ((digitalRead(3) == LOW))
    {
    }
  }
}


No está muy optimizado pero es efectivo y fácil de comprender. Respecto al delay(20) es para evitar rebotes que genera el pulsador al pulsarse.

Yo creo que es más optimo usar un while en vez de 2 if, de esta manera está dentro del while hasta que se pulsa el botón.

Por otra parte para un toggle miraría Bitwise NOT (~) porque al fin y al cabo lo que tienes que hacer es cambiar de estado 2 salidas cuando se pulse el botón. No lo he probado pero de esta manera debería de salir un código minusculo. Salu2 y suerte


Muchas gracias por tus consejos, la verdad no mire ningun tutorial, me tiré al agua e iba creando tantas variables como creia que hacian falta, voy a ver si logro terminarlo :)

Go Up