Hello, I am new to Arduino and so I imagine that I have made plenty mistakes, but my code currently seems to be serial printing the wrong values compared to what I have it printing. For example, if cardnumber is 26, then the value 26 is what I wish to be printing, but this is not the case, as it prints additional numbers afterwards. This code is very large in size so I only included the aspects of it which I believe are important.
setup:
#include <SPI.h>
#include <MFRC522.h>
#define RST_PIN 9
#define SS_PIN 10
MFRC522 mfrc522(SS_PIN, RST_PIN);
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
SPI.begin();
mfrc522.PCD_Init();
}
function:
if ( ! mfrc522.PICC_IsNewCardPresent())
{
return;
}
if ( ! mfrc522.PICC_ReadCardSerial())
{
return;
}
int cardnumber;
String content = "";
byte letter;
for (byte i = 0; i < mfrc522.uid.size; i++)
{
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(mfrc522.uid.uidByte[i], HEX);
content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
content.concat(String(mfrc522.uid.uidByte[i], HEX));
}
content.toUpperCase();
if (content.substring(1) == "03 CE 15 94")
{
cardnumber = 1;
}
else if (content.substring(1) == "B3 A9 23 94") {
cardnumber = 2;
}
else if (content.substring(1) == "C3 AB 23 94") {
cardnumber = 3;
}
else if (content.substring(1) == "33 E6 12 94") {
cardnumber = 4;
}
else if (content.substring(1) == "D3 92 24 94") {
cardnumber = 5;
}
else if (content.substring(1) == "73 DF 1A 94") {
cardnumber = 6;
}
else if (content.substring(1) == "83 4F 14 94") {
cardnumber = 7;
}
else if (content.substring(1) == "5B 54 17 BB") {
cardnumber = 8;
}
else if (content.substring(1) == "BB 23 B9 BA") {
cardnumber = 9;
}
else if (content.substring(1) == "A3 7E 23 94") {
cardnumber = 10;
}
else if (content.substring(1) == "73 8C 0F 94") {
cardnumber = 11;
}
else if (content.substring(1) == "73 EB 14 94") {
cardnumber = 12;
}
else if (content.substring(1) == "53 3D 22 94") {
cardnumber = 13;
}
else if (content.substring(1) == "D3 3D 25 94") {
cardnumber = 14;
}
else if (content.substring(1) == "A3 B0 13 94") {
cardnumber = 15;
}
else if (content.substring(1) == "13 BC 21 94") {
cardnumber = 16;
}
else if (content.substring(1) == "13 CA 26 94") {
cardnumber = 17;
}
else if (content.substring(1) == "63 96 15 94") {
cardnumber = 18;
}
else if (content.substring(1) == "C3 BC 12 94") {
cardnumber = 19;
}
else if (content.substring(1) == "43 A5 24 94") {
cardnumber = 20;
}
else if (content.substring(1) == "C3 BE 13 94") {
cardnumber = 21;
}
else if (content.substring(1) == "83 5A 16 94") {
cardnumber = 22;
}
else if (content.substring(1) == "83 8B 14 94") {
cardnumber = 23;
}
else if (content.substring(1) == "33 7C 15 94") {
cardnumber = 24;
}
else if (content.substring(1) == "C3 B1 0D 94") {
cardnumber = 25;
}
else if (content.substring(1) == "65 5E 21 94") {
cardnumber = 26;
}
else if (content.substring(1) == "63 CD 10 94") {
cardnumber = 27;
}
else if (content.substring(1) == "23 26 16 94") {
cardnumber = 28;
}
else if (content.substring(1) == "B3 D7 62 94") {
cardnumber = 29;
}
else if (content.substring(1) == "93 8F 13 94") {
cardnumber = 30;
}
else if (content.substring(1) == "83 B7 23 94") {
cardnumber = 31;
}
else if (content.substring(1) == "93 F7 14 94") {
cardnumber = 32;
}
else if (content.substring(1) == "7C FC 0C 94") {
cardnumber = 33;
}
else if (content.substring(1) == "E3 2A 1D 94") {
cardnumber = 34;
}
else if (content.substring(1) == "23 1B 4B 94") {
cardnumber = 35;
}
else if (content.substring(1) == "53 1A 4F 94") {
cardnumber = 36;
}
else if (content.substring(1) == "E3 CC 0C 94") {
cardnumber = 37;
}
else if (content.substring(1) == "13 A3 52 94") {
cardnumber = 38;
}
else if (content.substring(1) == "23 98 5B 94") {
cardnumber = 39;
}
else if (content.substring(1) == "43 CC 64 94") {
cardnumber = 40;
}
else if (content.substring(1) == "63 19 19 94") {
cardnumber = 41;
}
else if (content.substring(1) == "B3 01 13 94") {
cardnumber = 42;
}
else if (content.substring(1) == "F3 27 19 94") {
cardnumber = 43;
}
else if (content.substring(1) == "E3 88 5B 94") {
cardnumber = 44;
}
else if (content.substring(1) == "A3 25 4A 94") {
cardnumber = 45;
}
else if (content.substring(1) == "C3 28 48 94") {
cardnumber = 46;
}
else if (content.substring(1) == "53 2C 50 94") {
cardnumber = 47;
}
else if (content.substring(1) == "73 2D 50 94") {
cardnumber = 48;
}
else if (content.substring(1) == "23 DF 2F 94") {
cardnumber = 49;
}
else if (content.substring(1) == "83 07 09 94") {
cardnumber = 50;
}
else if (content.substring(1) == "63 90 56 94") {
cardnumber = 51;
}
else if (content.substring(1) == "B3 0F 3C A7") {
cardnumber = 52;
}
else {
cardnumber = 99;
}
delay(1000);
int cardOne;
cardOne = cardnumber;
while ( cardOne == 99) {
cardOne = cardnumber;
}
delay(1000);
Serial.print(cardOne);
while ( ! mfrc522.PICC_IsNewCardPresent() != 0)
{
Serial.println("\n waiting for card TWO\n ");
delay(1000);
}
int cardTwo;
while ( cardOne == cardTwo) {
cardTwo = cardnumber;
while (cardTwo == 99) {
cardTwo = cardnumber;
}
}
delay(1000);
Serial.println(cardTwo);
while ( ! mfrc522.PICC_IsNewCardPresent() != 0)
{
Serial.print("\n waiting for card THREE\n ");
delay(1000);
}
int commCard;
while ( cardTwo == commCard) {
commCard = cardnumber;
while (commCard == 99) {
commCard = cardnumber;
}
}
delay(1000);
Serial.println(commCard);
while ( ! mfrc522.PICC_IsNewCardPresent() != 0)
{
Serial.print("\n waiting for card FOUR\n ");
delay(1000);
}
int commCardTwo;
while ( commCard == commCardTwo) {
commCardTwo = cardnumber;
while (commCardTwo == 99) {
commCardTwo = cardnumber;
}
//Serial.println(commCardTwo);
}
delay(1000);
Serial.println(commCardTwo);
while ( ! mfrc522.PICC_IsNewCardPresent() != 0)
{
Serial.print("\n waiting for card FIVE\n");
delay(1000);
}
int commCardThree;
while ( commCardTwo == commCardThree) {
commCardThree = cardnumber;
while (commCardThree == 99) {
commCardThree = cardnumber;
}
}
delay(1000);
Serial.println(commCardThree);