https://github.com/maxsans/drumsled-mobile-app
Mobile application for the Tunes project
https://github.com/maxsans/drumsled-mobile-app
Last synced: over 1 year ago
JSON representation
Mobile application for the Tunes project
- Host: GitHub
- URL: https://github.com/maxsans/drumsled-mobile-app
- Owner: maxsans
- License: mit
- Created: 2024-10-09T20:55:50.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-09T21:03:14.000Z (over 1 year ago)
- Last Synced: 2025-01-13T19:18:57.763Z (over 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 3.69 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
#  Tunes(DrumsLed) - React Native Mobile App
DrumsLed is a React Native mobile application that allows you to control LED lights on a drum set. The primary purpose of this app is to detect when a drum is struck and illuminate LEDs accordingly. The communication between the mobile app and the drum set is established via Bluetooth Low Energy (BLE). The drum set, equipped with ESP32 and piezo sensors, detects drum strikes, and the mobile app controls LED animations and colors.
## App Store
You can find the application on [Google Play](https://play.google.com/store/apps/details?id=com.AppMCM.tunes&pli=1). However, our application is not available on other app stores.
## Embedded Application
The embedded application responsible for interfacing with the ESP32 and controlling the LED lights on the drum set can be found in a separate GitHub repository: [DrumsLed Embedded App](https://github.com/maxsans/DrumsLed-Embedded-App).
Please refer to the [DrumsLed Embedded App repository](https://github.com/maxsans/DrumsLed-Embedded-App) for details regarding the embedded system.
## Mobile Application Features
The DrumsLed mobile application consists of three main screens:
### 1. Main Configuration Screen
- On this screen, users can configure the current drum set's animation type, LED detection method, and LED colors for both the interior and exterior of each drum.
- The user can customize LED configurations based on their preferences.
### 2. Themes Screen
- The Themes screen allows users to create and save different themes. Themes store multiple LED configurations, making it easy to switch between different setups quickly.
- This feature simplifies the process of changing LED configurations, especially for different drumming scenes.
### 3. Configuration Screen
- The Configuration screen enables users to manage the communication between the mobile app and the drum set via Bluetooth Low Energy.
- Users can control and configure various aspects of the Bluetooth communication process.
## Data Format
Data between the mobile app and the drum set is exchanged in JSON format. Below is an example of the data structure:
```json
[
{
"name": "Caisse Claire",
"params": [
{
"name": "Interieur",
"colors": ["#FFFFFF", "#ff26e5"],
"animation": 6
},
{
"name": "Exterieur",
"colors": ["#022a7a"],
"animation": 6
}
]
},
// Other drums and their configurations...
]
```
## LED Animations and Color Settings
| Animation | Value | Max Colors |
|---------------------|-------|------------|
| Lumière | 1 | 1 |
| Lent | 2 | 1 |
| Normal | 3 | 1 |
| Rapide | 4 | 1 |
| Disco | 5 | 10 |
| Rotation | 6 | 4 |
At startup, the default LED color for all drums is white, and the default animation is "Lumière."
## Overview

## Future
We are currently developing a new ecosystem to enhance your experience. This includes:
- A new cross-platform application
- An improved design
- A new transmission protocol
- An updated version of the embedded software
Stay tuned for these exciting updates!