Een Facebook-verbonden, Arduino-Powered muziek Party (2 / 5 stap)

Stap 2: Lezen van RFID-Tags

Nu moeten we onze Arduino instellen om te lezen van RFID-tags. Als u geen Arduino voordat hebt gebruikt of u problemen ondervindt langs de weg, is de officiële introductie pagina erg handig. Je Arduino verbinden met uw computer met een USB-kabel. Als u niet reeds hebt, moet u downloaden en installeren de Arduino ontwikkelen omgeving.

We zullen ook willen intall sommige bibliotheken om deze codering minder vervelend. Hebt u Lady AdaFruit van boord, download het hier en hebt u het bestuur van Sparkfun, download de bibliotheek hier opslaan in de omslag van de bibliotheken van uw Arduino (op OSX, zou de standaardmap ~/Documents/Arduino/libraries/ en op Windows, het zou mijn Documents\Arduino\libraries\) (als je problemen met dit hebt, check out Lady AdaFruit van advies. Als u reeds de Arduino omgeving openen voordat het plaatsen van de code in de omslag van Bibliotheken, het nu opnieuw opstarten.

Plaats het RFID-schild op de top van de Arduino. Nu kunnen we aan de code. Alle code u moet kan worden gevonden hier in onze Github repo.

Een nieuwe Arduino schets maken door de toepassing van de Arduino te selecteren en te klikken op het pictogram van de ezelsoren papier, kopieer de code van de link rechtsboven in, en sla het op in je projectmap. Alles wat je hoeft te doen is nu uncomment drie lijnen boven aan het bestand afhankelijk van welke RDID lezer hebt.

Hebt u het bestuur van Sparkfun sm130 RFID, uncomment deze drie blokken:

 // #include <SoftwareSerial.h> // #include <sm130.h> // NFCReader rfid(7, 8); 

En hebt u het bord Lady Adafruit RFID, uncomment deze drie blokken:

 //#include <Wire.h> //#include <Adafruit_NFCShield_I2C.h> //Adafruit_NFCShield_I2C rfid(2, 3); 

De rest van de schets is hetzelfde voor beide boards omdat we de sm130 bibliotheek schreven zodat deze overeenkomen met die van de Lady Adafruit bibliotheek. Klik nu op de naar rechts wijzende pijl op de schets voor het laden van de code op de Arduino en begint het te lopen. Om te zien de output, open de seriële monitor door naar bestand -> Hulpmiddelen -> seriële Monitor dan zorg ervoor dat uw baud-rate is ingesteld op 9600 (de vervolgkeuzelijst op de rechterbenedenhoek van de seriële monitor).

Nu, als u uw RFID-kaart op de lezer onttrekt, moet het uitprinten de unieke ID! Awesome.

Ik zal nu de code regel voor regel uitgelegd als je geïnteresseerd bent, of anders u kunt verdergaan met de sectie "Verzenden UUID naar de lokale Server". Laten we beginnen met de invoer code:

Uncomment deze drie regels voor het gebruik van het schild van Sparkfun RFID // Uncomment these three lines to use the Sparkfun RFID shield // #include <SoftwareSerial.h> // #include <sm130.h> // NFCReader rfid(7, 8); // Uncomment these three lines to use the AdaFruit RFID shield //#include <Wire.h> //#include <Adafruit_NFCShield_I2C.h> //Adafruit_NFCShield_I2C rfid(2, 3); // The number of seconds to wait before accepting another tag const uint8_t TIME_DELAY = 2; // Var to keep track of time between tags long lastReadTime = 0; Uncomment deze drie regels voor het gebruik van het schild van AdaFruit RFID // Setup method is called once every time Arduino is restarted void setup(void) { // Start communication with our serial monitor Serial.begin(9600); // Start running the RFID shield rfid.begin(); // Print out a message to make sure Serial is working Serial.println("Initialized!"); Serial.println("Requesting Firmware Version to make sure comm is working..."); // Grab the firmware version uint32_t versiondata = rfid.getFirmwareVersion(); // If nothing is returned, it didn't work. Loop forever if (!versiondata) { Serial.print("Didn't find RFID Shield. Check your connection to the Arduino board."); while (1); } // Got ok data, good enough! Serial.println("Found Version Data. Comm is working."); // Let us know RFID shield is waiting for a tag Serial.println("Waiting for an RFID Card ..."); } 

In dit stuk importeert we de Sparkfun bibliotheek of de bibliotheek van de Lady AdaFruit afhankelijk van welke één u uncomment. Van Sparkfun bestuur gebruikt de Software Serial (alias UART) voor communicatie, terwijl de Lady AdaFruit bestuur de draad (A.K.A I2C gebruikt). Vervolgens maken we naar globale variabelen voor het bijhouden van de tijd tussen de tags voor later (om ervoor te zorgen dat het niet houden rapportage uw tag over en als je het dicht bij de lezer houdt). Nu laten we eens kijken naar de installatiemethode:

 void loop() { // We will store the results of our tag reading in these vars uint8_t success; uint8_t uid[] = { 0, 0, 0, 0, 0, 0, 0 }; // Buffer to store the returned UID uint8_t uidLength; // Length of the UID (4 or 7 bytes depending on ISO14443A card type) // Wait for an ISO14443A type cards (Mifare, etc.). When one is found // 'uid' will be populated with the UID, and uidLength will indicate the length success = rfid.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &uidLength); // If we succesfully received a tag and it has been greater than the time delay (in seconds) if (success && (millis() - lastReadTime > (TIME_DELAY * 1000))) { Serial.println("Got a tag!"); // Print out the length Serial.print("Length: "); Serial.print(uidLength, HEX); Serial.print(", ID: "); // Print the ID in hex format rfid.PrintHex(uid, uidLength); Serial.println(""); // Same the last read time lastReadTime = millis(); } } 

In dit eerste blok van code voegen we de 'setup'-methode, die een speciale methode die alleen wordt aangeroepen is zodra everytime de Arduino opnieuw is gestart. Bij deze methode beginnen we met Serial die een communicatieprotocol is. We beginnen dan de RFID schild bibliotheek zelf uitgevoerd. Vervolgens, grijpen wij de firmware-versie alleen maar om ervoor te zorgen dat onze Kommunikasie met de Raad van bestuur werkt effectief - zoniet, we gewoon eeuwig. Nu de looping methode:

 #include <WiFlyHQ.h> #include <Lifegraph.h> // Wifi Serial connection SoftwareSerial wifiSerial(9,10); // API we'll use to talk to the internet JSONAPI api; /* Change these to match your WiFi network */ const char mySSID[] = "YOUR_NETWORK_NAME"; const char myPassword[] = "YOUR_NETWORK_PASSWORD"; // The host server that handles our request const char host[] = "musicparty.herokuapp.com"; // Unique ID of this Music Party Streaming Device char deviceId[] = "YOUR_OWN_DEVICE_ID_HERE"; 

De lus methode heet over en weer door de Arduino. Zodra de code is voltooid, begint het opnieuw. In onze methode lus maken we het succes, uid en uidLength variabelen voor het opslaan van de resultaten van een ontdekte tag. Wij vervolgens probeert te lezen van een tag, en als we dat doen, de uid zal worden opgeslagen in de variabele van de uid en de lengte van dat uid zal winkel in uidLength. We gewoon drukt het uit, en nota hoe laat het was uitgeprint om ervoor te zorgen het niet steeds opnieuw afgedrukt.

Gerelateerde Artikelen

Een draadloos gecontroleerd, de Raad van het bericht van de Arduino-Powered

Een draadloos gecontroleerd, de Raad van het bericht van de Arduino-Powered

bouwen zelf een draadloos gecontroleerde, Arduino aangedreven message board!Hier is een eenvoudig project waardoor een draadloos programmeerbaar message board. Het gebruik XBee modules ten behoeve van een draadloze seriële verbinding tussen uw comput
Nachtelijke emissies: Mijn Arduino Powered Internet ingeschakeld droom Generator

Nachtelijke emissies: Mijn Arduino Powered Internet ingeschakeld droom Generator

We moeten allemaal dromen meer dus ik deze Arduino Powered gemaakt heb "dream generator" om te helpen plant de zaden voor sommige grote denken-gekte.  Wanneer u nadert de generator een ultrasone sensor Maxbotix triggers lichten en muziek die tek
Een beginnersgids voor Arduino

Een beginnersgids voor Arduino

Na enkele jaren van experimenteren met Arduino, besloten heb ik dat het tijd is om te delen van de kennis die ik heb verworven. Dus ik hier het gaat, een gids voor Arduino, met de blote basisprincipes voor beginners en sommige meer geavanceerde uitle
Arduino Powered Home

Arduino Powered Home

Ik heb een paar updates in dit instructable sinds Aug 2014 ***Heb ik besloten om deze informatie te delen, zodat het anderen die hebben moeite helpen misschien om soortgelijke dingen met hun Arduino doen. Ik heb pas onlangs gekregen die betrokken zij
Hoe maak je een goedkope Attiny Arduino Board

Hoe maak je een goedkope Attiny Arduino Board

Goed meeste keer krijg ik onrustige wanneer mij nood Arduino in sommige projecten waar ik moet enkele I/O pinnenNou dankzij Arduino-Tiny platformArduino-programma kan worden gebrand in de Avr-tiny serie zoals Attiny 85/45Arduino-klein is een open bro
Interactieve Arduino Powered LED Ski's

Interactieve Arduino Powered LED Ski's

Ziek van de saaie duisternis van de nacht skiën? Vrees niet! Arduino programmeerbare interactieve LED Ski's zullen uw avond fleuren.Dit huis gebouwd van ski's hebben LEDs ingesloten onder de p-tex en bovenste blad. Een Arduino en versnellingsmeter co
DIY Magic Mirror en Photobooth - Arduino Powered

DIY Magic Mirror en Photobooth - Arduino Powered

een geassembleerd kit voor dit project is nu beschikbaar bijSeeedstudio.comMeer info op dit project op http://diymagicmirror.com De software voor dit project is open source open sourceWie is de mooiste van allemaal. Maak uw eigen Magic Mirror en ontd
Solar-georiënteerd, Arduino-Powered Klok

Solar-georiënteerd, Arduino-Powered Klok

dit is een klok die zijn ontworpen voor het houden van nauwkeurige tijd (onafhankelijk van atomaire of GPS), weergeven van lokale zonsopgang, zonsondergang en zonne-energie middag, en ook zelf voor de tijd van daglichtbesparingen aanpassen.Ik wilde d
3 channel arduino Powered Christmas verlichtingssturing!

3 channel arduino Powered Christmas verlichtingssturing!

Voor kerst dit jaar, die ik wilde maken van een echt cool project maar niet goed weet wat te maken. Zoals mij watertje getting de Christmas lights out om te versieren, was er een oude kapotte Kerstmis licht timer. Ik nam het uit elkaar en keek rond o
Beheersing van een LED met arduino en Wifly schild

Beheersing van een LED met arduino en Wifly schild

Om te demonstreren hoe u apparaten via wifi met behulp van de arduino wifly shield kunt controleren, zal ik schakelaar aan en uit een LED door een http-verzoek te sturen vanuit mijn webbrowser naar het wifly-schild.Vereisten:1. de Arduino uno2. Wifly
Interactieve Arduino Powered salontafel

Interactieve Arduino Powered salontafel

een snelle voorgrond Opmerking: dit is mijn eerste Instructable en mijn eerste grote project van de Arduino, zodat als u stomme fouten kunt zien of een idee van hebben hoe dingen beter kunnen worden gedaan, dan laat het me weten.Nu dat is uit de weg
Arduino-Powered binaire Thermometer

Arduino-Powered binaire Thermometer

ik heb onlangs verworven een Arduino Uno en was op zoek naar een cool "getting started"-project. Heb ik besloten om een thermometer, als de kit heb ik alle nodige onderdelen (thermistor, draden, weerstanden, LEDs). Door middel van een paar itera
DIY: Een 5 minuten Arduino Voltmeter met een OLED-Display met

DIY: Een 5 minuten Arduino Voltmeter met een OLED-Display met

Hallo!Ik ga tonen u hoe u een voltmeter * met Arduino UNO, een OLED-display, 2 weerstanden en 9 jumpers voor minder dan 5 minuten. Met het u zal zitten kundig voor meten van spanning van 0 tot 30V (als u het overschrijdt kan u uw arduino beschadigen!
Maak een Facebook Cover afbeelding voor uw App marketingstrategie

Maak een Facebook Cover afbeelding voor uw App marketingstrategie

Als een onderdeel van de marketingstrategie van uw app moet u een Facebook-pagina. Daarvoor, zal u wilt maken van een profiel foto en cover afbeelding. In dit instructable, wij laten u de eenvoudigste manier om het te doen.Eerste, bezoek Placeit.net