A alteração do circuito é bastante simples, basta trocar o sensor de efeito Hall pelo reed:


Vamos amostrar o sensor a cada interrupção do timer (512 uSeg), detectando por software a mudança do sinal e executando a lógica de detecção do imã quando o sinal mudar de "1" para "0" (indicando que o reed fechou contato):
void RTCC_isr()Feitas estas mudanças, o comportamento foi equivalente à versão com o sensor de efeito Hall, exceto pela necessidade de um posicionamento mais cuidadoso do sensor.
{
static unsigned int8 cont_disp = TAXA_DISP;
static unsigned int8 anterior = 0;
unsigned int8 lido;
// Tratamento do sensor
lido = input(SENSOR);
if (lido != anterior)
{
anterior = lido;
if (lido == 0)
{
output_high (LED);
cntLed = TEMPO_LED;
if (passo == 0)
{
cntb = cnta;
cnta = 0;
passo = 1;
}
else if (passo == 3)
{
cnta = 0;
passo = 0;
}
}
}
// Tratamento do LED
...
}
Nenhum comentário:
Postar um comentário