RFIDuino (1 / 6 steg)

Steg 1: Montera RFIDuino



/*
UDPSendReceive.pde:
Denna skiss mottar UDP-meddelande strängar, skriver ut dem till den seriella porten
och skickar en "erkänna" sträng tillbaka till avsändaren

En bearbetning skiss ingår i slutet av filen som kan användas för att skicka
och mottagna meddelanden för att testa med en dator.

skapad 21 Aug 2010
av Michael Margolis

Denna kod är i public domain.
*/

#include < SPI.h > / / behövs för Arduino versioner senare än 0018
#include < Ethernet.h >
#include < EthernetUdp.h > / / UDP-bibliotek från: bjoern 2008-12-30

Ange en MAC-adress och IP-adressen för din controller nedan.
IP-adressen kommer att bero på ditt lokala nätverk:
byte [mac] = {0xDF, 0xAD, 0xCE, 0xEF, 0xFE, 0xWE};
byte ip [] = {0, 0, 0,};
IP-adress server(0,0,0,0);

char servernamn [] = "http://whatever.com";
int keepAlive = 0;
flyktiga lång reader1 = 0;
flyktiga int reader1Count = 0;
unsigned int localPort = 70056; lokal port att lyssna på
char packetBuffer [UDP_TX_PACKET_MAX_SIZE]; buffert för att hålla inkommande paket,

EthernetClient klient;
EthernetUDP Udp;

void reader1One(void) {
reader1Count ++;
reader1 = reader1 << 1.
reader1 | = 1;
}

void reader1Zero(void) {
reader1Count ++;
reader1 = reader1 << 1.
}

void setup() {
Ethernet.BEGIN(Mac,IP,DNS); / / start Ethernet
UDP.BEGIN(localPort); / / och UDP
Serial.BEGIN(9600);
pinMode (5, OUTPUT);
Bifoga pin change interrupt service rutiner från Wiegand RFID läsare
attachInterrupt (0, reader1Zero, RISING); //DATA0 till stift 2
attachInterrupt (1, reader1One, stiger). Data1 till stift 3
Delay(10);
avbrottet i Atmel processor mises ut den första negitave puls som insatsvarorna som redan är hög,
så detta ger en puls till varje läsare inmatningsraden att få avbrotten fungerar korrekt.
Avmarkera sedan ut läsaren variablerna.
Läsarna är öppen kollektor sitter normalt på en en så detta är OK
för (int jag = 2; jag < 4; i ++) {
pinMode (i, matas);
digitalWrite i, hög. Aktivera inre dra upp orsakar en
digitalWrite (i, låg); Inaktivera inre dra upp orsakar noll och thus ett avbrott
pinMode (i, ingång);
digitalWrite i, hög. Aktivera inre dra upp
}
Delay(10);
reader1 = 0;
reader1Count = 0;
}

void loop() {
om (reader1Count > = 26) {//If kortet läses.
Serial.Print(reader1);
client.connect (server, 80); Ansluta till servern.
client.Print ("GET rfiddoor/door.php?data="); Skicka kortdata.
client.Print(reader1);
client.println ("& dörr = 12door"); //Send dörren namn.
IF(client.Connected()) {
Serial.Print ("Skicka kortdata (");
Serial.Print(reader1); skriva ut kortdata till seriell utgång.
Serial.println(") till Server...");
} annat {
Serial.println kan inte ("ansluta till servern, försöker igen...");
}
client.stop();
}
reader1 = 0;
reader1Count = 0;
Delay(100); Ge arduino tid att ta emot UDP-paket.
int packetSize = Udp.parsePacket(); Processen UDP-paket.
IF(packetSize) {//if UDP-paket är mottagna act, annars hålla kortdata och skicka data (börja slinga om bibehållen kortdata).
Serial.Print ("Packet innehållet:");
IP-adress remote = Udp.remoteIP();
UDP.Read (packetBuffer, UDP_TX_PACKET_MAX_SIZE); //Read paket i bufferten.
Serial.Print (packetBuffer); //Print UDP-paket.
Serial.Print ("kortet är");
om (packetBuffer [0] == "p" & & packetBuffer [1] == "a" & & packetBuffer [2] == 's "& & packetBuffer [3] == 's" & & packetBuffer [4] == 'w' & & packetBuffer [5] == ' o ' & & packetBuffer [6] == 'r' & & packetBuffer [7] == hade ") {//If UDP-paket innehåller lösenord öppna, annars bo stängda
digitalWrite 5, hög, / / ### detta kommer att läsa packet bufferten. Om det innehåller "kommandot Öppna" det kommer att hålla strejken ###
Serial.println("approved"); / / ### öppna i 5 sekunder och skriva ut att kortet godkändes. Webclient stoppas ###
client.stop(); / / ### läsaren kommer att återställas. ###
reader1 = 0; / / ### om "neka kommando" tas emot kommer det att förbli låst och skrivs ut som kortet ###
reader1Count = 0; / / ### nekades. Webclient stoppas och läsaren kommer att återställas. ###
Delay(5000); / / ### ###
digitalWrite 5, låg, / / ### om ett paket inte är emot det håller läsaren data och skicka igen. ###
}else{// ###################################################################################################
Serial.println("Denied");
client.stop();
reader1 = 0;
reader1Count = 0;
digitalWrite (5, låg).
}
Serial.println("___");
}
}

Se Steg
Relaterade Ämnen

RFIDuino - med en Arduino & RFID-läsare för att göra ett pussel GeoCache

jag njuta av både Geocaching och elektronik och har gjort ett par elektroniska pussel cachar med en Arduino.Min senaste skapelse (med hjälp av en kollega cacher för koden) är att använda en Arduino och RFID-läsare för att göra ett pussel geocache vi...

Med hjälp av Pololu 5V Boost Regulator

driva din Arduino projekt med 2 "AA" batterier.Nyligen arbetade jag på ett projekt som krävs en Arduino att drivas av 2 AA-batterier.En annan twist var vi förväntade användaren tillhandahåller och installerar batterierna i en 2 "AA" ba...

Arduino Lockbox med magnetventil och RFID & anpassad hårdvara

Låt oss göra en lockbox! Vi gick över de viktigaste punkterna i detta projekt i Arduino kontrollerade kryssrutan Lås med magnetventil och RFID, men en massa människor lämnades känsla som vi inte spendera en tillräcklig mängd tid med alternativ för an...

Arduino kontrollerade lås låda med magnetventil och RFID-

Rutan RFID lås kombinerar Arduino, RFID och en magnetventil för att göra din alldeles egna personliga säkert! Kryssrutan Lås öppnas endast till nyckelkort som du har programmerat in i systemet, låsa alla andra ut!Denna guide visar du hur setup elektr...

RFID-tagg Windows (Vista, 7, 8 och 10) Logga in

RFIDuino logga in projekt för Windows gör att du kan använda systemets RFIDuino för att logga in på Windows. Du kommer att behöva läsa in en särskild firmware på din Geekduino/Arduino och läsa in de lämpliga filerna till din dator. En gång installera...

Arduino RFID flashkort (matchande spel)

Vill du ha ett finare sätt att lära sig med dina barn eller studera för det stora testet? Med en RFIDuino sköld, blixt kort och en massa RFID-taggar, kan du göra en flash-kort-system som ger feedback och förstärkning till studera processen! Låt oss k...

Arduino RFID Garage dörröppnare

I detta projekt, kommer vi att använda kraften av RFID för att utnyttja din garageport som öppna system. Vi kommer till bron en anslutning i öppnaren växla via en RobotGeek Relay board, inleda dörröppningen som om du hade tryckt på knappen. Denna kod...