void aferir (void) { unsigned short int i; unsigned short int T, L; unsigned short int temperatura, luminosidade; bool change; char msg [12]; // = "256,30,100 " (12) ou "65535,1024,1024;" (16char) piscaVermelho(); /////////////////////////////////////////////////// ADCON0bits.CHS=0b0000; //usa o AN0 para CONversao DS39626E-page 223 // AN0 = Termistor LM35 ADCON0bits.ADON=1; // liga o AD para CONversao Delay1KTCYx(1); // delay aproximado de 1 ms ADCON0bits.GO=1; // inicia a CONversao while (ADCON0bits.GO) ; // aguarda o termino da CONversao while(BusyXLCD()) ; SetDDRamAddr(0x14); //linha 2 //0123456789_123456789 putrsXLCD ("Temp: "); temperatura = ( ADRES * 500 ) / 1023 ; T = temperatura ; //temperature = (ADCResult*5.0)/10.24; //convert data into temperature (LM35 produces 10mV per degree celcius) //putrsXLCD("Temp is "); //Display "Temp is" on the screen //sprintf(buf, "%.3g", temperature ); //Convert temperature float value to string //putsXLCD(buf); //putrsXLCD ( ltoa (null_0,((ADRES*5)/1023)+9,10) ); // era usado com o ADRESL e ADRESH invertido errado //putrsXLCD ( ltoa (null_0,( ADRES * 500) / 1023 ,10) ); while(BusyXLCD()) ; putrsXLCD ( ltoa (NULL, T , 10 ) ); /* * Equacao realizada para ajustar a temperatura, com * ajuste fino de +9 graus centigrados para temperatura local * */ while(BusyXLCD()) ; putcXLCD(0xDF); // imprime o caractere de "grau" (degree) putrsXLCD ("c "); /////////////////////////////////////////////////// piscaVermelho(); //Delay10KTCYx(50); // delay aproximado de 100 ms /////////////////////////////////////////////////// ADCON0bits.CHS=0b0001; //usa o AN0 para CONversao DS39626E-page 223 // AN1 = Termistor LDR ADCON0bits.ADON=1; // liga o AD para CONversao Delay1KTCYx(1); // delay aproximado de 1 ms ADCON0bits.GO=1; // inicia a CONversao while (ADCON0bits.GO) ; // aguarda o termino da CONversao //corrente = ADRES; while(BusyXLCD()) ; //SetDDRamAddr(0x54); //linha 2 SetDDRamAddr(0x20); //0123456789_123456789 putrsXLCD ("Luz: "); luminosidade = ( ADRES / 8 ) ; L = luminosidade; while(BusyXLCD()) ; putrsXLCD ( ltoa ( NULL,L,10) ); //putrsXLCD ( ltoa (null_1,ADRES,10) ); putrsXLCD ("% "); /////////////////////////////////////////////////// if (T != temp0) { temp0=T; change=true; } else if (L != lumi0) { lumi0=L; change=true;} if (change) { contador++; if (T < min) min=T; else if (T > max) max=T; if (L < lmin) lmin=L; else if (L > lmax) lmax=L; while(BusyXLCD()) ; SetDDRamAddr(0x40); putrsXLCD ("Tmin"); putrsXLCD (ltoa (NULL,min,10)); putrsXLCD ("/"); putrsXLCD (ltoa (NULL,max,10)); putrsXLCD (" Luz"); putrsXLCD (ltoa (NULL,lmin,10)); putrsXLCD ("/"); putrsXLCD (ltoa (NULL,lmax,10)); putrsXLCD (" "); //i=sizeof(msg)-1; // apenas um teste para mostrar o tamanho da msg sprintf(msg, "%u,%u,%u%s", contador, T, L, ";"); while(BusyXLCD()) ; SetDDRamAddr(0x54); putrsXLCD (msg); putrsXLCD (" "); LED1=1; // LED Verde Ligado while(BusyXLCD()) ; SetDDRamAddr(0x66); //linha 4 nas duas ultimas posicoes //456789abcdef0123456_ putrsXLCD ("TX"); Delay1KTCYx(100); vw_send(msg, sizeof(msg)-1); LED1=0; // LED Verde Desligado while(BusyXLCD()) ; SetDDRamAddr(0x66); //linha 2 //456789abcdef0123456_ //putrsXLCD ("__"); putcXLCD ('_');putcXLCD ('_'); change=false; } }
int main(){ int retorno = 1, pontuacao = 0, escolha; printxy(16, 9, "Vamos comecar a Jogar o SUPER GENIUS?"); printxy(16, 11, "Se acha que esta preparado aperte 1 e ENTER"); printxy(16, 12, "Se nao outro numero e ENTER: "); scanf("%i", &escolha); system("cls"); while(escolha!=1){ printxy(16, 9, "Que medo e esse? Aperta 1 e ENTER logo! "); scanf("%i", &escolha); if (escolha == 1){ printxy(16, 11, "Boa escolha, bora jogar!"); wait(2.0); } } system("cls"); while(retorno==1){ azul(); amarelo(); verde(); branco(); vermelho(); marrom(); azulClaro(); verdeClaro(); magentaClaro(); //setas(); int nivel=1, aleatorio, cor; int vetor[nivel-1], i, j, sair=0; do{ srand(time(NULL)); aleatorio = rand() % 9; //antes era 4 vetor[nivel-1] = aleatorio; for(i=0; i<9; i++){ wait(0.5); if(vetor[i]==1){ piscaAzul(); } if(vetor[i]==2){ piscaVerde(); } if(vetor[i]==3){ piscaAmarelo(); } if(vetor[i]==4){ piscaVermelho(); } if(vetor[i]==5){ piscaBranco(); } if(vetor[i]==6){ piscaMarrom(); } if(vetor[i]==7){ piscaAzulClaro(); } if(vetor[i]==8){ piscaVerdeClaro(); } if(vetor[i]==9){ piscaMagentaClaro(); } } for(j=0; j<nivel; j++){ textbackground(BLACK); printxy(36, 23, "COR : "); scanf("%i", &cor); printxy(42, 23, " "); if(vetor[j]==cor){ pontuacao = pontuacao + 10; gotoxy(16, 22);//antes era (4, 4) printf("PONTUACAO : %i", pontuacao); gotoxy(16, 23);//antes era (4, 5) printf("NIVEL : %i", (nivel)); } if(vetor[j]!= cor){ j = nivel; sair = 1; } } nivel++; }while(sair != 1); system("cls"); printxy(33, 9, "VOCE PERDEU!!!"); gotoxy(33, 11); printf("PONTUACAO : %i", pontuacao); gotoxy(33, 12); printf("NIVEL : %d", nivel); gotoxy(33,14); printf("Tecla Enter"); getch(); system("cls"); printxy(32, 8, "JOGAR NOVAMENTE?"); printxy(32, 9, " 1 - SIM"); printxy(32, 10, " 2 - NAO"); printxy(32, 12, " OPCAO : "); scanf("%i", &retorno); system("cls"); nivel = 1; pontuacao = 0; } }