Module RFID de HY502B pour pcDuino (3 / 5 étapes)

Étape 3: Code

Code de lecture de HY502B
#include & quot;core.h & quot ;
#include & quot ; Wire.h & quot ;
#include & quot ; LiquidCrystal.h & quot ;
#include & quot;string.h & quot ;
#define uchar unsigned char
#define uint unsigned int
Innovente lcd(0) ;
Définitions d’état de Bus SPI
#define SPI_RDY 0xF0 / / prêt
#define spibusy 0xaa / / occupé
#define spiread 0xbb / / écriture
#define spiwrite 0xcc / / lire
#define SCL_0 digitalWrite(13,LOW)
#define SCL_1 digitalWrite(13,HIGH)
#define MISO digitalRead(12)
#define MOSI_0 digitalWrite(11,LOW)
#define MOSI_1 digitalWrite(11,HIGH)
#define NSS_0 digitalWrite(10,LOW)
#define NSS_1 digitalWrite(10,HIGH)
#define SIG digitalRead(9)
#define succès 0
#define échec 1
g_cReceBuf UCHAR [10] ;
UCHAR [] ComPWRdwn = {0 x 02, 0 x 03} ;
UCHAR [] ComAutoSearchCard = {0 x 03, 0 x 13, 0 x 01} ;
UCHAR [] ComGetCardSn = {0 x 02, 0 x 20} ;
UCHAR [] ComHaltCard = {0 x 02, 0 x 12} ;
Sub port_init()
{
pinMode(13,OUTPUT) ;
pinMode(12,INPUT) ;
pinMode(11,OUTPUT) ;
pinMode(10,OUTPUT) ;
pinMode(9,INPUT) ;
}
unsigned char SPIRWByte (unsigned char cSendByte)
{
unsigned char j’ai = 8 ;
unsigned char cRecByte ;
tandis que (i)--
{
cRecByte * = 2 ;
SCL_0 ;
delayMicroseconds(2) ;
Si ((cSendByte & amp; 0 x 80) == 0 x 80) MOSI_1 ;
d’autre MOSI_0 ;
cSendByte * = 2 ;
cRecByte | = (unsigned char)(MISO) ;
SCL_1 ;
delayMicroseconds(2) ;
}
SCL_1 ;
Return cRecByte ;
}
unsigned char spi_cStatus(void)
{
unsigned char cStatus ;
NSS_0 ;
cStatus=SPIRWByte(spibusy) ;
cStatus=SPIRWByte(0xFF) ;
NSS_1 ;
Return cStatus ;
}
unsigned char SPI_Read (unsigned char * cP)
{
unsigned char cCnt, cStatus ;
unsigned char cCheckSum = 0 ;
pour (cCnt = 0 cCnt & lt ; 100 ; cCnt ++)
{
cStatus=spi_cStatus() ;
if(cStatus==0xF0)
{
cCnt = 253 ;
}
Delay(10) ;
}
if(cCnt==254)
{
NSS_0 ;
cCnt=SPIRWByte(spiread) ;
cP [0] = 0 x 01 ;
pour (cCnt = 0 cCnt & lt; cP [0]; cCnt ++)
{
cP [cCnt] = SPIRWByte(0xFF) ;
cCheckSum ^ = cP [cCnt] ;
Si (cP [0] & gt ; 32)
{
NSS_1 ;
retourne l’échec ;
}
}
cP [cCnt] = SPIRWByte(0xFF) ;
NSS_1 ;
Si (cCheckSum == cP[cCnt])
{
retourner un succès ;
}
}
retourne l’échec ;
}
unsigned char SPI_Write (unsigned char * cP)
{
unsigned char i, cStatus ;
unsigned char cCheckSum = 0 ;
NSS_0 ;
cStatus=SPIRWByte(spiwrite) ;
pour (i = 0; i & lt; cP [0]; i ++)
{
cCheckSum ^ = cP [i] ;
cStatus=SPIRWByte(cP[i]) ;
}
cStatus=SPIRWByte(cCheckSum) ;
NSS_1 ;
Return cStatus ;
}
void setup()
{
LCD.Begin (16, 2) ;
LCD.Clear() ;
LCD.Print (& quot ; lire la carte d’identité : & quot;) ;
lcd.setBacklight(HIGH) ;
port_init() ;
}
void loop()
{
UCHAR cStatus, i ;
UCHAR * ACP ;
while (1)
{
lcd.setCursor(0,0) ;
LCD.Print (& quot ; lire la carte d’identité : & quot;) ;
lcd.setCursor(0,1) ;
LCD.Print (& quot ; aucune carte, attente. & quot;) ;
if(SIG==Low)
{
Delay(100) ;
cPa = ComGetCardSn ;
SPI_Write(CPA) ;
Delay(100) ;
cStatus = SPI_Read(g_cReceBuf) ;
SPI_Write(ComHaltCard) ;
lcd.setCursor(0,1) ;
LCD.Print (& quot ; carte ID: & quot;) ;
pour (i = 2; & lt; 6; i ++)
LCD.Print(g_cReceBuf[i],hex) ;
while (!. SIG) ;
}
}
}

Vous pouvez télécharger le code ici : HY502B

Articles Liés

Bluetooth USB Module Mini pour pcDuino

Bluetooth USB Module Mini pour pcDuino

