Hallo
Ich suche ein NFC Shield um daran drei NFC Antennen anzuschließen.
Gibt es sowas oder benötige ich ich drei NFC Shields mit je einer Antenne ?
Ich benutzte momentan die NFC Shield von Seed Studio.
Mit freundlichen Grüßen
Mars
Hallo
Ich suche ein NFC Shield um daran drei NFC Antennen anzuschließen.
Gibt es sowas oder benötige ich ich drei NFC Shields mit je einer Antenne ?
Ich benutzte momentan die NFC Shield von Seed Studio.
Mit freundlichen Grüßen
Mars
IMHO brauchst du 3 NFC Shields.
Shield mit 3 Antennenanschlüssen habe ich noch nicht gesehen
Für den PN522 gibt es in den mitgelieferten Beispielen einen Muster Sketch für den Anschluss von mehreren Shields.
Ich hab jetzt nun zwei NFC Shield von Seed Studio und möchte gerne beide an einem Uno betreiben.
Vom Hersteller wird das als Modifikation angegeben:
"Hardware Modification
Scrape off the connection from the pads labeled “SS” and “D10” on the shield
Connect/solder pads “SS” and “D9” on the shield." (NFC Shield V2.0 | Seeed Studio Wiki)
Ich hab das ganze mal mit dem Multimeter durchgemessen und Standardmäßig sind die Pins D10 und SS verbunden. Leider weiß ich nicht wie ich diese Verbindung lösen kann. Wie auf dem angehängten Bild sind die Lötstellen optisch nicht verbunden.
Ich verstehe halt nicht genau wie man die Anweisung vom Hersteller zu verstehen hat.
Mit freundlichen Grüßen
Mars
doch - mit viel Phantasie is da zwischen dem D10 Pad und SS Pad eine Leiterbahn... suche mal mit der Lupe, ...
Ansonsten wenn du es noch immer nicht findest, verbiege einfach den PIN10 so dass er beim Aufstecken auf den Arduino NICHT in Sockel geht. Achte dann aber darauf, dass du damit keinen Kurzschluss/Fehlverbindung machst (ABISOLIEREN!)
Vielen Dank noiasca mit einer Lupe konnte ich die Verbindung sehen.
Jetzt habe ich das Problem das ich nicht gleichzeitig beide NFC Shields benutzen kann.
Das ist der Code den ich benutze und der auch funktioniert mit je einem Shield:
#include <SPI.h>
#include "PN532_SPI.h"
#include "PN532.h"
#include "NfcAdapter.h"
String const myUID = "1234"; // replace this UID with your NFC tag's UID
int const greenLedPin = 3; // green led used for correct key notification
int const redLedPin = 4; // red led used for incorrect key notification
PN532_SPI interface(SPI, 10); // create a SPI interface for the shield with the SPI CS terminal at digital pin 10
NfcAdapter nfc = NfcAdapter(interface); // create an NFC adapter object
void setup(void) {
Serial.begin(115200); // start serial comm
Serial.println("NDEF Reader");
nfc.begin(); // begin NFC comm
// make LED pins outputs
pinMode(greenLedPin,OUTPUT);
pinMode(redLedPin,OUTPUT);
digitalWrite(greenLedPin, HIGH);
digitalWrite(redLedPin, HIGH);
delay(1000);
// turn off the LEDs
digitalWrite(greenLedPin,LOW);
digitalWrite(redLedPin,LOW);
}
void loop(void) {
Serial.println("Scanning...");
if (nfc.tagPresent()) // check if an NFC tag is present on the antenna area
{
NfcTag tag = nfc.read(); // read the NFC tag
String scannedUID = tag.getUidString(); // get the NFC tag's UID
if( myUID.compareTo(scannedUID) == 0) // compare the NFC tag's UID with the correct tag's UID (a match exists when compareTo returns 0)
{
// The correct NFC tag was used
Serial.println("Correct Key");
// Blink the green LED and make sure the RED led is off
digitalWrite(greenLedPin,HIGH);
digitalWrite(redLedPin,LOW);
delay(500);
digitalWrite(greenLedPin,LOW);
delay(500);
digitalWrite(greenLedPin,HIGH);
delay(500);
digitalWrite(greenLedPin,LOW);
// put your here to trigger the unlocking mechanism (e.g. motor, transducer)
}else{
// an incorrect NFC tag was used
Serial.println("Incorrect key");
// blink the red LED and make sure the green LED is off
digitalWrite(greenLedPin,LOW);
digitalWrite(redLedPin,HIGH);
delay(500);
digitalWrite(redLedPin,LOW);
delay(500);
digitalWrite(redLedPin,HIGH);
delay(500);
digitalWrite(redLedPin,LOW);
// DO NOT UNLOCK! an incorrect NFC tag was used.
// put your code here to trigger an alarm (e.g. buzzard, speaker) or do something else
}
}
delay(2000);
}
Wenn ich den Code so erweitere funktioniert leider keiner der beiden Shields:
#include <SPI.h>
#include "PN532_SPI.h"
#include "PN532.h"
#include "NfcAdapter.h"
String const myUID = "1234"; // Sring auf Tag
int const greenLedPin = 3; // Grüne Led
int const redLedPin = 4; // Rote Led
//PN532_SPI interface(SPI, 10); // create a SPI interface for the shield with the SPI CS terminal at digital pin 10
//NfcAdapter nfc = NfcAdapter(interface); // create an NFC adapter object
PN532_SPI interface_shield_1(SPI, 10); // create a SPI interface for the shield with the SPI CS terminal at digital pin 10
PN532_SPI interface_shield_2(SPI, 9); // create a SPI interface for the shield with the SPI CS terminal at digital pin 9
NfcAdapter nfc2 = NfcAdapter(interface_shield_1); // create an NFC adapter object for shield one
NfcAdapter nfc1 = NfcAdapter(interface_shield_2); //
void setup(void) {
Serial.begin(115200); // start serial comm
Serial.println("NDEF Reader");
nfc1.begin(); // begin NFC comm
nfc2.begin();
// make LED pins outputs
pinMode(greenLedPin,OUTPUT);
pinMode(redLedPin,OUTPUT);
// turn off the LEDs
digitalWrite(greenLedPin,LOW);
digitalWrite(redLedPin,LOW);
// Hardware Test einfügen !
}
void loop(void) {
Serial.println("Scanning...");
if (nfc2.tagPresent()) // check if an NFC tag is present on the antenna area
{
NfcTag tag = nfc2.read(); // read the NFC tag
String scannedUID = tag.getUidString(); // get the NFC tag's UID
if( myUID.compareTo(scannedUID) == 0) // compare the NFC tag's UID with the correct tag's UID (a match exists when compareTo returns 0)
{
// The correct NFC tag was used
Serial.println("Correct Key");
// Blink the green LED and make sure the RED led is off
digitalWrite(greenLedPin,HIGH);
digitalWrite(redLedPin,LOW);
delay(500);
digitalWrite(greenLedPin,LOW);
delay(500);
digitalWrite(greenLedPin,HIGH);
delay(500);
digitalWrite(greenLedPin,LOW);
// put your here to trigger the unlocking mechanism (e.g. motor, transducer)
}else{
// an incorrect NFC tag was used
Serial.println("Incorrect key");
// blink the red LED and make sure the green LED is off
digitalWrite(greenLedPin,LOW);
digitalWrite(redLedPin,HIGH);
delay(500);
digitalWrite(redLedPin,LOW);
delay(500);
digitalWrite(redLedPin,HIGH);
delay(500);
digitalWrite(redLedPin,LOW);
// DO NOT UNLOCK! an incorrect NFC tag was used.
// put your code here to trigger an alarm (e.g. buzzard, speaker) or do something else
}
}
delay(2000);
}
Das Grundgerüst des Codes habe ich von der Seite des Herstellers: NFC Shield V2.0 | Seeed Studio Wiki
Würde mich freuen wenn von euch mal jmd rüber gucken würde.
Mit freundlichen Grüßen
Mars
mars321:
Das ist der Code den ich benutze und der auch funktioniert mit je einem Shield:
Das ist nicht logisch! Das eine müßte mit D10, das andere mit D9 (Lötbrücke zu SS) funktionieren.
Ist das so und Du hast es nur nicht beschrieben?
agmue:
Das ist nicht logisch! Das eine müßte mit D10, das andere mit D9 (Lötbrücke zu SS) funktionieren.Ist das so und Du hast es nur nicht beschrieben?
Ja du hast recht das wollte ich aber nicht nochmal extra posten der Übersicht halber.
noiasca:
und zwar in derMFRC522 library
Ich weiß jetzt nicht so ganz genau wie mir die Library weiter helfen soll ...