ESP 32 + MP3 + Neopixels + Touchpins

Aquest projecte consisteix en, utilitzant una tarja ESP32, activar sons i llums (neopixels) amb TOUCHPins (botons tàctils).
Aquest matexi projecte es pot fer amb targes RFID en lloc de touchpins. Aqui teniu el link: https://sacosta.cat/esp-32-mp3-neopixels-rfid/
S’utilitza la placa ESP32 per poder evitar problemes de rendiment detectats en altres plaques que varem emprar anteriorment (Arduinos Nanos per exemple). Aquesta placa ESP32 porta dos nuclis, la qual cosa ens permetrà un ús més dinàmic de les ordres i les reaccions.
En aquest projecte tocant 8 superficies conductives (paper de coure adhesiu en el video) sonaran 8 cançons i s’activaran 8 efectes de leds neopixels.
En aquesta pàgina trobaràs tots els components necessaris, codis per fer les diferents parts i alguns consells.

Mostra del resultat final provissional TouchPins

Material necessari

Aqui trobareu imatges i descripcions dels materials necessaris, les connexions i el codi per afavorir l’èxit en el projecte.

Els efectes que s’activaran amb cada led es poden modificar. S’ha de saber on està la part de codi específica i si teniu prou coneixement o si demaneu a la AI, podreu tenir els efectes desitjats. No cal que els efectes siguin canvis de colors, es poden arribar a crear efectes molt interessants emprant la AI.

Dins de la DF Player Mini hi ha d’haver una SD Card. No ha de ser de molt contingut, amb 2 giges és suficient.
Les cançons s’han de copiar individualment, amb el nom dels arxius començant per 0001.mp3 en una tarjeta Sd Card formatada de nou.

Alimentació
Tot el projecte anirà a 5 o a 3,3V en funció del component.
El projecte final es pot alimentar amb un carregador de mòvil o un powerbank però per garantir que funcioni correctament es necessari alimentar els neopixels i el reproductor de mp3 de forma independent, no des de la placa.. Si s’utilitza un alimentador de 5V que sigui de 3A per garantir prou energía per tots el components.

Passos prèvis

Nosaltres som partidaris de muntar i provar seqüencialment cadascun dels components per anar comprovant el muntatge pas a pas. Per aquesta raó, abans de pujar tot el codi amb totes les conexions, us presentem uns codis per verificar els components així com ho anam muntant, per finalment comprovar que tot està connectat correctament pel projecte final

Proposem per a cada component:

  • conectar un component a la ESP, seguint l’esquema proposat,
  • pujar-li el codi relacionat amb aquest component
  • verificar que fa el que toca.
  • Una vegada comprovat el seu funcionament, repetir el procès amb el següent component

L’ordre de connexió de components és:
Primer el detector de la pulsació sobre el toouchpin, després el reproductor de MP3 amb els altaveus i per últim els leds neopixels.
Hi ha un programa diferent per a comprovar cada etapa.

Pas previ 1:

  • Pins Táctils:
  • Per saber com funcionen els TouchPins de les plaques ESP podeu anar a aquest link, on trobareu les informacions necessaries i explicacions de com crear botons tàctils.
    • GPIOs 0, 2, 4, 12–15, 27, 32, 33 usats com a botons tàctils
    • Per comprovar si la placa es conecta amb els touchpin podeu emprar l’arxiu anomenat “ 5_calibrar_touchpins”. Aquest arxiu us mostrarà si els touchpin reben pressió i quina és.
    • A la imatge de sota podeu veure quins son els botons Touchpin

Per saber com construir botons tactils amb les opcions de la placa ESP32 podeu visitar aquet link: https://sacosta.cat/creacio-de-botons-tactils/

Connexions, dels 8 Touchpins de la placa ESP32

TOUCHPINS

TOUCH 0 …… 4 (violeta)

TOUCH 2…….12 (cian)

TOUCH 3…… 15 (marró)

TOUCH 4 ……13 (taronja)

TOUCH 6 ……14 (blanc)

TOUCH 7…….27 (gris)

TOUCH 8 ……33 (blau)

TOUCH 9 ……32 (rosa)

