RFID + Voltage Amplifier Triggered MP3 Player

by owen000821 in Circuits > Arduino

51 Views, 0 Favorites, 0 Comments

RFID + Voltage Amplifier Triggered MP3 Player

ChatGPT Image Sep 2, 2025, 12_14_39 PM.png
ChatGPT Image Sep 2, 2025, 12_14_39 PM.png

This DIY project combines an RFID MP3 player with a high-precision voltage amplifier module. Instead of just using RFID tags to trigger audio files, the system can also react to tiny sensor signals (like thermocouples, strain gauges, or other low-level sensors). When the amplified voltage crosses a set threshold, a specific MP3 file plays automatically.

This hybrid design makes the project ideal for:

  1. Interactive learning systems
  2. Science demonstrations (sound cues for sensor events)
  3. Smart toys or exhibits

We’ll use the AD620-based Voltage Amplifier Module from EasyElecModule as the core component.


Supplies

images.jpeg

Components Required

  1. Arduino Uno / Nano (or ESP32)
  2. DFPlayer Mini MP3 player + microSD card
  3. MFRC522 RFID reader + tags
  4. Voltage Amplifier Module (AD620) – Product link
  5. Small 8Ω speaker (3W recommended)
  6. OLED Display (optional) – SSD1306
  7. Breadboard + jumper wires
  8. Power supply (5V USB or battery pack)


Circuit Connections

RFID (MFRC522 → Arduino)

  1. SDA → D10
  2. SCK → D13
  3. MOSI → D11
  4. MISO → D12
  5. RST → D9
  6. VCC → 3.3V
  7. GND → GND

DFPlayer Mini → Arduino

  1. RX → D5
  2. TX → D6
  3. VCC → 5V
  4. GND → GND
  5. SPK+ / SPK- → Speaker

Voltage Amplifier Module → Arduino

  1. VCC → 5V
  2. GND → GND
  3. OUT → A0 (analog input)
  4. Signal input → connect your sensor (microvolt/millivolt level)


download (1).jpeg

Arduino Code (Template)


#include <SPI.h>
#include <MFRC522.h>
#include <SoftwareSerial.h>
#include <DFRobotDFPlayerMini.h>

#define RST_PIN 9
#define SS_PIN 10
MFRC522 rfid(SS_PIN, RST_PIN);

SoftwareSerial mySerial(5, 6); // RX, TX for DFPlayer
DFRobotDFPlayerMini myDFPlayer;

const int analogPin = A0; // Amplifier output
const int threshold = 400; // Adjust after calibration

void setup() {
Serial.begin(9600);
SPI.begin();
rfid.PCD_Init();

mySerial.begin(9600);
if (!myDFPlayer.begin(mySerial)) {
Serial.println("DFPlayer not detected!");
while (true);
}
myDFPlayer.volume(25); // Set volume (0–30)

Serial.println("System ready: RFID + Amplifier MP3 Player");
}

void loop() {
// --- RFID Check ---
if (rfid.PICC_IsNewCardPresent() && rfid.PICC_ReadCardSerial()) {
Serial.println("RFID detected!");
myDFPlayer.play(1); // Play MP3 track #1
delay(2000);
}

// --- Amplifier Input Check ---
int sensorValue = analogRead(analogPin);
if (sensorValue > threshold) {
Serial.print("Signal detected: ");
Serial.println(sensorValue);
myDFPlayer.play(2); // Play MP3 track #2
delay(2000);
}
}

Calibration

  1. Upload the code and open Serial Monitor.
  2. Note down the baseline value of the amplifier output with no input.
  3. Increase the gain using the onboard potentiometer until the sensor signal is clearly visible.
  4. Set the threshold variable slightly above the noise floor.

Testing the System

  1. RFID Mode: Place a tag near the reader → Track #1 plays.
  2. Amplifier Mode: Inject a small signal (e.g., from a thermocouple or function generator) → Track #2 plays when voltage exceeds threshold.

Extensions

  1. Add more tracks for different tags or voltage ranges.
  2. Display messages on an OLED screen.
  3. Use buttons to adjust threshold without reprogramming.
  4. Make it portable with a Li-ion battery pack.