Upload
jose-alberto-ramirez-ramirez
View
213
Download
0
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