ESP 32 + MP3 + Neopixels + RFID + LCD (Jukebox)

Aquest projecte consisteix en construir un Jukebox utilitzant un dispositiu ESP32 que permetrà:

  • activar sons i llums (neopixels) amb targes RFID
  • ejecutar les funcions play, pause, next, previous, pujar i baixar el volum del so amb targes rfid
  • rebre informació de l’estat del Jukebox per LCD

En total emprarem 15 targes, 10 targes per reproduir 10 sons i 10 efectes de llums, 2 targes per control de reproducció (pause i continue) i tres targes per control de volum (volum fixat a la programació, pujar i baixar volum).
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.

Per evitar conflictes a l’hora de connectar tots els dispositius de l’aplicació, és quasi imprescindible mantenir els pin proposats per a cada dispositiu
Mostra del resultat final provissional amb RFIDs

Al següent document trobareu unes informacions detallades de com canviar els efectes de colors que s’utilitzen en aquest projecte. D’aquesta manera podreu modificar els colors i els efectes en funció del que us interessi. Link

Els sons que podreu sentir veient el video no es corresponen amb el que varem posar originalment ja que algunes cançons tenien drets d’autor i Youtube no ens ho ha permés.

Aquest mateix projecte també es pot realitzar utilitzant TouchPins (botons tàctils).
Podeu accedir a la versió amb Touch pins des d’aquest link: https://sacosta.cat/esp-32-mp3-neopixels-touchpins/

Versió final

Material necessari

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

Pels nostres projectes hem escollit aquesta placa ESP32 WROOM DA MODULE

Dispositiu LCD 20x4 amb connexió I2C
Dispositiu LCD 20×4 amb connexió I2C

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 només 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 001.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.

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: audios, activació de codi rfid, llums als neopixels, textos a L’LCD etc.
  • Una vegada comprovat el seu funcionament, repetir el procès amb el següent component

L’ordre de connexió de components és:
Primer el LCD, després el lector de RFID, a continuació 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 0:

  • LCD:
    • Connexions del 4 pins I2C de l’LCD
      • GND…GND
      • VCC… 5V
      • SDA…25
      • SCL…26
conectors I2C de l'LCD20x4

Una vegada instal·lat LCD és convenient comprovar el seu funcionament. Per fer-ho podeu carregar el següent programa

https://app.arduino.cc/sketches/66628f32-c9cf-4653-a062-39efc8814711?view-mode=preview

Pas previ 1:

  • RFID:
    • Connexions, dels 8 només utilitzem 7.
      • SDA … 5
      • SCK … 18
      • MOSI … 23
      • MISO … 19
      • aquest no el gastem
      • GND … GND
      • RST … 22
      • 3.3V … 3.3V


Una vegada instal·lat el lector de codis RFID, l’objectiu es saber el codi de les vostres targes.

Link al codi per aquest primer pas: https://app.arduino.cc/sketches/7a697b4e-4c90-4067-a459-6a1a98428243?view-mode=preview

Amb aquest codi podeu saber quin es el codi de cadascuna de les vostres targes, és convenient escriure aquest codi (UID) amb un retolador permanent sobre cada una de les targes i, una vegada que els tingueu tots, canviar-los pels que apareixen en el codi d’exemple.
Ull! amb el número 0, no el confongueu amb la lletra O majúscula, aquesta lletra no s’utilitza en el codi hexadecimal utilitzat per numerar les targes, sempre serà un zero.

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 del pas previ dos: https://app.arduino.cc/sketches/070f7844-c464-4ce4-b738-0238f08f203c?view-mode=preview

Al seguent link podeu trobar una altra creació nostre, amb ESP32, més senzilla amb l’ús d’una altra tarja de sons mp3: https://sacosta.cat/control-dun-reproductor-mp3-amb-esp32-i-botons-tactils/

I un altre amb Arduino Nano: : https://sacosta.cat/nuvol-controlat-per-rfid/

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 tres: https://app.arduino.cc/sketches/6ede1e9d-9059-47b5-9f9f-fe7e2001da6e?view-mode=preview

Esquema final

Codi final Rfid

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

  • modificar el nombre de neopíxels que voleu emprar (línia 13)
  • canviar el codi identificatiu (UID) de les targes del codi exemple (línies 27 a 36) pel de les vostres, que heu aconseguit en el pas previ 1

Codi del programa final https://app.arduino.cc/sketches/d70f9c3b-8272-492e-82e1-bb65fd454d81?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