This project is designed for the WT32-SC01 hardware and provides a matrix switcher system for managing button states using a touch-enabled display. It includes features such as EEPROM storage, touch control, and customizable button states.
The aim of this project is to create a dynamic interface using the WT32-SC01 for managing multiple buttons in a matrix layout. Key objectives include:
- Implementation of a capacitive touch system.
- Customizable button states with persistent storage.
- Integration with a TFT display for visualization and interaction.
Key project settings include:
- AUTO_SLEEP: Enables or disables automatic sleep mode.
- AUTO_SLEEP_TIME: Defines the timeout for auto-sleep in milliseconds.
- DELAY_TOUCH: Sets the delay after each touch input in milliseconds.
- COLOR_ON / COLOR_OFF: Define the colors for active and inactive buttons.
- ledBrightness: Sets the backlight brightness level.
The following libraries are used in the project:
- TFT_eSPI: For managing the TFT display.
- FT6236: For capacitive touch control.
- EEPROM: For persistent storage.
- SPI & Wire: For communication.
- Button dimensions, spacing, and text size can be adjusted.
- Custom touch pins and backlight control pins.
- WT32-SC01: Primary hardware.
- Capacitive Touchscreen: Integrated with WT32-SC01.
- TFT Display: For visualizing the button matrix.
- Matrix Button Layout: A 3x4 grid of buttons with customizable states.
- Persistent Storage: Saves and restores button states using EEPROM.
- Capacitive Touch Support: Detects touch input and interacts with buttons.
- Dynamic TFT Interface: Updates button colors and states dynamically.
setup(): Initializes the TFT display, touch controller, and EEPROM.lcd(): Sets up the TFT display and backlight.
matriz(): Draws the button matrix on the TFT display.switch_color(button): Toggles the color and state of a button.buttonpress(button): Handles button press events and updates states.
salvarNaEEPROM(): Saves button states to EEPROM.lerDaEEPROM(): Reads button states from EEPROM.
loop(): Main program loop for detecting touch input and managing button interactions.
- Implement additional button configurations.
- Add support for advanced touch gestures.
- Enhance power management features for longer uptime.
Thank you for exploring this project! 💡
