Buonasera, sto sviluppando un DB con excel che comunica con arduino tramite datastreamer ( arduino invia il codice di una tessera appresa con rfid e excel confronta se la tessera è valida o meno e poi restituisce uno 0 o un 1. Se il valore è uguale ad , arduino attiva un relè) i problemi sono che arduino sembra rispondere a caso ( attiva il relè anche quando excel restituisce 0 o addiritura la tessera non è presente) il programma excel sembra essere corretto quindi probabilmente è un problema di arduino. allego il codice arduino e se serve anche l'excel. grazie in anticipo a chi risponderà.
#include <SPI.h>
#include <RFID.h>
#define SDA_DIO 10
#define RESET_DIO 9
#define delayRead 10000
RFID RC522(SDA_DIO, RESET_DIO);
int Rele=3;
int Rele2=4;
char numero;
void setup() {
Serial.begin(9600);
SPI.begin();
RC522.init();
Serial.println("setup");
pinMode(Rele,OUTPUT);
pinMode(Rele2,OUTPUT);
}
void loop() {
byte i;
if (RC522.isCard())
{
RC522.readCardSerial();
String codiceLetto ="";
for(i = 0; i <=1; i++)
{
codiceLetto += String (RC522.serNum[i],HEX);
codiceLetto.toUpperCase();
}
Serial.println(codiceLetto);
delay(30);
Serial.flush();
if(Serial.available()){
numero=Serial.read();
if(numero=='1'){
delay(30);
digitalWrite(Rele,HIGH);
delay(30);
digitalWrite(Rele2,HIGH);
delay(3000);
digitalWrite(Rele,LOW);
delay(30);
digitalWrite(Rele2,LOW);
}
else {digitalWrite(Rele,LOW);
delay(30);
digitalWrite(Rele2,LOW);};
numero='0';
}
}
}