2017-11-16 8 views
0

선생님이 방금 프로젝트에 대해 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가 작동하지 않는 경우가 종종 있는데, 일부 시도 후에 다시 작동하기 시작합니다.

감사합니다. 감사합니다. 감사.

+1

왜 I2C를 UART에 연결 했습니까? –

+0

잘못된 핀을 사용하고 있습니다 – Gerhard

답변

1

는 I2C 핀 올바른 연결이다

  • SCL - PC5 (아날로그 A5)
  • SDA - PC4 (아날로그 A4)는

This 부분은 유선으로 UART 통신을 지원 그것. 사용중인 부품에 제공 한 link은 I2C 만 지원하며 유선으로 작동하지 않습니다.

+0

답변/설명 주셔서 감사합니다, 지금 작동 중입니다! –