Академический Документы
Профессиональный Документы
Культура Документы
:
Arduino trabaja a nivel de byte, entonces tenemos 8 bits
se utilizaran
x = 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 posicin
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-----------------------------------------------------------------------------------0
0
0
0
0
0
0
0
Siendo 0 mi resultado, lo que significa que el primer led no se
enciende
Luego entro a mi switch para ver a que led pertenece
switch (c)
{
case 1:
if(x==1){digitalWrite(PPin1,HIGH);}
if(x==0){digitalWrite(PPin1,LOW);}
break;
case 2:
if(x==1){digitalWrite(PPin2,HIGH);}
if(x==0){digitalWrite(PPin2,LOW);}
break;
case 3:
if(x==1){digitalWrite(PPin3,HIGH);}
if(x==0){digitalWrite(PPin3,LOW);}
break;
case 4:
if(x==1){digitalWrite(PPin4,HIGH);}
if(x==0){digitalWrite(PPin4,LOW);}
break;
default: break;
}
c++;
si observa bien es un proceso que debo repetir 4 veces entonces utilizo un
for para que me gire 4 veces
en la segunda iteracin tengo
0
0
0
1
2
1
1
0
Realizando la operacion logica tengo
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
-----------------------------------------------------------------------------------0
0
0
0
0
0
0
1
Siendo 1 mi resultado, lo que significa que el cuarto led se
enciende
Entonces obtengo el siguiente resultado
led1=apagado
led2=apagado
led3=encendido
led4=encendido