 const int speakerPin = 8;
 const int debounce = 25;
 const int quota = 3600;
+const int pollInterval = 1000;
 const bool reject = true;
 const unsigned long cardTimeout = 2000;
+const unsigned char keyA[] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
+unsigned char readData[bufferSize];
 
 void setup() {
 	Serial.begin(57600);

	Post: Response packet contains serial number of selected tag and data.

*/
void MF_READ(unsigned char numBlocks, unsigned char startAddress) {
	int i = 0;
	unsigned char A[] = { 0x00, 0x0A, CMD_READ, 0x01, numBlocks, startAddress,
						0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
	unsigned char BCC = checksum( A, sizeof(A)/sizeof(A[0]) );
	unsigned char CMD[] = { STX, 0x00, 0x0A, CMD_READ, 0x01, numBlocks, startAddress,
                          0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, BCC, ETX };

	Serial.println("Reading data...");
	//Serial.println(startAddress);

			}
			// check for OFF signal aka falling edge
			else if(previousState == HIGH && signalState == LOW) {
				// calculate elapsed time in seconds
				endTime = (millis() - startTime)/1000;
				if(endTime != 0) {
					Serial.print("Elapsed time: ");
