diff --git a/.DS_Store b/.DS_Store index b801e7e..07286e9 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/.gitignore b/.gitignore index 89cc49c..6008e4b 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,5 @@ .vscode/c_cpp_properties.json .vscode/launch.json .vscode/ipch +src/MP3_24 +.DS_Store diff --git a/README.md b/README.md new file mode 100644 index 0000000..badd754 --- /dev/null +++ b/README.md @@ -0,0 +1,101 @@ +# 🚗 Soundboard für den Carbage Run + +## 🎯 Motivation + +Beim **Carbage Run** – einer Rallye mit Schrottautos – haben viele Teilnehmer Fanfaren, Megafone oder lustige Sounds abgespielt. +Wir hatten zwar bereits ein Megafon mit Line-In und Bluetooth, aber: + +> 🎛️ "Wenn ich hupen will, will ich auf einen Knopf hauen – nicht erst das Handy entsperren!" + +Deshalb: ein eigenständiges Soundboard mit 25 Tasten, SD-Karte und Sofortreaktion. + +--- + +## 📸 Vorschau + +### Gehäuse (3D-gedruckt) + +![Soundboard Gehäuse](docu/20240531_110053.jpg) +![Soundboard Gehäuse](docu/20240531_110109.jpg) +![Soundboard Gehäuse](docu/20230827_103529.jpg) +![Soundboard Gehäuse](docu/20230720_205834.jpg) +![Soundboard Gehäuse](docu/20230727_214800.jpg) +![Soundboard Gehäuse](docu/Screenshot_20230727-233512_Onshape.jpg) +![Soundboard Gehäuse](docu/Screenshot_20230727-233618_Onshape.jpg) + +### Innenleben +![Soundboard Elektronik](docu/20230720_202601.jpg) +![Soundboard Elektronik](docu/20230720_220237.jpg) + +### Tastenmatrix in Aktion +![Tastenmatrix](docu/Schaltung.jpg) + +> Alle Bilder findest du im Ordner `docu/` + +--- + +## ⚙️ Features + +- 🎵 **25 Tasten** in 5×5 Matrix für direkte Soundauswahl +- 🔁 **Zweifachbelegung:** Shift-Modus (Taster gedrückt halten oder Bluetooth-Befehl → Track +25) +- 💾 **DFPlayer Mini** spielt MP3s direkt von SD-Karte +- 📡 **Bluetooth**-Steuerung per Smartphone-App oder Terminal +- 🧠 **ESP32** mit frei programmierbarer Logik +- 🧰 [**3D-gedrucktes Gehäuse**](https://cad.onshape.com/documents/51f835b686c64aa4e062ca5b/w/735ce97b22fc647d3e8dc544/e/93c6d67ebc2946beec692255?renderMode=0&uiState=6890fba874e54c0f2372ca89) + +--- + +## 🧠 Schaltung + +Erstellt in [Wokwi](https://wokwi.com) (Virtueller Schaltplan: `wokwi_project.json`) + +### 🔘 Tastenanschlüsse + +| Zeile (row) | ESP32 Pin | +|-------------|-----------| +| R1 | D19 | +| R2 | D18 | +| R3 | D5 | +| R4 | D17 | +| R5 | D16 | + +| Spalte (col) | ESP32 Pin | +|--------------|-----------| +| C1 | D32 | +| C2 | D33 | +| C3 | D25 | +| C4 | D26 | +| C5 | D27 | + +### 🎧 DFPlayer Mini Anschluss +Für die korrekte Verkabelung siehe +[DFPlayer Mini Dokumentation](https://www.elektronik-kompendium.de/sites/praxis/bauteil_dfplayer-mini.htm) + +| DFPlayer Pin | ESP32 Pin | +|--------------|-----------| +| TX | GPIO22 | +| RX | GPIO23 | +| VCC | 5V | +| GND | GND | +|----| **Endstufe**| +| SPK1 | Left Audio | +| GND | GND Audio | +| SPK2 | Right Audio | + + +💾 SD-Karte: +MP3-Dateien im Format `0001.mp3` bis `0050.mp3` im MP3 Verzeichnis. + + +--- + +## 📂 Projektstruktur + +```text +/ +├── src/ +│ ├── MP3/ # Arduino-Quellcode +│ └── main.cpp +├── printfiles/ # STL-Dateien für 3D-Druck +├── docu/ # Fotos, Schaltpläne, Screenshots +└── README.md diff --git a/docu/20230720_202601.jpg b/docu/20230720_202601.jpg new file mode 100644 index 0000000..23c377d Binary files /dev/null and b/docu/20230720_202601.jpg differ diff --git a/docu/20230720_205834.jpg b/docu/20230720_205834.jpg new file mode 100644 index 0000000..195d328 Binary files /dev/null and b/docu/20230720_205834.jpg differ diff --git a/docu/20230720_220237.jpg b/docu/20230720_220237.jpg new file mode 100644 index 0000000..5b497ca Binary files /dev/null and b/docu/20230720_220237.jpg differ diff --git a/docu/20230720_220250.jpg b/docu/20230720_220250.jpg new file mode 100644 index 0000000..a0ef872 Binary files /dev/null and b/docu/20230720_220250.jpg differ diff --git a/docu/20230727_214752 (1).jpg b/docu/20230727_214752 (1).jpg new file mode 100644 index 0000000..63760b2 Binary files /dev/null and b/docu/20230727_214752 (1).jpg differ diff --git a/docu/20230727_214752.jpg b/docu/20230727_214752.jpg new file mode 100644 index 0000000..63760b2 Binary files /dev/null and b/docu/20230727_214752.jpg differ diff --git a/docu/20230727_214800.jpg b/docu/20230727_214800.jpg new file mode 100644 index 0000000..41b583e Binary files /dev/null and b/docu/20230727_214800.jpg differ diff --git a/docu/20230827_103529.jpg b/docu/20230827_103529.jpg new file mode 100644 index 0000000..e3f3745 Binary files /dev/null and b/docu/20230827_103529.jpg differ diff --git a/docu/20240531_110053.jpg b/docu/20240531_110053.jpg new file mode 100644 index 0000000..7d7d3eb Binary files /dev/null and b/docu/20240531_110053.jpg differ diff --git a/docu/20240531_110109.jpg b/docu/20240531_110109.jpg new file mode 100644 index 0000000..f332100 Binary files /dev/null and b/docu/20240531_110109.jpg differ diff --git a/docu/Schaltung.jpg b/docu/Schaltung.jpg new file mode 100644 index 0000000..e0601e8 Binary files /dev/null and b/docu/Schaltung.jpg differ diff --git a/docu/Screenshot_20230727-233512_Onshape.jpg b/docu/Screenshot_20230727-233512_Onshape.jpg new file mode 100644 index 0000000..de7aa3d Binary files /dev/null and b/docu/Screenshot_20230727-233512_Onshape.jpg differ diff --git a/docu/Screenshot_20230727-233618_Onshape.jpg b/docu/Screenshot_20230727-233618_Onshape.jpg new file mode 100644 index 0000000..6e6d4a2 Binary files /dev/null and b/docu/Screenshot_20230727-233618_Onshape.jpg differ diff --git a/src/list_5x5_1.csv b/docu/list_5x5_1.csv similarity index 100% rename from src/list_5x5_1.csv rename to docu/list_5x5_1.csv diff --git a/src/list_5x5_2.csv b/docu/list_5x5_2.csv similarity index 100% rename from src/list_5x5_2.csv rename to docu/list_5x5_2.csv diff --git a/docu/list_5x5_with_Numbers.pdf b/docu/list_5x5_with_Numbers.pdf new file mode 100644 index 0000000..cc97c06 Binary files /dev/null and b/docu/list_5x5_with_Numbers.pdf differ diff --git a/docu/list_5x5_with_Numbers.xlsx b/docu/list_5x5_with_Numbers.xlsx new file mode 100644 index 0000000..0195f5a Binary files /dev/null and b/docu/list_5x5_with_Numbers.xlsx differ diff --git a/docu/wokwi/diagram.json b/docu/wokwi/diagram.json new file mode 100644 index 0000000..ab93666 --- /dev/null +++ b/docu/wokwi/diagram.json @@ -0,0 +1,787 @@ +{ + "version": 1, + "author": "11lein", + "editor": "wokwi", + "parts": [ + { + "type": "wokwi-esp32-devkit-v1", + "id": "esp", + "top": -321.7, + "left": 148.6, + "attrs": {} + }, + { + "type": "wokwi-microsd-card", + "id": "sd1", + "top": -460.57, + "left": 86.47, + "attrs": {} + }, + { + "type": "wokwi-pushbutton", + "id": "btn-A", + "top": 291.5, + "left": 7.1, + "rotate": 90, + "attrs": { + "label": "A" + } + }, + { + "type": "wokwi-pushbutton", + "id": "btn-B", + "top": 291.5, + "left": 93.5, + "rotate": 90, + "attrs": { + "label": "B" + } + }, + { + "type": "wokwi-pushbutton", + "id": "btn-C", + "top": 291.5, + "left": 189.5, + "rotate": 90, + "attrs": { + "label": "C" + } + }, + { + "type": "wokwi-pushbutton", + "id": "btn-D", + "top": 291.5, + "left": 285.5, + "rotate": 90, + "attrs": { + "label": "D" + } + }, + { + "type": "wokwi-pushbutton", + "id": "btn-E", + "top": 291.5, + "left": 381.5, + "rotate": 90, + "attrs": { + "label": "E" + } + }, + { + "type": "wokwi-pushbutton", + "id": "btn-F", + "top": 205.1, + "left": 7.1, + "rotate": 90, + "attrs": { + "label": "F" + } + }, + { + "type": "wokwi-pushbutton", + "id": "btn-G", + "top": 205.1, + "left": 93.5, + "rotate": 90, + "attrs": { + "label": "G" + } + }, + { + "type": "wokwi-pushbutton", + "id": "btn-H", + "top": 205.1, + "left": 189.5, + "rotate": 90, + "attrs": { + "label": "H" + } + }, + { + "type": "wokwi-pushbutton", + "id": "btn-I", + "top": 205.1, + "left": 285.5, + "rotate": 90, + "attrs": { + "label": "I" + } + }, + { + "type": "wokwi-pushbutton", + "id": "btn-J", + "top": 205.1, + "left": 381.5, + "rotate": 90, + "attrs": { + "label": "J" + } + }, + { + "type": "wokwi-pushbutton", + "id": "btn-K", + "top": 118.7, + "left": 7.1, + "rotate": 90, + "attrs": { + "label": "K" + } + }, + { + "type": "wokwi-pushbutton", + "id": "btn-L", + "top": 118.7, + "left": 93.5, + "rotate": 90, + "attrs": { + "label": "L" + } + }, + { + "type": "wokwi-pushbutton", + "id": "btn-M", + "top": 118.7, + "left": 189.5, + "rotate": 90, + "attrs": { + "label": "M" + } + }, + { + "type": "wokwi-pushbutton", + "id": "btn-N", + "top": 118.7, + "left": 285.5, + "rotate": 90, + "attrs": { + "label": "N" + } + }, + { + "type": "wokwi-pushbutton", + "id": "btn-O", + "top": 118.7, + "left": 381.5, + "rotate": 90, + "attrs": { + "label": "O" + } + }, + { + "type": "wokwi-pushbutton", + "id": "btn-P", + "top": 32.3, + "left": 7.1, + "rotate": 90, + "attrs": { + "label": "P" + } + }, + { + "type": "wokwi-pushbutton", + "id": "btn-Q", + "top": 32.3, + "left": 93.5, + "rotate": 90, + "attrs": { + "label": "Q" + } + }, + { + "type": "wokwi-pushbutton", + "id": "btn-R", + "top": 32.3, + "left": 189.5, + "rotate": 90, + "attrs": { + "label": "R" + } + }, + { + "type": "wokwi-pushbutton", + "id": "btn-S", + "top": 32.3, + "left": 285.5, + "rotate": 90, + "attrs": { + "label": "S" + } + }, + { + "type": "wokwi-pushbutton", + "id": "btn-T", + "top": 32.3, + "left": 381.5, + "rotate": 90, + "attrs": { + "label": "T" + } + }, + { + "type": "wokwi-pushbutton", + "id": "btn-U", + "top": -54.1, + "left": 7.1, + "rotate": 90, + "attrs": { + "label": "U" + } + }, + { + "type": "wokwi-pushbutton", + "id": "btn-V", + "top": -54.1, + "left": 93.5, + "rotate": 90, + "attrs": { + "label": "V" + } + }, + { + "type": "wokwi-pushbutton", + "id": "btn-W", + "top": -54.1, + "left": 189.5, + "rotate": 90, + "attrs": { + "label": "W" + } + }, + { + "type": "wokwi-pushbutton", + "id": "btn-X", + "top": -54.1, + "left": 285.5, + "rotate": 90, + "attrs": { + "label": "X" + } + }, + { + "type": "wokwi-pushbutton", + "id": "btn-Y", + "top": -54.1, + "left": 381.5, + "rotate": 90, + "attrs": { + "label": "Y" + } + }, + { + "type": "wokwi-buzzer", + "id": "bz1", + "top": -583.2, + "left": 165, + "attrs": { + "volume": "0.1" + } + } + ], + "connections": [ + [ + "esp:3V3", + "sd1:VCC", + "red", + [ + "h105.3", + "v-259.34" + ] + ], + [ + "esp:GND.2", + "sd1:GND", + "black", + [ + "h-28.8", + "v-172.9", + "h249.6", + "v-96.11" + ] + ], + [ + "esp:D23", + "sd1:MOSI", + "green", + [] + ], + [ + "esp:D19", + "sd1:MISO", + "blue", + [] + ], + [ + "sd1:SCK", + "esp:D23", + "green", + [ + "h153.6", + "v124.69" + ] + ], + [ + "esp:D22", + "sd1:CS", + "gold", + [ + "h86.1", + "v-115.56" + ] + ], + [ + "esp:D19", + "btn-E:1.r", + "green", + [ + "h297.3", + "v614.3", + "h-48" + ] + ], + [ + "btn-E:1.r", + "btn-D:1.r", + "green", + [ + "v19.4", + "h-96" + ] + ], + [ + "btn-D:1.r", + "btn-C:1.r", + "green", + [ + "v19.4", + "h-96" + ] + ], + [ + "btn-C:1.r", + "btn-B:1.r", + "green", + [ + "v19.4", + "h-96" + ] + ], + [ + "btn-B:1.r", + "btn-A:1.r", + "green", + [ + "v19.4", + "h-86.4" + ] + ], + [ + "esp:D18", + "btn-J:1.r", + "orange", + [ + "h316.5", + "v508.8", + "h-67.2" + ] + ], + [ + "btn-J:1.r", + "btn-I:1.r", + "orange", + [ + "v9.8", + "h-96" + ] + ], + [ + "btn-I:1.r", + "btn-H:1.r", + "orange", + [ + "v9.8", + "h-96" + ] + ], + [ + "btn-H:1.r", + "btn-G:1.r", + "orange", + [ + "v9.8", + "h-96" + ] + ], + [ + "btn-G:1.r", + "btn-F:1.r", + "orange", + [ + "v9.8", + "h-96" + ] + ], + [ + "esp:D5", + "btn-O:1.r", + "#8f4814", + [ + "h335.7", + "v412.8", + "h-86.4" + ] + ], + [ + "btn-O:1.r", + "btn-N:1.r", + "#8f4814", + [ + "v9.8", + "h-96" + ] + ], + [ + "btn-N:1.r", + "btn-M:1.r", + "#8f4814", + [ + "v9.8", + "h-96" + ] + ], + [ + "btn-M:1.r", + "btn-L:1.r", + "#8f4814", + [ + "v9.8", + "h-96" + ] + ], + [ + "btn-L:1.r", + "btn-K:1.r", + "#8f4814", + [ + "v9.8", + "h-86.4" + ] + ], + [ + "esp:TX2", + "btn-T:1.r", + "blue", + [ + "h354.9", + "v316.7", + "h-105.6" + ] + ], + [ + "btn-T:1.r", + "btn-S:1.r", + "blue", + [ + "v9.8", + "h-96" + ] + ], + [ + "btn-S:1.r", + "btn-R:1.r", + "blue", + [ + "v9.8", + "h-96" + ] + ], + [ + "btn-R:1.r", + "btn-Q:1.r", + "blue", + [ + "v9.8", + "h-96" + ] + ], + [ + "btn-Q:1.r", + "btn-P:1.r", + "blue", + [ + "v9.8", + "h-86.4" + ] + ], + [ + "esp:RX2", + "btn-Y:1.r", + "violet", + [ + "h374.1", + "v220.5", + "h-124.8" + ] + ], + [ + "btn-Y:1.r", + "btn-X:1.r", + "violet", + [ + "v9.8", + "h-96" + ] + ], + [ + "btn-X:1.r", + "btn-W:1.r", + "violet", + [ + "v9.8", + "h-96" + ] + ], + [ + "btn-W:1.r", + "btn-V:1.r", + "violet", + [ + "v9.8", + "h-96" + ] + ], + [ + "btn-V:1.r", + "btn-U:1.r", + "violet", + [ + "v9.8", + "h-86.4" + ] + ], + [ + "esp:D32", + "btn-U:2.l", + "gray", + [ + "h0" + ] + ], + [ + "btn-U:2.r", + "btn-P:2.l", + "gray", + [ + "v0" + ] + ], + [ + "btn-P:2.r", + "btn-K:2.l", + "gray", + [ + "v0" + ] + ], + [ + "btn-K:2.r", + "btn-F:2.l", + "gray", + [ + "v0" + ] + ], + [ + "btn-F:2.r", + "btn-A:2.l", + "gray", + [ + "v0" + ] + ], + [ + "esp:D33", + "btn-V:2.l", + "white", + [ + "h-105.6", + "v172.8", + "h77" + ] + ], + [ + "btn-V:2.r", + "btn-Q:2.l", + "white", + [ + "v0" + ] + ], + [ + "btn-Q:2.r", + "btn-L:2.l", + "white", + [ + "v0" + ] + ], + [ + "btn-L:2.r", + "btn-G:2.l", + "white", + [ + "v0" + ] + ], + [ + "btn-G:2.r", + "btn-B:2.l", + "white", + [ + "v0" + ] + ], + [ + "esp:D25", + "btn-W:2.l", + "purple", + [ + "h-96", + "v153.6", + "h163.4" + ] + ], + [ + "btn-W:2.r", + "btn-R:2.l", + "purple", + [ + "v0" + ] + ], + [ + "btn-R:2.r", + "btn-M:2.l", + "purple", + [ + "v0" + ] + ], + [ + "btn-M:2.r", + "btn-H:2.l", + "purple", + [ + "v0" + ] + ], + [ + "btn-H:2.r", + "btn-C:2.l", + "purple", + [ + "v0" + ] + ], + [ + "esp:D26", + "btn-X:2.l", + "limegreen", + [ + "h-86.4", + "v134.3", + "h249.8" + ] + ], + [ + "btn-X:2.r", + "btn-S:2.l", + "limegreen", + [ + "v0" + ] + ], + [ + "btn-S:2.r", + "btn-N:2.l", + "limegreen", + [ + "v0" + ] + ], + [ + "btn-N:2.r", + "btn-I:2.l", + "limegreen", + [ + "v0" + ] + ], + [ + "btn-I:2.r", + "btn-D:2.l", + "limegreen", + [ + "v0" + ] + ], + [ + "esp:D27", + "btn-Y:2.l", + "cyan", + [ + "h-76.8", + "v114.9", + "h336.2" + ] + ], + [ + "btn-Y:2.r", + "btn-T:2.l", + "cyan", + [ + "v0" + ] + ], + [ + "btn-T:2.r", + "btn-O:2.l", + "cyan", + [ + "v0" + ] + ], + [ + "btn-O:2.r", + "btn-J:2.l", + "cyan", + [ + "v0" + ] + ], + [ + "btn-J:2.r", + "btn-E:2.l", + "cyan", + [ + "v0" + ] + ], + [ + "bz1:1", + "sd1:CD", + "black", + [ + "v0" + ] + ], + [ + "bz1:2", + "sd1:DO", + "red", + [ + "v0" + ] + ] + ], + "dependencies": {} +} \ No newline at end of file diff --git a/printfiles/body.stl b/printfiles/body.stl new file mode 100644 index 0000000..51072c4 Binary files /dev/null and b/printfiles/body.stl differ diff --git a/printfiles/soundboard.stl b/printfiles/soundboard.stl new file mode 100644 index 0000000..7661316 Binary files /dev/null and b/printfiles/soundboard.stl differ diff --git a/printfiles/soundboard_tray.stl b/printfiles/soundboard_tray.stl new file mode 100644 index 0000000..f298fda Binary files /dev/null and b/printfiles/soundboard_tray.stl differ diff --git a/src/.DS_Store b/src/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/src/.DS_Store differ diff --git a/src/MP3/0001_pink_fluffy_unicorns_long.mp3 b/src/MP3/0001_pink_fluffy_unicorns_long.mp3 deleted file mode 100644 index a9e86c7..0000000 Binary files a/src/MP3/0001_pink_fluffy_unicorns_long.mp3 and /dev/null differ diff --git a/src/MP3/0003_dj-airhorn-sound-effect-kingbeatz_1.mp3 b/src/MP3/0003_dj-airhorn-sound-effect-kingbeatz_1.mp3 deleted file mode 100644 index d486f73..0000000 Binary files a/src/MP3/0003_dj-airhorn-sound-effect-kingbeatz_1.mp3 and /dev/null differ diff --git a/src/MP3/0004_ClownHorn.mp3 b/src/MP3/0004_ClownHorn.mp3 deleted file mode 100644 index 3d05dfc..0000000 Binary files a/src/MP3/0004_ClownHorn.mp3 and /dev/null differ diff --git a/src/MP3/0005_la-cucaracha.mp3 b/src/MP3/0005_la-cucaracha.mp3 deleted file mode 100644 index b579c0f..0000000 Binary files a/src/MP3/0005_la-cucaracha.mp3 and /dev/null differ diff --git a/src/MP3/0006_Chicken.mp3 b/src/MP3/0006_Chicken.mp3 deleted file mode 100644 index 225d59b..0000000 Binary files a/src/MP3/0006_Chicken.mp3 and /dev/null differ diff --git a/src/MP3/0007_dolphin.mp3 b/src/MP3/0007_dolphin.mp3 deleted file mode 100644 index deaeef0..0000000 Binary files a/src/MP3/0007_dolphin.mp3 and /dev/null differ diff --git a/src/MP3/0008_kirmes-lets-goo.mp3 b/src/MP3/0008_kirmes-lets-goo.mp3 deleted file mode 100644 index e3d1535..0000000 Binary files a/src/MP3/0008_kirmes-lets-goo.mp3 and /dev/null differ diff --git a/src/MP3/0009_egal.mp3 b/src/MP3/0009_egal.mp3 deleted file mode 100644 index 2e85534..0000000 Binary files a/src/MP3/0009_egal.mp3 and /dev/null differ diff --git a/src/MP3/0010_Halt_stop.mp3 b/src/MP3/0010_Halt_stop.mp3 deleted file mode 100644 index bce1ad0..0000000 Binary files a/src/MP3/0010_Halt_stop.mp3 and /dev/null differ diff --git a/src/MP3/0011_mariostart.mp3 b/src/MP3/0011_mariostart.mp3 deleted file mode 100644 index ae80bff..0000000 Binary files a/src/MP3/0011_mariostart.mp3 and /dev/null differ diff --git a/src/MP3/0012_lmfao-party-rock-anthem.mp3 b/src/MP3/0012_lmfao-party-rock-anthem.mp3 deleted file mode 100644 index e7623df..0000000 Binary files a/src/MP3/0012_lmfao-party-rock-anthem.mp3 and /dev/null differ diff --git a/src/MP3/0013_dont-stop-believing.mp3 b/src/MP3/0013_dont-stop-believing.mp3 deleted file mode 100644 index 4e69072..0000000 Binary files a/src/MP3/0013_dont-stop-believing.mp3 and /dev/null differ diff --git a/src/MP3/0014_followdonation-sound.mp3 b/src/MP3/0014_followdonation-sound.mp3 deleted file mode 100644 index d0c457b..0000000 Binary files a/src/MP3/0014_followdonation-sound.mp3 and /dev/null differ diff --git a/src/MP3/0015_hq-coffin-dance-funeral-vicetone-tony-igy-astronomia.mp3 b/src/MP3/0015_hq-coffin-dance-funeral-vicetone-tony-igy-astronomia.mp3 deleted file mode 100644 index 8390fd2..0000000 Binary files a/src/MP3/0015_hq-coffin-dance-funeral-vicetone-tony-igy-astronomia.mp3 and /dev/null differ diff --git a/src/MP3/0016_jeopardy.mp3 b/src/MP3/0016_jeopardy.mp3 deleted file mode 100644 index 4be1f93..0000000 Binary files a/src/MP3/0016_jeopardy.mp3 and /dev/null differ diff --git a/src/MP3/0017_wartemusik-trompete.mp3 b/src/MP3/0017_wartemusik-trompete.mp3 deleted file mode 100644 index a89c97c..0000000 Binary files a/src/MP3/0017_wartemusik-trompete.mp3 and /dev/null differ diff --git a/src/MP3/0018_the-benny-hill-show-theme-short.mp3 b/src/MP3/0018_the-benny-hill-show-theme-short.mp3 deleted file mode 100644 index 56a1ccc..0000000 Binary files a/src/MP3/0018_the-benny-hill-show-theme-short.mp3 and /dev/null differ diff --git a/src/MP3/0019_sexy-george-micael-wham-careless-whisper-1.mp3 b/src/MP3/0019_sexy-george-micael-wham-careless-whisper-1.mp3 deleted file mode 100644 index f25bd63..0000000 Binary files a/src/MP3/0019_sexy-george-micael-wham-careless-whisper-1.mp3 and /dev/null differ diff --git a/src/MP3/0020_muppets-manana.mp3 b/src/MP3/0020_muppets-manana.mp3 deleted file mode 100644 index 22c4b2b..0000000 Binary files a/src/MP3/0020_muppets-manana.mp3 and /dev/null differ diff --git a/src/MP3/0021_tv-total.mp3 b/src/MP3/0021_tv-total.mp3 deleted file mode 100644 index 2000c36..0000000 Binary files a/src/MP3/0021_tv-total.mp3 and /dev/null differ diff --git a/src/MP3/0022_werner1_flasche.mp3 b/src/MP3/0022_werner1_flasche.mp3 deleted file mode 100644 index 5140b10..0000000 Binary files a/src/MP3/0022_werner1_flasche.mp3 and /dev/null differ diff --git a/src/MP3/0023_nicht-so-tief-rudiger.mp3 b/src/MP3/0023_nicht-so-tief-rudiger.mp3 deleted file mode 100644 index c4f5d81..0000000 Binary files a/src/MP3/0023_nicht-so-tief-rudiger.mp3 and /dev/null differ diff --git a/src/MP3/0024_dumb-ways-to-die.mp3 b/src/MP3/0024_dumb-ways-to-die.mp3 deleted file mode 100644 index ec78eec..0000000 Binary files a/src/MP3/0024_dumb-ways-to-die.mp3 and /dev/null differ diff --git a/src/MP3/0025_BatmanOnDrugs.mp3 b/src/MP3/0025_BatmanOnDrugs.mp3 deleted file mode 100644 index c3d1079..0000000 Binary files a/src/MP3/0025_BatmanOnDrugs.mp3 and /dev/null differ diff --git a/src/MP3/0026_sadtrombone.swf.mp3 b/src/MP3/0026_sadtrombone.swf.mp3 deleted file mode 100644 index 4680b6f..0000000 Binary files a/src/MP3/0026_sadtrombone.swf.mp3 and /dev/null differ diff --git a/src/MP3/0027_move-bitch-cut-mp3.mp3 b/src/MP3/0027_move-bitch-cut-mp3.mp3 deleted file mode 100644 index c398f50..0000000 Binary files a/src/MP3/0027_move-bitch-cut-mp3.mp3 and /dev/null differ diff --git a/src/MP3/0028_SqueakToy.mp3 b/src/MP3/0028_SqueakToy.mp3 deleted file mode 100644 index 3c9d4dc..0000000 Binary files a/src/MP3/0028_SqueakToy.mp3 and /dev/null differ diff --git a/src/MP3/0029_kirmes-attencion-full-version.mp3 b/src/MP3/0029_kirmes-attencion-full-version.mp3 deleted file mode 100644 index 188920b..0000000 Binary files a/src/MP3/0029_kirmes-attencion-full-version.mp3 and /dev/null differ diff --git a/src/MP3/0030_BadumTss.mp3 b/src/MP3/0030_BadumTss.mp3 deleted file mode 100644 index ca9bd94..0000000 Binary files a/src/MP3/0030_BadumTss.mp3 and /dev/null differ diff --git a/src/MP3/0031_woody-woodpecker-laugh.mp3 b/src/MP3/0031_woody-woodpecker-laugh.mp3 deleted file mode 100644 index eecaef9..0000000 Binary files a/src/MP3/0031_woody-woodpecker-laugh.mp3 and /dev/null differ diff --git a/src/MP3/0032_Whip.mp3 b/src/MP3/0032_Whip.mp3 deleted file mode 100644 index d4575c4..0000000 Binary files a/src/MP3/0032_Whip.mp3 and /dev/null differ diff --git a/src/MP3/0033_ich-muss-raus.mp3 b/src/MP3/0033_ich-muss-raus.mp3 deleted file mode 100644 index 7eb835e..0000000 Binary files a/src/MP3/0033_ich-muss-raus.mp3 and /dev/null differ diff --git a/src/MP3/0034_bier-bier-bier-bett-bett-bett.mp3 b/src/MP3/0034_bier-bier-bier-bett-bett-bett.mp3 deleted file mode 100644 index 2a00eda..0000000 Binary files a/src/MP3/0034_bier-bier-bier-bett-bett-bett.mp3 and /dev/null differ diff --git a/src/MP3/0035_deutsch-und-frisch-gekocht.mp3 b/src/MP3/0035_deutsch-und-frisch-gekocht.mp3 deleted file mode 100644 index 152348f..0000000 Binary files a/src/MP3/0035_deutsch-und-frisch-gekocht.mp3 and /dev/null differ diff --git a/src/MP3/0036_mario.mp3 b/src/MP3/0036_mario.mp3 deleted file mode 100644 index f78a172..0000000 Binary files a/src/MP3/0036_mario.mp3 and /dev/null differ diff --git a/src/MP3/0037_celebration.mp3 b/src/MP3/0037_celebration.mp3 deleted file mode 100644 index c389170..0000000 Binary files a/src/MP3/0037_celebration.mp3 and /dev/null differ diff --git a/src/MP3/0038_space_song.mp3 b/src/MP3/0038_space_song.mp3 deleted file mode 100644 index 10683c6..0000000 Binary files a/src/MP3/0038_space_song.mp3 and /dev/null differ diff --git a/src/MP3/0039_guten-morgen-sonnenschein.mp3 b/src/MP3/0039_guten-morgen-sonnenschein.mp3 deleted file mode 100644 index 6d160a4..0000000 Binary files a/src/MP3/0039_guten-morgen-sonnenschein.mp3 and /dev/null differ diff --git a/src/MP3/0040_DirectedByRobert.mp3 b/src/MP3/0040_DirectedByRobert.mp3 deleted file mode 100644 index 5663789..0000000 Binary files a/src/MP3/0040_DirectedByRobert.mp3 and /dev/null differ diff --git a/src/MP3/0041_tetris_theme_a.mp3 b/src/MP3/0041_tetris_theme_a.mp3 deleted file mode 100644 index c2b0f03..0000000 Binary files a/src/MP3/0041_tetris_theme_a.mp3 and /dev/null differ diff --git a/src/MP3/0042_musica-elevador-short.mp3 b/src/MP3/0042_musica-elevador-short.mp3 deleted file mode 100644 index 39b159f..0000000 Binary files a/src/MP3/0042_musica-elevador-short.mp3 and /dev/null differ diff --git a/src/MP3/0043_spanish-flea-herb-alpert22.mp3 b/src/MP3/0043_spanish-flea-herb-alpert22.mp3 deleted file mode 100644 index cd94741..0000000 Binary files a/src/MP3/0043_spanish-flea-herb-alpert22.mp3 and /dev/null differ diff --git a/src/MP3/0044_sexy_zeitlupe.mp3 b/src/MP3/0044_sexy_zeitlupe.mp3 deleted file mode 100644 index 3458ad3..0000000 Binary files a/src/MP3/0044_sexy_zeitlupe.mp3 and /dev/null differ diff --git a/src/MP3/0045_paulchen-panter-wer-hat-an-der-uhr-gedreht.mp3 b/src/MP3/0045_paulchen-panter-wer-hat-an-der-uhr-gedreht.mp3 deleted file mode 100644 index 234fb98..0000000 Binary files a/src/MP3/0045_paulchen-panter-wer-hat-an-der-uhr-gedreht.mp3 and /dev/null differ diff --git a/src/MP3/0046_viele-pimmel-aber-schon-tv-total-nippel.mp3 b/src/MP3/0046_viele-pimmel-aber-schon-tv-total-nippel.mp3 deleted file mode 100644 index 32930cd..0000000 Binary files a/src/MP3/0046_viele-pimmel-aber-schon-tv-total-nippel.mp3 and /dev/null differ diff --git a/src/MP3/0047_werner-dat-geit.mp3 b/src/MP3/0047_werner-dat-geit.mp3 deleted file mode 100644 index 93c372c..0000000 Binary files a/src/MP3/0047_werner-dat-geit.mp3 and /dev/null differ diff --git a/src/MP3/0048_mission-impossible.mp3 b/src/MP3/0048_mission-impossible.mp3 deleted file mode 100644 index 0a87a66..0000000 Binary files a/src/MP3/0048_mission-impossible.mp3 and /dev/null differ diff --git a/src/MP3/0049_oh_no_LEPRNK5.mp3 b/src/MP3/0049_oh_no_LEPRNK5.mp3 deleted file mode 100644 index e007991..0000000 Binary files a/src/MP3/0049_oh_no_LEPRNK5.mp3 and /dev/null differ diff --git a/src/MP3/0050_hallo-freunde-deutsch.mp3 b/src/MP3/0050_hallo-freunde-deutsch.mp3 deleted file mode 100644 index 4276e61..0000000 Binary files a/src/MP3/0050_hallo-freunde-deutsch.mp3 and /dev/null differ diff --git a/src/list_5x5_with_Numbers.xlsx b/src/list_5x5_with_Numbers.xlsx deleted file mode 100644 index b7e34ca..0000000 Binary files a/src/list_5x5_with_Numbers.xlsx and /dev/null differ diff --git a/src/main.cpp b/src/main.cpp index bb2ab27..2ce9e47 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2,6 +2,10 @@ #include #include +#include "BluetoothSerial.h" + +BluetoothSerial SerialBT; + const byte ROWS = 5; // five rows const byte COLS = 5; // five columns char keys[ROWS][COLS] = { @@ -16,17 +20,18 @@ byte colPins[COLS] = {32, 33, 25, 26, 27}; // connect to the column pinouts of t Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS); bool hold = false; +bool secondSound = false; char lastKey; #if !defined(UBRR1H) #include -SoftwareSerial mySerial; -// (22, 23); // RX, TX +SoftwareSerial mySerial(22, 23); // RX, TX #endif -// #define FPSerial Serial1 DFPlayerMini_Fast myDFPlayer; +void printDetail(uint8_t type, int value); + void playTrack(int track) { Serial.print(F("Track: ")); @@ -65,14 +70,15 @@ void keypadEvent(KeypadEvent key) else { lastKey = key; + } - if (hold) - { - track = track + 25; - }; + if (hold) + { + track = track + 25; + }; - playTrack(track); - } + playTrack(track); + // } hold = false; break; @@ -81,26 +87,27 @@ void keypadEvent(KeypadEvent key) void setup() { + // #if !defined(UBRR1H) + mySerial.begin(9600); - // Serial1.begin(9600, SERIAL_8N1, /*rx =*/22, /*tx =*/23); - -#if !defined(UBRR1H) - mySerial.begin(9600, SWSERIAL_8N1, /*rx =*/22, /*tx =*/23); - // mySerial.begin(9600); - myDFPlayer.begin(mySerial, true); -#else - // Serial1.begin(9600); - myDFPlayer.begin(Serial1, true); -#endif - + // #else + // Serial1.begin(9600); + // myMP3.begin(Serial1, true); + // #endif Serial.begin(115200); + myDFPlayer.begin(mySerial); + + if (!SerialBT.begin("das_11lein")) + { + Serial.println("An error occurred initializing Bluetooth"); + } keypad.addEventListener(keypadEvent); // Add an event listener for this keypad Serial.println(); Serial.println(F("DFRobot DFPlayer Mini Demo")); Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)")); - // if (!myDFPlayer.begin(FPSerial, /*debug = */ true)) + // if (!myDFPlayer.begin(FPSerial, /*isACK = */ true, /*doReset = */ true)) // { // Use serial to communicate with mp3. // Serial.println(F("Unable to begin:")); // Serial.println(F("1.Please recheck the connection!")); @@ -112,9 +119,9 @@ void setup() // } Serial.println(F("DFPlayer Mini online.")); - myDFPlayer.volume(20); // Set volume value. From 0 to 30 + myDFPlayer.volume(30); // Set volume value. From 0 to 30 - Serial.println(F("Files on SD " + myDFPlayer.numSdTracks())); // read all file counts in SD card + // Serial.println(F("Files on SD " + myDFPlayer.readFileCounts())); // read all file counts in SD card // Serial.println(myDFPlayer.readCurrentFileNumber()); //read current play file number } @@ -123,7 +130,57 @@ void loop() { char key = keypad.getKey(); - // if (key) { - // Serial.println(key - 'A' + 1); - // } -} + if (SerialBT.available()) + { + int input = SerialBT.readStringUntil('\n').toInt(); + + Serial.print("input: "); + Serial.println(input); + + if (input > 0) + { + if (input == 99) + { + SerialBT.println("set 2nd"); + secondSound = true; + } + else if (input == 98) + { + myDFPlayer.stop(); + SerialBT.println("Stopped"); + } + else if (input == 97) + { + myDFPlayer.volume(20); + SerialBT.println("Volume 20"); + } + else if (input == 96) + { + myDFPlayer.volume(10); + SerialBT.println("Volume 10"); + } + else if (input == 95) + { + SerialBT.println("reset"); + + ESP.restart(); + } + else + { + Serial.println("input: " + input); + Serial.println("secondSound: " + String(secondSound)); + int track = input; + if (secondSound == true) + { + track = track + 25; + secondSound = false; + } + Serial.println("Playing track: " + String(track)); + SerialBT.println("Playing track: " + String(track)); + playTrack(track); + } + } + } + + delay(20); +} \ No newline at end of file diff --git a/src/~$list_5x5_with_Numbers.xlsx b/src/~$list_5x5_with_Numbers.xlsx deleted file mode 100644 index 5a93205..0000000 Binary files a/src/~$list_5x5_with_Numbers.xlsx and /dev/null differ