Unit 29: Open for business
Code for Sketch One:
#include
#include
#include // Include TinyDisplay library
#define SS_PIN 10 // Pin for RFID SDA
#define RST_PIN 9 // Pin for RFID RST
#define LED_PIN 6 // Pin for LED (updated to pin 6)
#define CLK_PIN 2 // Pin for display clock
#define DIO_PIN 4 // Pin for display data
MFRC522 rfid(SS_PIN, RST_PIN); // Create MFRC522 instance
TM1637TinyDisplay display(CLK_PIN, DIO_PIN); // Create display instance
void setup() {
SPI.begin(); // Initialize SPI bus
rfid.PCD_Init(); // Initialize RFID reader
pinMode(LED_PIN, OUTPUT); // Set LED as output
digitalWrite(LED_PIN, LOW); // Start with LED off
display.begin(); // Initialize the display
display.setBrightness(7); // Set brightness level
display.showString("----"); // Display dashes at startup
}
void loop() {
// Look for new RFID cards
if (rfid.PICC_IsNewCardPresent() && rfid.PICC_ReadCardSerial()) {
// RFID detected - show "oPEn" and light the LED
display.showString("oPEn"); // Show "oPEn" on display
digitalWrite(LED_PIN, HIGH); // Turn on LED (Pin 6)
delay(3000); // Wait for 3 seconds
// Reset the display and turn off LED
display.showString("----"); // Reset display
digitalWrite(LED_PIN, LOW); // Turn off LED (Pin 6)
// Halt the PICC to prevent multiple readings of the same card
rfid.PICC_HaltA();
delay(1000); // Add delay to avoid multiple detections
}
}