Badgeuse RFID d'entrée et de sortie et système de facturation


bonjour à tous,

dans le cadre d'un stage dans une start up, j'ai comme projet de confectionner une badgeuse afin d'effectuer un suivis simplifié et plus précis sur l'ensemble des activiés des membres. le est donc de creer une badgeuse d'entrée et de sortie et d'y gérer la gestion en sorte que les membres de l'atelier peuvent y rentrer 7jr/7 24h/24.
la gestion par badge ainsi que l'utilisation des machines doivent permettre la reservation de créneau horaires, l'acces à l'atelier, la mise en fonctionnement des machines ainsi que la faturation des prestations des comptes des utilisateurs.

pour le moment j'ai commandé un lecteur rfid 13.56mhz et je l'ai programmé, ainsi j'arrive à lire mes badges et à la fois à affiché sur un écran lcd si la carte est autorisé ou non mais aussi à allumer des led rouges et vertes suivant le fontionnement ou non du badge.

a present, il me faut faire en sorte que quand je détecte un badge, un compteur se mets en route et ce jusqu'à ce que cette même carte soit re badger. sachant que plusieurs autre carte peuvent etre lu entre temps.

merci pour votre aide  :)


voici le code que j'utilise pour l'instant :

code: [select]
#include <softwareserial.h>
#include <liquidcrystal.h>

liquidcrystal lcd(12, 11, 5, 4, 3, 7);
softwareserial rfid(2, 3); // rx , tx

int data1 = 0;
int ok = -1;
int yes = 13;
int no = 8;
int m=0;
int test1=0;
int tempo=0;

// use first sketch in http://wp.me/p3lk05-3gk tag numbers
int tag1[14] = {2,48,68,48,48,53,48,54,51,68,67,69,50,3};
int tag2[14] = {2,49,48,48,48,53,67,66,70,66,48,52,51,3};
int newtag[14] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0}; // used read comparisons

void setup()
{
 rfid.begin(9600);    // start serial rfid reader
 serial.begin(9600);  // start serial pc
 pinmode(yes, output); // status leds
 pinmode(no, output);
 lcd.begin(16, 2);
 lcd.print("chez la start up!");
}

boolean comparetag(int aa[14], int bb[14])
{
 boolean ff = false;
 int fg = 0;
 for (int cc = 0 ; cc < 14 ; cc++)
 {
   if (aa[cc] == bb[cc])
   {
     fg++;
   }
 }
 if (fg == 14)
 {
   ff = true;
 }
 return ff;
}

void checkmytags() // compares each tag against tag read
{
 ok = 0; // variable helps decision-making,
 // if 1 have match, 0 read no match,
 // -1 no read attempt made
 if (comparetag(newtag, tag1) == true)
 {
   ok++;
 }
 if (comparetag(newtag, tag2) == true)
 {
   ok++;
 }
}

void readtags()
{
 ok = -1;

 if (rfid.available() > 0)
 {
   // read tag numbers
   delay(100); // needed allow time data come in serial buffer.

   for (int z = 0 ; z < 14 ; z++) // read rest of tag
   {
     data1 = rfid.read();
     newtag[z] = data1;
   }
   rfid.flush(); // stops multiple reads

   // tags match up?
   checkmytags();
 }

 // based on tag type
 if (ok > 0) // if had match
 {
   serial.println("acces autorise");
   digitalwrite(yes, high);
   delay(1000);
   digitalwrite(yes, low);

//affichage de l'acces autorisé
   lcd.setcursor(0,0);
   lcd.print("chez la start up! ");
   lcd.setcursor(0,1);
   lcd.print("acces autorise");
   
   ok = -1;
 }
 else if (ok == 0) // if didn't have match
 {
   serial.println("acces refuse");
   digitalwrite(no, high);
   delay(1000);
   digitalwrite(no, low);

//affichage de l'acces refusé
   lcd.setcursor(0,0);
   lcd.print("chez la start up! ");
   lcd.setcursor(0,1);
   lcd.print("acces refuse");
   
   ok = -1;
 }

}

void affiche()
{
 lcd.setcursor(0, 1);
 lcd.print(millis() /1000);
 }
 
     
 void loop()
{
 readtags();
[size=10pt][/size]
}


...

pour le moment j'ai commandé un lecteur rfid 13.56mkhz et je l'ai programmé, ainsi j'arrive à lire mes badges et à la fois à affiché sur un écran lcd si la carte est autorisé ou non mais aussi à allumer des led rouges et vertes suivant le fontionnement ou non du badge.

a present, il me faut faire en sorte que quand je détecte un badge, un compteur se mets en route et ce jusqu'à ce que cette même carte soit re badger. sachant que plusieurs autre carte peuvent etre lu entre temps.

merci pour votre aide  :)

...

:smiley-mr-green:
quote
13.56mkhz

faut choisir ton camp ! , un (futur) ingé se doit d'etre précis  8)
bon :
dimensionne correctement ton probleme : et déjà = combien de cartes rfid circule(ront) dans la nature pour cette appli ?


Arduino Forum > International > Français (Moderators: jfs, Snootlab) > Badgeuse RFID d'entrée et de sortie et système de facturation


arduino

Comments

Popular posts from this blog

Connecting Raspberry Pi 2 to P10(1R)-V706 LED Dot Matrix - Raspberry Pi Forums

TypeError: <unknown> is not a numpy array - Raspberry Pi Forums

datso and removing imagetitle - Joomla! Forum - community, help and support