//Primeiras linhas de código, trabalhando //com switch/case

//Mux control pins
int r0 = 2;
int r1 = 3;
int r2 = 4;

//int s0 = 2;
//int s1 = 3;
//int s2 = 4;


int saida = A0;

int t=50;
int x;

void setup()

{
pinMode(r0, OUTPUT);
pinMode(r1, OUTPUT);
pinMode(r2, OUTPUT);
pinMode(saida, OUTPUT);

digitalWrite(r0, LOW);
digitalWrite(r1, LOW);
digitalWrite(r2, LOW);
digitalWrite(saida, LOW);

Serial.begin(9600);


}

void loop()

{
for (x=0; x<8; x++)
{
toca();
}
for (x=7; x>=0; x--)
{
toca();
}
}
void toca()
{
switch (x)
{
case 0:
{
digitalWrite(r0, LOW);
digitalWrite(r1, LOW);
digitalWrite(r2, LOW);
}
break;
case 1:
{
digitalWrite(r0, HIGH);
digitalWrite(r1, LOW);
digitalWrite(r2, LOW);
}
break;
case 2:
{
digitalWrite(r0, LOW);
digitalWrite(r1, HIGH);
digitalWrite(r2, LOW);
}
break;
case 3:
{
digitalWrite(r0, HIGH);
digitalWrite(r1, HIGH);
digitalWrite(r2, LOW);
}
break;
case 4:
{
digitalWrite(r0, LOW);
digitalWrite(r1, LOW);
digitalWrite(r2, HIGH);
}
break;
case 5:
{
digitalWrite(r0, HIGH);
digitalWrite(r1, LOW);
digitalWrite(r2, HIGH);
}
break;
case 6:
{
digitalWrite(r0, LOW);
digitalWrite(r1, HIGH);
digitalWrite(r2, HIGH);
}
break;
case 7:
{
digitalWrite(r0, HIGH);
digitalWrite(r1, HIGH);
digitalWrite(r2, HIGH);
}
break;
}
digitalWrite(saida, HIGH);
delay(t);
digitalWrite(saida, LOW);
}

Exibições: 158

Comentar

Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!

Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)

Comentário de Jucelei Freitas em 1 junho 2014 às 19:24

Substitua todo o switch(x) {} por isso

digitalWrite(r0, x&0x01);
digitalWrite(r1, x&0x02);
digitalWrite(r2, x&0x04);

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço