Skip to content

Commit 579efec

Browse files
committed
Ver1.0
0 parents  commit 579efec

File tree

2 files changed

+153
-0
lines changed

2 files changed

+153
-0
lines changed

arduino_rfid.ino

+86
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
#include <SPI.h>
2+
#include <MFRC522.h>
3+
4+
//LED
5+
#define LED_PIN 7
6+
//RFID PINS
7+
#define RST_PIN 9
8+
#define SS_PIN 10
9+
10+
//Create MFRC522 instance
11+
MFRC522 mfrc522(SS_PIN, RST_PIN);
12+
MFRC522::MIFARE_Key key;
13+
14+
//UID
15+
//UID buffer
16+
int UID_BUF[7];
17+
18+
//CID
19+
//currentTag's CID(Custom ID)
20+
int CID_val;
21+
//preTag's CID
22+
int pre_val;
23+
24+
//Tag's transion status
25+
boolean tag_transition = false;
26+
27+
void setup() {
28+
//SERIAL SETUP
29+
Serial.begin(9600);
30+
while (!Serial);
31+
32+
//RFID and SPI SETUP
33+
//Init SPI bus
34+
SPI.begin();
35+
//Init MFRC522
36+
mfrc522.PCD_Init();
37+
38+
//PIN SETUP
39+
pinMode(LED_PIN, OUTPUT);
40+
digitalWrite(LED_PIN, LOW);
41+
}
42+
43+
void loop() {
44+
dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
45+
tag_transition = transition_finder(pre_val);
46+
digitalWrite(LED_PIN, LOW);
47+
//if Tag is on the Reader
48+
if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) {
49+
//if currentTag's value is changed
50+
if (tag_transition == true) {
51+
pre_val = CID_val;
52+
53+
//Send to PD
54+
Serial.println(CID_val);
55+
led_blink();
56+
}
57+
}
58+
}
59+
60+
61+
//read tag value and convert to int
62+
void dump_byte_array(byte * buffer, byte bufferSize) {
63+
for (byte i = 0; i < bufferSize; i++) {
64+
UID_BUF[i] = buffer[i];
65+
}
66+
CID_val = UID_BUF[1] % 10;
67+
}
68+
69+
//compare preTag's value and currentTag's value
70+
bool transition_finder(int val) {
71+
if (val != CID_val) {
72+
return true;
73+
} else {
74+
return false;
75+
}
76+
}
77+
78+
//LED blink only one time
79+
void led_blink() {
80+
digitalWrite(LED_PIN, HIGH);
81+
delay(50);
82+
digitalWrite(LED_PIN, LOW);
83+
delay(50);
84+
}
85+
86+

rfid_with_osc.pd

+67
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
#N canvas 0 23 733 539 10;
2+
#X msg 235 60 open 1;
3+
#X obj 234 142 comport 9600;
4+
#X obj 236 235 gate 3;
5+
#X obj 283 196 counter 1 3;
6+
#X floatatom 284 272 5 0 0 0 - - -;
7+
#X obj 283 171 bang;
8+
#X obj 297 462 print;
9+
#X obj 232 463 sendOSC;
10+
#X msg 321 172 set 2;
11+
#X msg 32 89 disconnect;
12+
#X msg 235 89 close;
13+
#X msg 236 351 send /ch2 0 1;
14+
#X msg 330 351 send /ch2 1 1;
15+
#X msg 425 350 send /ch2 2 1;
16+
#X msg 519 350 send /ch2 3 1;
17+
#X msg 608 350 send /ch2 4 1;
18+
#X msg 251 380 send /ch2 5 1;
19+
#X msg 345 380 send /ch2 6 1;
20+
#X msg 440 379 send /ch2 7 1;
21+
#X msg 534 379 send /ch2 8 1;
22+
#X msg 623 379 send /ch2 9 1;
23+
#X msg 33 60 connect 192.168.100.101 57138;
24+
#X msg 31 31 connect 127.0.0.1 57138;
25+
#X obj 234 293 route 48 49 50 51 52 53 54 55 56 57;
26+
#X connect 0 0 1 0;
27+
#X connect 1 0 2 1;
28+
#X connect 1 0 5 0;
29+
#X connect 2 0 4 0;
30+
#X connect 2 0 23 0;
31+
#X connect 3 0 2 0;
32+
#X connect 5 0 3 0;
33+
#X connect 8 0 3 0;
34+
#X connect 9 0 7 0;
35+
#X connect 10 0 1 0;
36+
#X connect 11 0 7 0;
37+
#X connect 11 0 6 0;
38+
#X connect 12 0 7 0;
39+
#X connect 12 0 6 0;
40+
#X connect 13 0 7 0;
41+
#X connect 13 0 6 0;
42+
#X connect 14 0 7 0;
43+
#X connect 14 0 6 0;
44+
#X connect 15 0 7 0;
45+
#X connect 15 0 6 0;
46+
#X connect 16 0 7 0;
47+
#X connect 16 0 6 0;
48+
#X connect 17 0 7 0;
49+
#X connect 17 0 6 0;
50+
#X connect 18 0 7 0;
51+
#X connect 18 0 6 0;
52+
#X connect 19 0 7 0;
53+
#X connect 19 0 6 0;
54+
#X connect 20 0 7 0;
55+
#X connect 20 0 6 0;
56+
#X connect 21 0 7 0;
57+
#X connect 22 0 7 0;
58+
#X connect 23 0 11 0;
59+
#X connect 23 1 12 0;
60+
#X connect 23 2 13 0;
61+
#X connect 23 3 14 0;
62+
#X connect 23 4 15 0;
63+
#X connect 23 5 16 0;
64+
#X connect 23 6 17 0;
65+
#X connect 23 7 18 0;
66+
#X connect 23 8 19 0;
67+
#X connect 23 9 20 0;

0 commit comments

Comments
 (0)