En Facebook-ansluten, Arduino-Powered Music Party (2 / 5 steg)

Steg 2: Läsa RFID-taggar

Nu måste vi ställa in vår Arduino att läsa RFID-taggar. Om du inte har använt Arduino innan eller du har problem på vägen, är den officiella komma igång sidan mycket användbart. Anslut din Arduino till datorn med en USB-kabel. Om du inte redan har, måste du hämta och installera den Arduino utveckling miljö.

Vi ska också till intakt några bibliotek att göra denna kodning mindre tröttande. Om du har Lady Adafruits ombord, ladda ner den här och om du har Sparkfun styrelsen, ladda ner biblioteket här spara det i mappen Bibliotek i din Arduino (på OSX, den förvalda katalogen skulle vara ~/Documents/Arduino/libraries/ och Windows, skulle det vara min Documents\Arduino\libraries\) (om du har problem med detta, kolla in Lady AdaFruit råd. Om du redan Arduino miljön öppna innan du placerar koden i mappen Bibliotek, starta om den nu.

Placera RFID-sköld på Arduino. Nu kan vi få till koden. All kod som du behöver finns här i vår Github repo.

Skapa en ny Arduino skiss genom att välja programmet Arduino och klicka på ikonen hundöron papper, kopiera koden från länken ovan till höger i, och spara den i din projektkatalogen. Allt du behöver göra nu är avkommentera tre rader överst i filen beroende på vilken RDID läsare du har.

Om du har Sparkfun sm130 RFID-styrelsen, kommentera bort dessa tre block:

#include < SoftwareSerial.h >

#include < sm130.h >

NFCReader rfid (7, 8);

Och om du har Lady Adafruit RFID styrelsen, avkommentera dessa tre block:

#include < Wire.h >

#include < Adafruit_NFCShield_I2C.h >

Adafruit_NFCShield_I2C rfid (2, 3);

Resten av skissen är samma för båda styrelser eftersom vi skrev sm130 biblioteket för att matcha det av Lady Adafruit biblioteket. Nu, klicka på högerpilen på skissen att ladda koden på Arduino och börja köra den. För att se utdata, öppen seriell bildskärmen vid går till arkivera -> Verktyg -> Serial Monitor sedan kontrollera din baudfrekvens är inställd till 9600 (rullgardinsmenyn längst ned till höger av seriell övervaka).

Nu, om du trycker på ditt RFID-kort på läsaren, det bör skriva ut unikt ID! Toppen.

Nu kommer jag att förklara koden rad för rad om du är intresserad, annars kan du hoppa till avsnittet "Skicka the UUID till lokala servern". Låt oss börja med importerande koden:

Avkommentera dessa tre rader om du vill använda Sparkfun RFID sköld

#include < SoftwareSerial.h >

#include < sm130.h >

NFCReader rfid (7, 8);

Avkommentera dessa tre rader om du vill använda AdaFruit RFID sköld

#include < Wire.h >

#include < Adafruit_NFCShield_I2C.h >

Adafruit_NFCShield_I2C rfid (2, 3);

Antal sekunder att vänta innan du accepterar en annan tagg

CONST uint8_t TIME_DELAY = 2;

Var att hålla reda på tiden mellan taggarna

lång lastReadTime = 0;

I det här segmentet importerar vi antingen Sparkfun biblioteket eller Lady AdaFruit biblioteket beroende på vilken du avkommentera. Sparkfuns styrelse använder mjukvaran följetong (aka UART) för kommunikation medan Lady AdaFruit styrelsen använder kabeln (aka I2C). Sedan göra vi globala variabler att hålla reda på tiden mellan Taggar för senare (för att se till att det inte hålla rapportering din tag om och om igen som du hålla den nära läsaren). Nu låt oss titta på installationsmetoden:

Installationsmetod kallas en gång varje gång Arduino startas

void setup(void) {

Börja meddelandet med vår seriell övervaka

Serial.BEGIN(9600);

Börja köra RFID-sköld

RFID.BEGIN();

Skriva ut ett meddelande att kontrollera följetong fungerar

Serial.println("Initialized!");

Serial.println ("begär Firmware Version se till comm fungerar...");

Hugg efter den firmware versionen

uint32_t versiondata = rfid.getFirmwareVersion();

Om ingenting är returnerat, fungerade det inte. Slinga för evigt

om (! versiondata) {

Serial.Print ("hittade inte RFID-sköld. Kontrollera din anslutning till Arduino styrelsen.");

samtidigt (1).

}

Fick ok data, tillräckligt bra!

Serial.println ("hittade Version Data. Comm arbetar.");

Låt oss veta RFID-sköld väntar på en tagg

Serial.println ("väntar en RFID kort...");

}

I denna första del av koden lägger vi metoden 'setup' som är en speciell metod som endast anropas en gång varje gång Arduino startas. Den här metoden börjar vi kör följetong som är ett kommunikationsprotokoll. Sedan ska vi börja kör själva RFID-sköld biblioteket. Nästa, ta vi den firmware versionen bara att se till att våra kommunikationen med styrelsen fungerar effektivt - om inte, vi bara slinga för evigt. Nu den virande metoden:

void loop() {

Vi kommer att lagra resultatet av vår tag läsning i dessa vars

uint8_t framgång;

uint8_t uid [] = {0, 0, 0, 0, 0, 0, 0}; Buffert för att lagra de returnerade UID

uint8_t uidLength; Längden på UID (4 eller 7 byte beroende på korttyp för ISO14443A)

Vänta en ISO14443A typ kort (Mifare, etc.). När en finns

uidLength anger längden och uid"att fyllas med UID

framgång = rfid.readPassiveTargetID (PN532_MIFARE_ISO14443A, uid, & uidLength);

Om vi framgångsrikt fått ett tag och det har varit större än tidsfördröjning (i sekunder)

om (framgång & & (millis() - lastReadTime > (TIME_DELAY * 1000))) {

Serial.println ("fick en tag!");

Skriva ut längden

Serial.Print ("längd:");

Serial.Print (uidLength, HEX);

Serial.Print (", ID:");

Skriva ut ID i hex-format

RFID. PrintHex (uid, uidLength);

Serial.println("");

Samma läste sist tiden

lastReadTime = millis();

}

}

Loop metoden anropas om och om igen av Arduino. Så snart det är kod är klar startar det över. I vår slinga metod skapar vi framgång, uid och uidLength variabler för att lagra resultatet av en upptäckt tagg. Vi försöker läsa ett tag, och om vi gör, uid kommer att lagras i variabeln uid och längden på det uid blir butik i uidLength. Då vi helt enkelt skriva ut den och notera vilken tid det var tryckt ut för att se till att det skrivs inte ut om och om igen.

Se Steg
Relaterade Ämnen

Nattliga utsläpp: Min Arduino Powered Internet aktiverat dröm Generator

måste vi alla drömmer mer så jag har skapat denna Arduino Powered "dream generator" för att plantera frön för några stora tänkande galenskap. När du närmar dig generatorn en Maxbotix ultrasonic sensor utlöser ljus och musik som drar du i så du k...

Arduino-powered LED klocka

En rolig, enkel LED-klocka, som ger dig tiden till den närmaste halvtimmen med hjälp av enfärgade lysdioder. Delar som behövs är följande:Arduino Nano400 tie-punkt skärbrädaBandkabelDS1307 RTC IC32.768 kHz Crystal(12) 10mm lysdioder(12) 180 Ohm motst...

Arduino Powered RGB LED Vodka hylla

detta instructable kommer du igång att göra ditt eget arduino powered röd grön och blå LED-projekt. Det behöver inte ens vara en hylla! Vodka flaskor råkar bara lysa upp fint så det är vad jag valde att göra.I detta projekt använder vi varje stift på...

Solar-orienterade, Arduino-Powered klockan

detta är en klocka för att hålla exakt tid (oberoende av atom eller GPS), Visa lokala soluppgång, solnedgång och solar, och även justera sig för sommartid.Jag ville ha klockan för att vara lätt att använda och vara flexibel. Funktionerna som inställn...

Arduino Powered raket styrsystemet

detta är min första Instructable så bär med mig.Detta är en Arduino Powered raket vägledning System. Jag skickade in detta för Google Global Science Fair. Min science projekt är på https://sites.google.com/site/arduinorocket/ . Det tog mig tre månade...

Arduino Powered Gainclone (förstärkare)

för er som inte vet (och jag inte förrän nyligen), en Gainclone är en förstärkare som är en klon av den ursprungliga utformningen av en förstärkare av 47 Labs kallas en Gaincard och är baserade på enkel flisa förstärkare av National Semiconductor - n...

Arduino powered RC tank

detta är min första instructable så snälla ha tålamod med mig. Mitt namn är Stanley Deakins och jag har spelat med elektronik ganska länge, men det var år sedan. På grund av min senaste anställning har jag återuppväcka denna passion. Jag har fått min...

Hur man bygger en Arduino Powered Chess spela Robot

att döma av det stora antalet schack relaterade Instructables, jag tycker det är säkert att säga gemenskapen åtnjuter spelet. Det kan dock vara svårt, att hitta någon som spelar på samma nivå som du gör. Att lösa detta dilemma, och att öka min spela...

Ett trådlöst kontrollerade, Arduino-Powered anslagstavla

bygga själv en trådlöst styrd, Arduino-powered anslagstavla!Här är ett enkelt projekt som skapar en trådlöst programmerbart anslagstavla. XBee moduler använder för att ge en trådlös seriell länk mellan datorn och enheten. Du interagerar med den via e...

Arduino-Powered binära termometer

jag nyligen förvärvat en Arduino Uno och letade efter en cool "komma igång" projekt. Jag beslöt att göra en termometer, som satsen har jag haft alla nödvändiga delar (termistor, sladdar, motstånd, lysdioder). Genom ett par iterationer, jag äntli...

Arduino Powered infraröd sak

Hej, detta är min första instructible. Jag kommer att visa dig hur man gör en arduino powered analog sensor läsare (jag kommer att använda en infraröd fotodiod).Steg 1: delar Du behöver flera saker att göra detta:1. någon form av fallet eller låda2....

Arduino Powered uppvärmd handske Liners

Arduino Powered uppvärmda handskarDetta projekt är om hur att göra världens smartaste uppvärmd handske liners för extremt kalla förhållanden som de i Minnesota eller människor som har Raynauds syndrome(like me). Dessa handskar kommer förses du med ti...

Arduino powered Halloween pumpa med rörelsedetektor

Hejdetta Instructable visar dig hur man gör några Halloween dekorationer inklusive arduino powered Halloween pumpa med rörelsedetektor.Steg 1: Göra Halloween pumpa Material:Rund ballongGamla tidningarSmidig mjölVattenTemperaModellering leraSuperlimVe...

Acrylic fisk Tank med Arduino-Powered mataren

Har du någonsin velat ett mer händer på känsla när får en fisk? Eller ville ha något annat än de genomsnittliga akvarier finns i butiker? Denna fisk tank är helt anpassad och kan ändras för att passa din storlek behov och har en Arduino powered feede...

Att göra en Arduino Powered gardin Automation

I den här videon börja jag arbeta på visar dig hur man gör en Arduino Powered enhet som kommer att öppna och stänga gardiner!Med hjälp av några rep och en kontinuerlig rotation servo jag kan skapa en trissa system som fungerar som stamnät till rörels...

3 kanal arduino Powered Christmas Light Controller!

För julen i år, jag ville göra ett riktigt häftigt projekt men inte riktigt vet vad man ska göra. Som jag fick julen ljus ut att dekorera, var det en gammal trasig Christmas light timer. Jag tog isär och tittade på lågspänning kretsen. Innan detta ha...

Mushroom miljö kontroll - Arduino Powered

detta är min första Arduino projekt syftar till att hjälpa mig med min andra hobby som växer ostron och shiitake svampar inomhus.I ett nötskal, registeransvarige tar i två temperaturavläsningar, 1 fuktighet läsning och 1 Co2 läsning och utlöser en av...

Arduino Powered RGB humör lampa plus Simon

detta är grunden en arduino powered RGB humör lampa plus simon says spel, två i ett.Hur man använder: Enheten börjar med RGB humör lampa standardprogram, när du trycker på någon av de fyra knapparna längst ner, säger Simon spelet startar. När du tryc...

Arduino Powered Party tröja

denna idé började år sedan efter mitt köp av soundtrack skjortan från thinkgeek. Det var en awesome skjorta, men som är min natur jag tänkte på några förbättringar. Specifikt lampor som puls och blinka till musik. Efter många misslyckade försök födde...