int led[4]={0,0,0,0}; void InicializarLed() { int i; poke(0x1009, 0x3c); poke(0x1008, 0b00000000); } void AcenderLed(int num) { led[num] = 1; AtualizarLeds(); } void ApagarLed(int num) { led[num] = 0; AtualizarLeds(); } void AtualizarLeds() { int valor=0; int tmp=0; int i; for(i = 0; i < 4; i++) { tmp = led[i] << (i+2) ; valor=valor|tmp; } poke(0x1008, valor); } /* int SelecionaAcao() { float maxesc[]={64.0, 8.6}; int opcoes[]={0,0}, i=0, opcaoant=-1, mudou=0; char Acao[4][13]; Acao[0]="Esq. 90 Graus"; Acao[1]="Dir. 90 Graus"; Acao[2]="Pare"; Acao[3]="Frente X segs"; sleep(.2); while(1) { opcoes[i]=(int)((float)knob()/maxesc[i]); if ((opcoes[i]!=opcaoant)&&(i==0)) { printf("Acao: %d - %s \n", opcoes[i]+1, Acao[opcoes[i]]); } if ((((opcoes[i]!=opcaoant)&& (i==1)) || (mudou==1))&&(opcoes[0]==3)) { printf("Frente %d segs \n", (int)((float)knob()/maxesc[i]); mudou=0; } if (start_button()) { i++; mudou=1; sleep(0.1); } if (i==1) { if (opcoes[0]!=3) return (opcao); } if (i==2) { SIGA_TEMPO= (int)((float)knob()/maxesc[i]); return (opcao); } opcaoant=opcoes[i]; sleep(.1); } return; } */ void AcendeApaga(int num, float espera) { AcenderLed(num); sleep(espera); ApagarLed(num); } /* printf("Vr:%d Am:%d Az:%d Vm:%d \n", cor[0],cor[1],cor[2],cor[3]);*/ void SequenciaPadrao(float espera) { int i,j; InicializarLed(); for(j = 0; j < 4; j++) for(i = 0; i < 4; i++) { AcendeApaga(i,espera); } } void SeqAleatoria(float espera) { while(!stop_button()) { AcendeApaga(random(4),espera); } } void TestaGerada(int posicao[4],int i) { int j; for ( j=0; j