Bluetooth est un genre de technologie Radio qui supportent la communication courte distance équipement (généralement moins de 10 m). Incluent le téléphone mobile, PDA, casque sans fil, ordinateurs portables et périphériques connexes et beaucoup d'aut
RGB - Led Strip 12 V contrôlée par un ATtiny85 avec un Module RFID 125kHz

RGB - Led Strip 12 V contrôlée par un ATtiny85 avec un Module RFID 125kHz

L'idée de base m'a donné ce côté RGB-RFID-lampe. Mais depuis que j'ai beaucoup ATtiny85 je vais utiliser ce microcontrôleur. Pour le rendre plus facile pour moi, j'ai testé toutes les partie tout d'abord sur un Arduino Uno.Matériel :1 x RGB – bande L
Jeu Pong avec Scratch pour pcDuino

Jeu Pong avec Scratch pour pcDuino

pcDuino équipe a développé une version personnalisée du Scratch pour pcDuino. Il est assez facile de l'installer. Nous avons simplement besoin de taper : $sudo apt-get install pcduino-scratch Dans ce tutoriel, nous allons voir comment créer un jeu de
Comment installer et utiliser le module Bluetooth JY-MCU pour Arduino

Comment installer et utiliser le module Bluetooth JY-MCU pour Arduino

Bonjour, dans ce instructable je vais enseigner vous comment installer et utiliser le module Bluetooth JY-MCU pour Arduino. Ce petit module vous permettra de contrôler votre arduino sans fil à partir de votre ordinateur ou votre téléphone. Permet de
Utilisation de LEGO® Education WeDo™ robotics kit avec Scratch pour pcDuino

Utilisation de LEGO® Education WeDo™ robotics kit avec Scratch pour pcDuino

Dans ce post, nous expliquons comment appliquer le patch pour la version 2014-07-21 de pcDuino3 image afin de pouvoir pour utiliser le kit de robotique LEGO® Education WeDo™ avec Scratch pour pcDuino.Le pilote peut être téléchargé depuis https://s3.a
Imprimante 3D utiliser pour imprimer l’enveloppe pour pcDuino 3

Imprimante 3D utiliser pour imprimer l’enveloppe pour pcDuino 3

pcDuino est une nouvelle étoile dans le marché de l'open source, il a l'IDE Arduino, il est facile pour vous d'avoir l'accès à l'arbitraire électronique à l'instar de l'Arduino, en revanche, si vous avez besoin de puissance ou d'un processeur ARM à f
Bouclier infrarouge pour pcDuino

Bouclier infrarouge pour pcDuino

Infrarouge est un type de communication sans fil, qui peut être utilisé pour transmettre des données sans fil.Depuis son invention en 1974, il a été largement utilisée, par exemple, infrarouge souris, imprimante infrarouge, claviers IR et ainsi de su
RFID, un Souvenir pour lire une YouTube vidéo de marquage

RFID, un Souvenir pour lire une YouTube vidéo de marquage

Surprenez vos convives en liant tous les objets dans votre maison aux vidéos en ligne ! Par exemple, chez moi, si un invité ramasse un des morceaux de mon ensemble de thé et le place sur une superficie de ma table de café, il joue un film de mon voya
Module de portique XY pour imprimante Lum

Module de portique XY pour imprimante Lum

L'imprimante de métier à tisser est un nouveau type d'imprimante 3D FDM/FFF avec un volume de production illimitées. J'ai développé ce prototype de validation pendant début 2014 lors de ma résidence à Autodesk Pier 9 pour explorer la plus grande fabr
Linker OLED pour pcDuino

Linker OLED pour pcDuino

Les OLED module Éditeur de liens est un écran OLED mesurée à 0,96 "et avec une résolution de 128 x 64. Il communique avec l'hôte via interface IIC. Il est de haute luminosité, angle de vue large, faible consommation et faible encombrement.Étape 1: ca
Module simple d’EEPROM pour Arduino ou autre microcontrôleur

Module simple d’EEPROM pour Arduino ou autre microcontrôleur

EEPROMs vous seront utiles si vous souhaitez stocker des données sans perdre. De nombreux microcontrôleurs viennent avec une EEPROM interne, mais comme EEPROMs ont un nombre fini (bien que très grand) d'écritures avant qu'ils commencent à devenir déf
Tic Tac Toe Twitter bot pour PCDuino

Tic Tac Toe Twitter bot pour PCDuino

Matériaux-PCDuino3-Moniteur, souris et clavier (ou un autre moyen d'accéder à votre PCDuino)-Maquette-LEDs-Fils de raccordement-RésistanceEtape 1: Créez un compte TwitterIl faut tout d'abord créer un compte Twitter pour notre bot. Allez sur https://t
Module relais 12VDC/220VAC pour Arduino (fabrication artisanale)

Module relais 12VDC/220VAC pour Arduino (fabrication artisanale)

Hi there ! Il y a quelques jours, j'ai fait un module relais petite pour mon Arduino. Le problème est que j'ai fondé dans mon magasin local de pièces électroniques, relais contrôlés par 12V au lieu de 5V car elle est requise par l'Arduino. Alors j'ai
Lecteur RFID + tags programmés pour jouer les vidéos

Lecteur RFID + tags programmés pour jouer les vidéos

Avec cette instuctable, je vais vous montrer comment construire et programmer un RFID avec les balises liées à vos vidéos préférées. Aussi, il y aura un fichier PDF, que vous serez en mesure de télécharger, avec la forme d'une zone à couvrir et de re