ESP32-Controlled MP3 Player with OLED Display and Interactive Controls
View and Edit Project In Cirkit Designer
Circuit Documentation
Summary
The circuit in question appears to be a complex system involving a microcontroller (ESP32 Mini), a sound module (DFPlayer MINI), a display (0.96" OLED), multiple limit switches, a potentiometer, a battery charging module (TP4056), and several terminal PCBs for connections. The ESP32 Mini serves as the central processing unit, interfacing with the DFPlayer MINI for audio output, the OLED display for visual feedback, and the potentiometer for analog input. The limit switches seem to be used as input devices, possibly for detecting positions or triggering events. The TP4056 module is used for battery charging and protection, ensuring a stable power supply for the circuit.
Component List
ESP32 Mini
- Microcontroller with a variety of GPIO pins.
- Interfaces with several components including the DFPlayer MINI, OLED display, and potentiometer.
- Provides power to certain components and handles digital and analog signals.
DFPlayer MINI
- A compact audio module that can play various audio files from a microSD card.
- Communicates with the ESP32 Mini via serial connection (RX/TX).
- Drives speakers connected to its SPK1 and SPK2 pins.
0.96" OLED
- A small display that provides visual feedback.
- Uses I2C communication protocol (SCK/SDA) interfaced with the ESP32 Mini.
Limit Switches
- Mechanical switches that act as digital inputs to the ESP32 Mini.
- Typically used to detect the presence or position of objects.
Potentiometer
- Provides variable resistance, used as an analog input to the ESP32 Mini.
TP4056 Battery Charging Protection Module (Type C)
- Manages charging and protection for a connected battery.
- Interfaces with the ESP32 Mini and DFPlayer MINI for power distribution.
Terminal PCB 2 Pin
- Used for making easy and secure connections between components in the circuit.
Wiring Details
ESP32 Mini
GPIO33connected to a limit switch (NO pin).GNDconnected to the common ground net.TCKandTDIconnected to limit switches (NO pins).GPIO22andGPIO21connected to the OLED display (SDA/SCK pins).GPIO17andGPIO16connected to the DFPlayer MINI (RX/TX pins).VCCand3.3Vprovide power to the DFPlayer MINI and other components.GPIO34connected to the potentiometer output.
DFPlayer MINI
RXandTXconnected to the ESP32 Mini for serial communication.GNDconnected to the common ground net.VCCconnected to the ESP32 Mini's VCC and the TP4056's OUT +.SPK1andSPK2connected to terminal PCBs for speaker output.
0.96" OLED
GNDconnected to the common ground net.VDDconnected to the ESP32 Mini's 3.3V.SCKandSDAconnected to the ESP32 Mini for I2C communication.
Limit Switches
NOpins connected to various GPIO pins on the ESP32 Mini.Cpins interconnected among all limit switches.
Potentiometer
GNDconnected to the common ground net.VCCconnected to the ESP32 Mini's 3.3V.Outputconnected to the ESP32 Mini's GPIO34.
TP4056 Battery Charging Protection Module (Type C)
OUT +connected to the DFPlayer MINI's VCC.OUT -connected to the DFPlayer MINI's GND.
Terminal PCB 2 Pin
- Used to facilitate connections between various components such as the ESP32 Mini, DFPlayer MINI, limit switches, and the OLED display.
Documented Code
No code has been provided for the microcontroller(s) in the circuit. Typically, the code would be documented here, including setup routines, main loops, function definitions, and any libraries used for interfacing with the components mentioned above. The code would handle the initialization of the components, the main operational logic of the circuit, and any interrupt service routines or callbacks required for the components to interact with each other.