Hey, i'm using 433mhz RF wireless module and RFID module. And I wanna save RFID card's UID and transport them. I got successed in save the UID, but I couldn't send it. While using only RFID module, serial monitor show what i want, but with RFID module, the serial monitor don't work. I gave you the codes which works and doesn't. I set transmit module' tx pin into pin 4.
I know it would make you annoying, but plz give me some advice. Thank you and have a nice day!
which works:
#include <MFRC522.h>
#include<VirtualWire.h>
#include<SPI.h>
#define RST_PIN 9
#define SS_PIN 10
int j=0;
int h=0;
const int TX_DIO_pin=4;
MFRC522 mfrc(SS_PIN, RST_PIN);
byte drone[6][4];
void setup(){
Serial.begin(9600);
SPI.begin();
mfrc.PCD_Init();
vw_setup(2000);
vw_set_tx_pin(TX_DIO_pin);
}
void loop(){
if ( !mfrc.PICC_IsNewCardPresent() || !mfrc.PICC_ReadCardSerial() )
{
delay(500);
return;
}
if(j<7)
{
Serial.print("\n");
Serial.print("Card UID:");
for(int i=0;i<4;i++)
{
Serial.print(mfrc.uid.uidByte[i],HEX);
drone[j][i]=(mfrc.uid.uidByte[i]);
Serial.print(" ");
}
Serial.print("\n");
Serial.print("drone ");
Serial.print(j+1);
Serial.print(" :");
for(byte k=0;k<4;k++)
{
Serial.print(drone[j][k],HEX);
Serial.print(" ");
}
j++;
}
else if(j==6){
Serial.print("드론은 6개까지만 등록할 수 있습니다.");
}
}
which i want
#include <MFRC522.h>
#include<VirtualWire.h>
#include<SPI.h>
#define RST_PIN 9
#define SS_PIN 10
int j=0;
int h=0;
const int TX_DIO_pin=4;
MFRC522 mfrc(SS_PIN, RST_PIN);
byte drone[6][4];
void setup(){
Serial.begin(9600);
SPI.begin();
mfrc.PCD_Init();
vw_setup(2000);
vw_set_tx_pin(TX_DIO_pin);
}
void loop(){
if ( !mfrc.PICC_IsNewCardPresent() || !mfrc.PICC_ReadCardSerial() )
{
delay(500);
return;
}
if(j<7)
{
Serial.print("\n");
Serial.print("Card UID:");
for(int i=0;i<4;i++)
{
Serial.print(mfrc.uid.uidByte[i],HEX);
drone[j][i]=(mfrc.uid.uidByte[i]);
Serial.print(" ");
}
Serial.print("\n");
Serial.print("drone ");
Serial.print(j+1);
Serial.print(" :");
for(byte k=0;k<4;k++)
{
Serial.print(drone[j][k],HEX);
Serial.print(" ");
}
j++;
}
else if(j==6){
Serial.print("드론은 6개까지만 등록할 수 있습니다.");
goto SEND;
}
SEND:
if(mfrc.uid.uidByte[0]==drone[h][0]&&mfrc.uid.uidByte[1]==drone[h][1]&&mfrc.uid.uidByte[2]==drone[h][2]&&mfrc.uid.uidByte[3]==drone[h][3]){
send("STRART");
send(drone[h][0]);
h++;
delay(1000);
}
}
void send(char *message)
{
vw_send((uint8_t*)message,strlen(message));
vw_wait_tx();
}
