English Click this button for the international website

Arduino Halloween MP3 Soundboard

Dit Arduino Halloween Soundboard is wederom een eenvoudig project gebouwd met onderdelen die ik al had liggen. Het soundboard werkt heel eenvoudig. Op de SD-kaart staan 16 MP3’s. Zodra één van de 16 toetsen van het keypad worden ingedrukt dan speelt de Arduino de bijbehorende MP3 over de luidspreker. Terwijl een MP3 aan het spelen is kun je een andere toets indrukken, het afspelen wordt afgebroken en het volgende geluid begin direkt.

Net zoals het vorige Halloween-project “Bliksem & onweer: Arduino Halloween project” maken we gebruik van de DFPlayer Mini. Daarnaast is deze keer ook een 4×4 keypad van de partij. Dit is geen kant-en-klaar project maar een beginpunt, je kunt het gebruiken om zelf iets leuks te maken. In deze blog gebruiken we het soundboard met Halloween-geluiden, maar je kunt het natuurlijk ook met andere samples gebruiken.

Arduino Halloween MP3 Soundboard: componenten
Alle componenten
Geekcreit® UNO R3 ATmega328P Development Board For Arduino
Getest en Aanbevolen door OneGuyOneBlog.com:

Geekcreit® UNO R3 ATmega328P Development Board For Arduino

Arduino Halloween MP3 Soundboard

Voor dit project gebruik ik de onderstaande componenten. De speaker is gerecycled uit een oude PC.

Als je alle onderdelen bij elkaar hebt dan sluit het het aan zoals op het onderstaande schema is aangegeven.

Arduino Halloween MP3 Soundboard: breadboard
Arduino Halloween MP3 Soundboard: breadboard

Het keypad sluit je volgens onderstaande tabel op de digitale pinnen van de Arduino aan. Pin 1 van het keypad is de linker pin op de connector (het keypad met de bedrukte kant naar boven, zoals op de afbeeldingen).

Keypad pin Arduino digitale pin
1 5
2 4
3 3
4 2
5 9
6 8
7 7
8 6

De DFPlayer Mini wordt op pin 10 en pin 11 (met 1K weerstand) aangesloten, alsmede 5V en GND:

DFPlayer Mini Arduino digitale pin
TX 10
RX 11 (via 1K weerstand)
VCC 5V
GND GND

In het voorbeeld is de DFPlayer Mini op een speaker aangesloten, maar je kunt ook een versterker gebruiken. In onderstaande tabel staan beide mogelijkheden:

DFPlayer Mini Speaker Versterker
SPK_1 +
SPK_2
DAC_L L
DAC_R R
GND GND
DFPlayer Mini pins
DFPlayer Mini pins

Meer informatie over het aansluiten van de DFPlayer Mini kun je vinden op de Wiki van DFRobot.

Halloweengeluiden, de MP3’s

Een kant-en-klare set van 16 Halloweengeluiden in MP3-formaat (320kbps) kun je vinden in de afdeling downloads of downloaden via onderstaande link. De bestanden (0001.mp3 tot 0016.mp3) moeten in een map met de naam ‘mp3’ op de SD-kaart worden geplaatst. De kaart mag FAT16 of FAT32 geformatteerd zijn. Deze geluiden zijn slechts willekeurig gekozen voorbeelden, het is natuurlijk leuker om zelf geluiden te zoeken.

De Arduino libraries installeren

Om het programmeren wat makkelijker te maken gebruiken we libraries voor het keypad en de DFPlayer Mini. De libraries kun je installeren in “Bibliotheek beheer” waar je kunt komen via het menu Hulpmiddelen > Bibliotheken beheren…

