Pages: [1]   Go Down
Author Topic: [Risolto] Utilizzo del modulo 125Khz RFID - UART  (Read 409 times)
0 Members and 1 Guest are viewing this topic.
Roma
Offline Offline
Newbie
*
Karma: 1
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buondì,

Sono un neofita del mondo Arduino e i problemi si presentano fin dall'inizio!
Possiedo una scheda arduino UNO r3 e tutti gli impicci relativi dei più classici starter-kit in vendita (jumper, reistenze, etc.).
Siccome vorrei realizzare un simpatico progetto da portare per l'Esame di Automatica, allora ho anche acquistato l'RFID-UART, con relatice Schede e Tag.
Voglio provare le potenzialità di questo aggeggio, quindi voglio testare una cosa semplice-semplice!

I collegamenti sono i seguenti:
Pin 1 dell'RFID a TX di Arduino
Pin 2 dell'RFID a niente
Pin 3 dell'RFID a niente
Pin 4 dell'RFID a GND di Arduino
Pin 5 dell'RFID a +5 V di Arduino

Questo è il codice
Code:
#include <SoftwareSerial.h>

#define ADD_TAG_CODE "210014DFE309"  
#define DEL_TAG_CODE "210014E2BD6A"  

SoftwareSerial rfid = SoftwareSerial(5, 6);
String msg;
String ID ;  //string to store allowed cards

void setup()  
{
  Serial.begin(9600);
  Serial.println("Serial Ready");

  rfid.begin(9600);
  Serial.println("RFID Ready");
}

char c;

void loop(){
  
  while(rfid.available()>0){
    c=rfid.read();
    msg += c;
    Serial.println(msg);  
    Serial.println(msg.length());
  }
  msg=msg.substring(1,13);
  if(msg.indexOf(ADD_TAG_CODE)>=0) add();
  else if(msg.indexOf(DEL_TAG_CODE)>=0) del();  
  else if(msg.length()>10) verifica();
  msg="";
  
}

void add(){
  Serial.print("Quale TAG deve ottenere l'accesso?: ");
  msg="";
  while(msg.length()<13){
    while(rfid.available()>0){
      c=rfid.read();
      msg += c;
    }
  }
  if(ID.indexOf(msg)>=0) {
    Serial.println("\nAccesso consentito per questa TAG.");
    msg="";
  }
  else{
    Serial.print("Tessera: ");
    Serial.println(msg);
    ID += msg;
    ID += ",";
    //Serial.print("ID: ");
   // Serial.println(ID);
    msg="";
    Serial.println("Accesso Garantito per questa Tessera.");
  }

}

void del(){
  msg="";
  Serial.print("Quale Tag deve perdere l'accesso?: ");
  while(msg.length()<13){
    while(rfid.available()>0){
      c=rfid.read();
      msg += c;
    }
  }
  msg=msg.substring(1,13);
  if(ID.indexOf(msg)>=0){
    Serial.println(msg);
    Serial.println("TAG trovata. Accesso eliminato.");
    //ID.replace(card,"");
    int pos=ID.indexOf(msg);
    msg="";
    msg += ID.substring(0,pos);
    msg += ID.substring(pos+15,ID.length());
    ID="";
    ID += msg;
    //Serial.print("ID: ");
    //Serial.println(ID);
  } else Serial.println("\nTAG non trovata... Operazione non completata!");
  msg="";
}

void verifica(){
    msg=msg.substring(1,13);
    if(ID.indexOf(msg)>=0) Serial.println("Accesso Consentito!!!");
    
    else Serial.println("Access Negato!!!");

Risultato? Sulla schermata del Seriale non ricevo niente (A parte le scritte Serial Ready e RFID ready...)

Per fare delle prove, ho anche collegato il Pin 2 dell'RFID a RX di Arduino, ma mi rendeva impossibile caricare il codice sulla scheda Arduino!
Ho staccato quindi il collegamento del Pin 2->Rx, ho caricato il codice, quindi ho effettuato nuovamente il collegamento: niente da fare!

Se i collegamenti che ho riportato sono poco chiari posso allegare una foto (giusto il tempo di trovare la macchinetta fotografica^^").

Le fonti che ho utilizzato sono le seguenti:
http://www.instructables.com/id/Arduino-and-RFID-from-seeedstudio/step1/What-you-gonna-need/

Questo è il video di ciò che vorrei ottenere:

« Last Edit: July 23, 2013, 07:03:31 pm by Laendor » Logged

Tuscany
Offline Offline
Edison Member
*
Karma: 68
Posts: 1992
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buondi'

prima di tutto i collegamenti
A quale Pin di Arduino hai collegato il Tx dell' RFID ?
va' messo sul pin 5, visto che hai dichiarato 

SoftwareSerial rfid = SoftwareSerial(5, 6);
Logged

Roma
Offline Offline
Newbie
*
Karma: 1
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

OMG, io pensavo di collegarlo al pin TX di Arduino, quindi il pin 2!
Che figura da nabbo... effettuo immediatamente il test....

E' vero che tutta questa discussione può essere cancellata smiley-lol?
Logged

Monselice PD Italy
Offline Offline
Faraday Member
**
Karma: 26
Posts: 5495
фон Крыса
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Solo amministratori e mod possono eliminare una discussione, la possibilità di cancellare il proprio topic dallo stesso autore è stata tolta tempo addietro...
Logged

Se corri veloce come un fulmine, ti schianterai come un tuono.

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 251
Posts: 21279
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

OMG, io pensavo di collegarlo al pin TX di Arduino, quindi il pin 2!
Che figura da nabbo... effettuo immediatamente il test....

E' vero che tutta questa discussione può essere cancellata smiley-lol?
Comunque il pin TX del modulo RFID va attacato al pin RX del Arduino e il RX della seriale hardware del Arduino Uno é il pin0
Ciao Uwe
Logged

Pages: [1]   Go Up
Jump to: