선생님이 방금 프로젝트에 대해 NFC 태그 v1.0을 제공해 주셨습니다. 문을 열려면 전화기를 사용해야합니다. NFC 태그 v1.0 및 arduino UNO
나는 인터넷을 검색하고 난 그냥이 코드 발견 : http://wiki.seeed.cc/Grove-NFC_Tag/내가 전화로 연결하여 블록을 변경하는 데 사용
#include "NfcTag.h"
#include <Wire.h>
NfcTag nfcTag;
int led = 5;
bool flag = false;
bool preFlag = false;
void setup(){
Serial.begin(9600);
pinMode(led,OUTPUT);
nfcTag.init();
}
void loop(){
flag = nfcTag.readByte(EEPROM_I2C_LENGTH-1) == 0xff?true:false;
if(flag != preFlag){
Serial.println("get remote NFC control signal!");
if(flag == true){
Serial.println("led will light up!");
digitalWrite(led,HIGH);
}else{
Serial.println("led will turn dark!");
digitalWrite(led,LOW);
}
preFlag = flag;
}
delay(5*1000);
}
이 자신의 위키에서 제공합니다. 문제는 내가 그것을 시도 할 때 LED가 전혀 작동하지 않는다는 것입니다. 나는 LED를 시도하고 그는 일하고있다, 나는 또한 LED와 Arduino UNO에 디지털 핀을 시도뿐만 아니라 작동합니다. 또한 모니터에 printLn이 표시되지 않습니다.
나는 그들을 연결하려면이 방법을 사용 :
SCL - RX를
SDA - TX
GND - GND
5V - 나는 또한에 코드를 사용
VCC 디버그하지만 readByte에 사용하는 주소가 무엇이든 관계없이 앱을 사용하여 휴대 전화를 변경 한 후에도 항상 127을 받게됩니다.
#include "NfcTag.h"
#include <Wire.h>
NfcTag nfcTag;
bool flag = false;
bool preFlag = false;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("starting sequence");
nfcTag.init();
}
void loop() {
// put your main code here, to run repeatedly:
Serial.println("checking for nfc");
//flag = nfcTag.readByte(EEPROM_I2C_LENGTH-1) == 0xff?true:false;
//Serial1.println(flag);
Serial.println(nfcTag.getICNumber());
Serial.println(nfcTag.getAFI());
Serial.println(nfcTag.getRFU());
Serial.println(nfcTag.getMemoryVolume());
Serial.println("result:");
Serial.println(nfcTag.readByte(EEPROM_I2C_LENGTH-1)); //I tried changeing manualy the value, but the output still 127.
delay(2000);
}
출력 : I는 LED가 작동 넣을 수 있다면
checking for nfc
127
127
32639
8355711
result:
127
, 나는 이미 PIN5의 출구에 전력 변환기 트랜지스터, 그래서 문이 잠금을 해제 할 수 있습니다.
그런데 NFC가 작동하지 않는 경우가 종종 있는데, 일부 시도 후에 다시 작동하기 시작합니다.
감사합니다. 감사합니다. 감사.
왜 I2C를 UART에 연결 했습니까? –
잘못된 핀을 사용하고 있습니다 – Gerhard