Add src/arduino/writeBytes.ino
This commit is contained in:
		
							
								
								
									
										79
									
								
								src/arduino/writeBytes.ino
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										79
									
								
								src/arduino/writeBytes.ino
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,79 @@ | ||||
| #include <Wire.h> | ||||
| #include <SPI.h> | ||||
| #include <Adafruit_PN532.h> | ||||
|  | ||||
| #define PN532_IRQ   (2) | ||||
| #define PN532_RESET (3)  // Not connected by default on the NFC Shield | ||||
|  | ||||
| Adafruit_PN532 nfc(PN532_IRQ, PN532_RESET); | ||||
|  | ||||
| void setup(void) { | ||||
|   Serial.begin(115200); | ||||
|   while (!Serial) delay(10); | ||||
|  | ||||
|   Serial.println("Hello!"); | ||||
|  | ||||
|   nfc.begin(); | ||||
|  | ||||
|   uint32_t versiondata = nfc.getFirmwareVersion(); | ||||
|   if (!versiondata) { | ||||
|     Serial.print("Didn't find PN53x board"); | ||||
|     while (1); | ||||
|   } | ||||
|  | ||||
|   Serial.print("Found chip PN5"); | ||||
|   Serial.println((versiondata >> 24) & 0xFF, HEX); | ||||
|   Serial.print("Firmware ver. "); | ||||
|   Serial.print((versiondata >> 16) & 0xFF, DEC); | ||||
|   Serial.print('.'); | ||||
|   Serial.println((versiondata >> 8) & 0xFF, DEC); | ||||
|  | ||||
|   Serial.println("Waiting for an ISO14443A Card ..."); | ||||
| } | ||||
|  | ||||
| void loop(void) { | ||||
|   uint8_t success; | ||||
|   uint8_t uid[] = {0, 0, 0, 0, 0, 0, 0}; | ||||
|   uint8_t uidLength; | ||||
|  | ||||
|   success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &uidLength); | ||||
|  | ||||
|   if (success) { | ||||
|     Serial.println("Found an ISO14443A card"); | ||||
|     Serial.print("  UID Length: "); | ||||
|     Serial.print(uidLength, DEC); | ||||
|     Serial.println(" bytes"); | ||||
|     Serial.print("  UID Value: "); | ||||
|     for (uint8_t i = 0; i < uidLength; i++) { | ||||
|       Serial.print(uid[i], HEX); | ||||
|       if (i + 1 < uidLength) { | ||||
|         Serial.print(", "); | ||||
|       } | ||||
|     } | ||||
|     Serial.println(""); | ||||
|  | ||||
|     // Authenticate to write to Block 7 | ||||
|     uint8_t keya[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; | ||||
|     success = nfc.mifareclassic_AuthenticateBlock(uid, uidLength, 7, 0, keya); | ||||
|      | ||||
|     if (success) { | ||||
|       Serial.println("Authentication successful. Writing to Block 7..."); | ||||
|  | ||||
|       // Data to write (replace with your own data) | ||||
|       uint8_t data[16] = {0x1C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; | ||||
|  | ||||
|       // Write to Block 7 | ||||
|       success = nfc.mifareclassic_WriteDataBlock(7, data); | ||||
|  | ||||
|       if (success) { | ||||
|         Serial.println("Write successful"); | ||||
|       } else { | ||||
|         Serial.println("Write failed"); | ||||
|       } | ||||
|     } else { | ||||
|       Serial.println("Authentication failed"); | ||||
|     } | ||||
|  | ||||
|     delay(1000); | ||||
|   } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user