Bem estou fazendo como projeto da faculdade um sensor de presença , onde tem 2 sensores e quando alguém passar por esses dois sensores um led fica ativo, eu gostaria de adicionar nele o seguinte contar com quantos segundos as pessoas passam pelos dois sensores e mostrar na tela. E estou com duvida de como fazer isso.
Ai esta o meu codigo sobre o sensor de presenca se a contagem de tempo.
#include <stdio.h>
#include <math.h>
#include <windows.h>
#define DEVCpp
#ifdef DEVCpp
#include <windows.h>
#endif
#ifdef TURBOCpp
#include <dos.h>
#endif
void espera(long tempo){
#ifdef DEVCpp
Sleep(tempo);
#endif
#ifdef TURBOCpp
delay(tempo);
#endif
}
/* cria??o de um tipo, que ? um ponteiro para fun??o */
typedef short _stdcall (*inpfuncPtr)(short portaddr);
typedef void _stdcall (*oupfuncPtr)(short portaddr, short datum);
/* ponteiros para fun??es, mas que podem ser interpretadas como:
(a) short inp32(short porta);
(b) void oup32(short porta, short dado);
*/
HINSTANCE hLib;
inpfuncPtr inp32;
oupfuncPtr oup32;
int iniciaBiblioteca(){
/* Load the library */
hLib = LoadLibrary("inpout32.dll");
if (hLib == NULL) {
printf("A biblioteca inpout32.dll não foi encontrada\n\n");
return -1;
}else {
printf("Biblioteca inpout32.dll aberta com sucesso...\n\n");
getchar();
}
/* get the address of the function */
inp32 = (inpfuncPtr) GetProcAddress(hLib, "Inp32");
if (inp32 == NULL) {
printf("GetProcAddress for Inp32 Failed.\n");
return -1;
}
oup32 = (oupfuncPtr) GetProcAddress(hLib, "Out32");
if (oup32 == NULL) {
printf("GetProcAddress for Oup32 Failed.\n");
return -1;
}
return 0;
}
int main(void)
{
if (iniciaBiblioteca()==-1) return -1; // inicia e testa se falhou
system("cls");
int pessoas=0, entrando =0, saindo = 0, s1=0, s2=0, x,bit7,bit6,pe=0,ps=0;
x=inp32(889);
bit7 = (x & 128);
bit6 = (x & 64);
while(bit7 == 128){
s1 = s1+1;
x = inp32(889);
bit7 = x & 128;
}
while(bit6 ==0){
s2 = s2+1;
x=inp32(889);
bit6 = (x & 64);
}
if(s1 > s2) entrando=1;
if((s2 == s1) and (saindo==1)) {
printf("Saiu");
pessoas--;
ps = +pessoas;
}
if((s2 == s1) and (entrando ==1)) printf("Entrou");
if(pessoas <= 0) oup32(888,0);
if (s2 > s1) {
saindo = 1;
x= inp32(889);
bit7 = x & 128;
bit6 = x & 64;
pessoas++;
pe = +pessoas;
}
if (pessoas > 0) oup32(888,1);
printf("Pessoas que entraram = %d \n",pe);
printf("Pessoas que sairam = %d \n",ps);
FreeLibrary(hLib);
return 0;
}
Pergunta
Henrique Neto
Bem estou fazendo como projeto da faculdade um sensor de presença , onde tem 2 sensores e quando alguém passar por esses dois sensores um led fica ativo, eu gostaria de adicionar nele o seguinte contar com quantos segundos as pessoas passam pelos dois sensores e mostrar na tela. E estou com duvida de como fazer isso.
Ai esta o meu codigo sobre o sensor de presenca se a contagem de tempo.
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.