Als eerste de keypad-Library (https://playground.arduino.cc/Code/Keypad/). Zoek op ‘keypad’ en kies de library zoals aangegeven in onderstaande afbeelding.

De keypad library installeren
De keypad library installeren

Daarna installeren we de DFRobotDFPlayerMini-library (https://github.com/DFRobot/DFRobotDFPlayerMini). Zoek op “DFRobotDFPlayer” en kies de library met de naam “DFRobotDFPlayerMini”.

De DFRobot DFPlayer library installeren
De DFRobot DFPlayer library installeren

Wanneer deze twee libraries geïnstalleerd zijn dan kunnen we verder met de code voor het soundboard.

Arduino Halloween Soundboard Code

Ook de code is slechts een voorbeeld en een startpunt voor het maken van je eigen creaties. Onderstaande code is gebaseerd op de voorbeeldsketch “HelloKeypad”. Meer voorbeelden kun je vinden in de Arduino IDE onder het menu Bestand > Voorbeelden > Keypad.

#include "Keypad.h"
#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"

SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;

const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns

char keys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

byte rowPins[ROWS] = {5, 4, 3, 2}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {9, 8, 7, 6}; //connect to the column pinouts of the keypad

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

String keypadKeys = "1234567890*#ABCD";

void setup(){
  mySoftwareSerial.begin(9600);
  Serial.begin(9600);

  if (!myDFPlayer.begin(mySoftwareSerial)) {  //Use softwareSerial to communicate with mp3.
    Serial.println(F("Unable to begin:"));
    Serial.println(F("1.Please recheck the connection!"));
    Serial.println(F("2.Please insert the SD card!"));
    while(true);
  }

  myDFPlayer.volume(25);  //Set volume value. From 0 to 30
}
  
void loop(){
  char keyPressed = keypad.getKey();
  
  if (keyPressed){
    Serial.println(keyPressed);
    int sampleIndex = 1 + keypadKeys.indexOf(keyPressed); //Convert pressed key (1234567890*#ABCD) to sample index (1-16)
    Serial.println(sampleIndex);
    myDFPlayer.play(sampleIndex);  //Play the chosen mp3
  }
}

Wordt vervolgd

Met een project als dit kun je zo veel kanten op dat we er ongetwijfeld nog een keer op terug zullen komen. Wat zouden we er zoal nog meer mee kunnen doen?

  • Inbouwen in een grappige behuizing
  • Een ander thema kiezen dan Halloween
  • De toetsen A-B-C-D een “soundbank” laten selecteren zodat je meer geluiden kunt afspelen
  • Een OLED– of LCD-display, LEDs etc. aansluiten
  • een WiFi-versie maken met een ESP8266 of ESP32
  • Etc. etc. etc.

Mogelijkheden genoeg! Heb je er zelf een leuk project mee gemaakt? Zet het in de commentaren hier onder!

Geekcreit® UNO R3 ATmega328P Development Board For Arduino
Getest en Aanbevolen door OneGuyOneBlog.com:

Geekcreit® UNO R3 ATmega328P Development Board For Arduino
DFPlayer Mini MP3 Player Module For Arduino
Getest en Aanbevolen door OneGuyOneBlog.com:

DFPlayer Mini MP3 Player Module For Arduino
16Keys 4 x 4 SCM Matrix External Expansion Keyboard Contral Board
Getest en Aanbevolen door OneGuyOneBlog.com:

16Keys 4 x 4 SCM Matrix External Expansion Keyboard Contral Board
300Pcs 1% 1/4W Metal Film Resistor Resistance 30 Values Assortment Kit
Getest en Aanbevolen door OneGuyOneBlog.com:

300Pcs 1% 1/4W Metal Film Resistor Resistance 30 Values Assortment Kit
8.5 x 5.5cm 400 Tie Points 400 Holes Solderless Breadboard Bread Board
Getest en Aanbevolen door OneGuyOneBlog.com:

8.5 x 5.5cm 400 Tie Points 400 Holes Solderless Breadboard Bread Board
65 Pcs Breadboard Jumper Connect Cable Adapter Cable
Getest en Aanbevolen door OneGuyOneBlog.com:

65 Pcs Breadboard Jumper Connect Cable Adapter Cable
8G Micro SD TF Micro SD Card For Cell Phone MP3 MP4 Camera
Getest en Aanbevolen door OneGuyOneBlog.com:

8G Micro SD TF Micro SD Card For Cell Phone MP3 MP4 Camera

Voeg een reactie toe

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *