#include <SoftwareSerial.h>Denne koden sammenligner koden fra kortet med lagrede koder og gir kortinnhaveren aksess hvis kodene stemmer. Det er lagt inn en timer som forhindrer "flooding".
#define rxPin 6
#define txPin 7
SoftwareSerial mySerial = SoftwareSerial(rxPin, txPin);
String tegn1="";
String kode1="5000893AF310";
String kode2="5100FEA91F19";
unsigned long lastTime = 0;
void setup()
{
Serial.begin(9600);
mySerial.begin(9600);
pinMode(9,OUTPUT);
}
void loop()
{
if (mySerial.available() > 0)
{
tegn1 = tegn1+(char)mySerial.read();
if(tegn1.length() >= 14)
{
tegn1=tegn1.substring(1,13);
if((millis()-lastTime) > 1000)
{
Serial.print("Kort Funnet: ");
if(kode1==tegn1)
{
Serial.print("Gregor");
Serial.print(";");
Serial.print("Kontorpersonell");
Serial.print(";");
Serial.println(tegn1);
Serial.println("Aapner dor");
digitalWrite(9,HIGH);
delay(4000);
digitalWrite(9,LOW);
Serial.println("Lukker dor");
}
else if(kode2==tegn1)
{
Serial.print("Joshua");
Serial.print(";");
Serial.print("Administrasjon");
Serial.print(";");
Serial.println(tegn1);
Serial.println("Aapner dor");
digitalWrite(9,HIGH);
delay(4000);
digitalWrite(9,LOW);
Serial.println("Lukker dor");
}
else {
Serial.println ("DENIED");
delay(2000);
tegn1="";
}
lastTime = millis();
}
tegn1="";
mySerial.flush();
}
}
}
onsdag 30. januar 2013
I dag har vi jobbet mer med programmet og kommet fra til en løsning på et problem vi hadde med den forrige koden. vi endte opp med denne koden
Abonner på:
Legg inn kommentarer (Atom)
hei.
SvarSlettKan dere beskrive hva problemet var og vise hvor i programmet løsningen ligger?
mvh jan
Problemet var at arduinoen leste gjennom flere ganger, så vi fikk en flod av print. Vi løste dette ved å legge inn en timer som passer på at det ikke testes mer enn 1 gang i sekundet.
Slettif((millis()-lastTime) > 1000)
{
lastTime = millis();
}
Flott at dere, i samarbeide med andre, klarte å løse problemet.
SvarSlettmvh jan