Enkelt låssystem med NFC Shield för Arduino

Om man vill använda sitt chip till något som det inte finns någon lösning för är det inte omöjligt att man själv kan bygga en lösning för problemet. Har man motivationen och kan lite elektronik och programmering kan man komma ganska långt. Då behöver man bara hårdvaran. Vi kommer skriva om den hårdvara som finns i dagsläget på marknaden och som antingen fungerar bra eller åtminstone hyfsat bra med chippen, och vi börjar med läsaren som kallas för NFC Shield V2.1. Detta är en (som kan tolkas ur namnet på den) en NFC (13,56 MHz) shield för Arduino och har utvecklats av Seeed Studio. Det är open source hårdvara så dokumentationen för läsaren är väldigt bra. Det är en läsare som fungerar ovanligt bra med chippen NTAG216 och Mifare Classic. Eftersom det är en shield finns det inte mycket att tänka på för att komma igång, och en annan bra grej med den här shielden är att själva antennen hänger löst i en tråd, så det är lättare att placera den på ett sätt som passar ens tilltänkta användningsområde bättre. Här visar vi hur du kan använda denna shield för att läsa av ett chip (eller en nyckeltagg/kort) för att sedan tända en LED, baserat på om id-numret på chippet stämmer med det numret som finns sparat i koden. Istället för att tända en LED skulle man självklart kunna låsa upp ett lås istället. Denna applikation finns även beskrivet på dokumentation-sidan för shielden.

NFC Shield V2.1
NFC Shield V2.1 från Seeed Studio.

Hårdvara och material

  • 1 st Arduino (vilken modell som helst, förutom Intel Edison)
  • 1 st NFC Shield V2.0 eller V2.1
  • 1 st Kopplingsplatta
  • 2 st LED (förslagsvis en röd och en grön)
  • 2 st 1kΩ resistor
  • Kopplingstråd

Installera nödvändiga programbibliotek

Innan vi börjar koppla ihop allting behöver vi installera några programbibliotek. Om du inte redan har installerat Arduinos IDE kan du ladda ned det här och installera enligt instruktionerna för ditt operativsystem (det finns även en online-editor, men jag har inte testat den). Sedan behöver vi ladda ned programbiblioteken för att kunna använda NFC shielden.

  1. Stäng ned IDEn om det inte redan är nedstängt
  2. Ladda ned zipfilen programbiblioteket för PN532 och extrahera filerna.
  3. Kopiera mapparna för PN532, PN532_HSU, PN532_SPI, and PN532_I2C till mappen i din Arduino-mapp som heter libraries.
  4. Ladda ned Dons NDEF programbibliotek och extrahera filerna.
  5. Byt namn på mappen NDEF-master till NDEF och kopiera även denna mapp till mappen libraries i din Arduino-mapp.
  6. Starta nu Arduinos IDE. Nu ska du kunna se NDEF och PN532 som alternativ under File > Examples.

Läsa av ett chip med NFC Shield

Nu kan vi ta reda på vilket id-nummer som ditt chip har, och därefter kan vi spara den i koden och jämföra med det id-numret som vi kommer läsa från ditt chip. Sätt ihop din shield och sätt den på din Arduino, om det inte redan levereras som ett färdigt paket. Kopiera sedan koden nedan till din Arduino IDE och ladda upp koden till din Arduino.

Sedan behöver du göra följande:

  1. Öppna Serial monitor-fönstret under Verktyg > Seriell Monitor.
  2. Sätt baudrate till 115200.
  3. Håll nu läsarens antenn mot ditt chip. Id-numret på chippet och annan information kommer läsas av och printas ut i monitorn (se bilden nedan).
  4. Anteckna id-numret på chippet, vilket är markerat i bilden.

Dörrlåssystem med NFC Shield

Nu kan vi fortsätta med att bygga dörrlåssystemet. Det här är ett väldigt enkelt exempel. Systemet kommer läsa av id-numret av ett chip (eller kort) och jämföra det med ett id-numer som finns sparat i en variabel i koden. Om numret i variabeln stämmer överens med numret som finns på chippet kommer den gröna LEDn att blinka. Annars börjar den röda LEDn blinka.

Sätt ihop alla delar på enligt schemat nedan.

Kopplingsschema för dörrlås
Kopplingsschema för enkelt dörrlåssystem. Bild från seeedstudio.com

Öppna sedan upp en ny sketch och kopiera in koden nedan:

På rad 6 hittar du variabeln myUID. Ändra denna till ditt eget UID som du läste av i första delen. Ladda sedan koden till din Arduino. Öppna Seriell Monitor igen och läs först av ditt eget chip. Den gröna LEDn ska börja blinka. Läs sedan av till exempel ditt busskort. Den röda LEDn ska börja blinka.

Detta går sedan att bygga ut och koppla till exempel diverse lås. Resultatet går se i Youtube-videon nedan.

Lämna en kommentar

E-postadressen publiceras inte. Obligatoriska fält är märkta *