Bom dia galera,
Mais uma vez venho pedir uma ajuda ao grupo... Estou realizando um projeto com sensor biométrico embarcado no arduino.
Toda a parte de operação e tratamento de erros estão funcionando normalmente, a segunda etapa do projeto é no próprio arduino, rodar um WebServer (no SD Card) para mostrar algumas informações de logs e sobre o próprio Arduino.
Qual a dificuldade? Deixar o Ethernet Shield (W5100) rodando em tempo real (via Browser) enquanto um usuário cadastro uma nova digital por exemplo.
No loop principal tenho o seguinte sketch:
void loop() // loop
{
count = 0;
idcount = 0;PARTE DO ETHERNET SHIELD DEVERIA RODAR AQUI.
lcd.clear();
lcd.setCursor(1,0);
lcd.println("BioMult Access ");
while (1){ //Mantém uma mensagem no display LCD (como data e hora e nome do //projeto. Se remover o While, o LCD fica piscando loucamente
lcd.setCursor(4,1);
lcd.print(rtc.getTimeStr());
val = digitalRead(sensorir); //variavel que lê o IR e habilita o Sensor de Impressão Digital
customKey = customKeypad.getKey();
if (val == HIGH){ //lógica para atuar IRlcd.clear();
verify();
}
else if(customKey == '*'){
value = 0;
estado = true;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Digite o ID: ");while(count < 3)
{
customKey = customKeypad.getKey();if(customKey >= '0' && customKey <= '9') {
value = value * 10 + customKey - '0';lcd.setCursor(12,0);
lcd.print(value);
delay(200);
idcount += 1;
}
if(customKey == '*'){
lcd.clear();
lcd.print("Digite o ID: ");
value = 0;
}
if((customKey == '#') || (idcount == 3)){
if(value < 254){ //limita até 253 o numero de usuários, devido a eeprom
id = value;
enroll();
value = 0;
}
if(value > 254){
lcd.clear();
lcd.print(" **NUMERO** ");
lcd.setCursor(0,1);
lcd.print(" ***INVALIDO*** ");
delay(3000);
loop();
}
}
}
}
else if(customKey == 'D'){
value = 0;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Excluir ID: ");while(customKey = 2){
customKey = customKeypad.getKey();if(customKey >= '0' && customKey <= '9') {
value = value * 10 + customKey - '0';lcd.setCursor(12,0);
lcd.print(value);
delay(200);
}if(customKey == '#'){
if(value == (pin = EEPROM.read(value))){
id = value;
deletar();
}else if(value != (pin = EEPROM.read(value))){
lcd.clear();
lcd.setCursor(0,0);
lcd.print(" ****ERRO**** ");
lcd.setCursor(0,1);
lcd.print(" ***EEPROM*** ");
delay(3000);
loop();
}
}
if(customKey == '*'){
lcd.clear();
lcd.print("Excluir ID: ");
value = 0;
}}
}
}}
Desde já eu agradeço a ajuda!
Obrigado!
Tags:
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por