Link al codi de pas previ 1, https://app.arduino.cc/sketches/246297c2-1501-4080-8ddd-77e6685cf5f7?view-mode=preview

Amb aquest codi podeu saber quin és el valor de cadascuna dels vostres botons touchpins. Heu de saber que quan es prem un botó tàctil el valor canvia i disminueix. Així doncs, d’un valor de 60 pot passar a 8., per exemple. Moltes vegades depen d’on estan situats els botons, sobre un plàstic, una fusta, etc, els canvis són considereables.

Pas previ 2:

  • DFPlayer Mini (a través de Serial2):
    • TX del DFPlayer → GPIO16 (RX2 del ESP32)
    • RX del DFPlayer → GPIO17 (TX2 del ESP32) (usar resistencia de 1KΩ en serie)
    • VCC → 5V
    • GND → GND
    • SPK_1 y SPK_2 → Altavoz (8Ω 1W o similar)
    • (Afegir capacitor de 100µF prop del VCC-GND del DFPlayer si hi ha problemes de soroll.)
      Per comprovar si la placa es conecta amb el lector de MP3 podeu emprar l’arxiu anomenat “ 1_ESP32_saber_ordre”. Aquest arxiu us anirà reproduint fragments curts ordenats dels audios que hi ha a la SD card.


Després de connectar el DFPlayer Mini, insertar la tarja SD i pujar el codi, podreu comprovar els sons (mp3, numerats per ordre a partir de 0001.mp3). Per garantir que els sons se senten perfectament podeu emprar aquest codi que els activa per ordre en que han sigut enregistrats a la tarja, un darrera de l’altra.

Link al codi https://app.arduino.cc/sketches/070f7844-c464-4ce4-b738-0238f08f203c?view-mode=preview

Dins de la DF Player Mini hi ha d’haver una SD Card. No ha de ser de molt contingut, amb 2 giges és suficient.
Les cançons s’han de copiar individualment, amb el nom dels arxius començant per 0001.mp3 en una tarjeta Sd Card formatada de nou.
Podeu trobar més informació de com posar els sons a les targes en aquest video.

Podeu ampliar els vostres coneixements amb un altre projecte de Touchpins i mp3 que no utilitza sons i utilitza una altra tarja de sons: https://sacosta.cat/control-dun-reproductor-mp3-amb-esp32-amb-botons-tactils-gestors-de-grups-de-sons-i-lcd/

Pas previ 3:

  • NeoPixel:
    • DIN → GPIO21
    • VCC → 5V
    • GND → GND Posar al codi el nombre de pixels que s’usaran. (Afegir un condensador de 1000µF entre VCC y GND, i una resistència de 330–470Ω en sèrie amb DIN si es posible.)


Deprés de connectar la tira de neopíxels podreu comprovar el seu funcionament amb el codi adjunt.

link al codi del pas previ 3: https://app.arduino.cc/sketches/6ede1e9d-9059-47b5-9f9f-fe7e2001da6e?view-mode=preview

Esquema final

touchpins

Codi final TouchPins

Aquest és el codi que heu d’emprar. Està comentat. Bàsicament el que heu de fer és:

  • la part més important perque el vostre projecte funcioni serà canviar el valor que apareix a la línia 31 on surt un valor, el llindar a partir del que els botons són operatiu, pel que vosaltres considereu oportú. En el nostre cas aquest valor és de 20. Haureu de calibrar una mica els resultats.
  • modificar el nombre de neopíxels que voleu emprar. Llínia 9. Per defecte porta 60 neopixels.

Link a codi del programa final https://app.arduino.cc/sketches/b313c059-0ce7-4cf9-9722-aaeb72092d42?view-mode=preview

Feu un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *

Informació bàsica respecte a protecció de dades
Responsable Sacosta +info...
Finalitat Gestionar i moderar els seus comentaris. +info...
Legitimació Consentiment de l'interessat +info...
Destinataris No es transferiran dades a tercers, llevat d'obligació legal +info...
Drets Accedir, rectificar i cancel·lar les dades, així com d'altres drets. +info...
Informació addicional Podeu aconseguir més informació sobre protecció de dades a la pàgina de política de privadesa.

Desplaça cap amunt