ARDUINO BINARIO

Embed Size (px)

Citation preview

  • 8/19/2019 ARDUINO BINARIO

    1/4

    Explico un poco. :

    Arduino trabaja a nivel de byte, entonces tenemos 8 bits

    Como el ejercicio se restringe a 4 bits solo usaremos los 4 bits menossignifcativos

    No se usaran se utiliaran

    Entonces los n!meros "ue nos piden construir son

    #: ####$: ###$%: ##$#&: ##$$

    '.$(: $$$$

    )asta a"u* todo claro++++

    Entonces si "ueremos representar en los leds el numero &, entonces&##$$-o "ue implica "ue:

    led$apagadoled%apagadoled&encendido

    led4encendido

    entonces almacenamos el & en nuestro byte# # # # # # $ $

    Nota: las casillas en rojo se llenan con # debido a normas de programacin.Entonces necesito sacar los valores para encender los leds

    /rimero veo las posiciones del vector y como puedo acceder a un byte# # # # # # $ $0 ( 1 4 & % $ #

    posiciones

    Entonces para obtener el primer valor "ue en este caso es # 2ago losiguiente

    # # # # # # $ $  &

    Siendo b el byte

    int x = b >> 3 //¿Por qué x es int? R: por estrategias de programación

    ya que transformara el byte en su valor decimal

    lo que hace esta instrucción es recorrer tres puestos el vector# # # # # # # #

  • 8/19/2019 ARDUINO BINARIO

    2/4

  • 8/19/2019 ARDUINO BINARIO

    3/4

    3ealio una operacin lgicax = x & 1;

    lo que hace es: eliminar los bits en las posiciones 7 al 1 del byte, menos el primer bit

    osea el de a posicion 0, que es el que posicione anteriormente en la primera posición

    # # # # # # # ## # # # # # # $

    # # # # # # # #

     5iendo # mi resultado, lo "ue signifca "ue el primer led no seenciende

    -uego entro a mi s6itc2 para ver a "ue led pertenece

    s6itc2 7c

    9  case $:  i7x$9digital;rite7//in$,)?  i7x#9digital;rite7//in$,-@;>?

    brea>  case %:  i7x$9digital;rite7//in%,)?  i7x#9digital;rite7//in%,-@;>?  brea>  case &:  i7x$9digital;rite7//in&,)?  i7x#9digital;rite7//in&,-@;>?  brea>  case 4:  i7x$9digital;rite7//in4,)?  i7x#9digital;rite7//in4,-@;>?  brea>  deault: brea>  ?  cBB>

    si observa bien es un proceso "ue debo repetir 4 veces' entonces utilio un

    or para "ue me gire 4 veces

    en la segunda iteracin tengo# # # # # # $ $

      %3ealiando la operaion logica tengo

    # # # # # # # ## # # # # # # $

    # # # # # # # #

     5iendo # mi resultado lo "ue signifca "ue el segundo led no seenciende

  • 8/19/2019 ARDUINO BINARIO

    4/4

    En la tercera iteracin tengo

    # # # # # # $ $  $3ealiando la operaion logica tengo

    # # # # # # # $# # # # # # # $

    # # # # # # # $

     5iendo $ mi resultado, lo "ue signifca "ue el tercer led seenciende

    En la ultima iteracin tengo

    # # # # # # $ $

     #3ealiando la operacion logica tengo

    # # # # # # $ $# # # # # # # $

    # # # # # # # $

     5iendo $ mi resultado, lo "ue signifca "ue el cuarto led seenciende

    Entonces obtengo el siguiente resultadoled$apagadoled%apagadoled&encendidoled4encendido