Roulette partij muziekspeler (5 / 7 stap)

Stap 4: Software


Zoals eerder gezegd, de documentatie en de bibliotheken voor het v1 Seeedstudio muziek schild zijn een beetje nagemaakte en onder ondersteund. Ik uiteindelijk opgespoord een vaste set van de bibliotheken die nodig zijn om daadwerkelijk deze lopen en zij zijn die hieronder zijn toegevoegd. U moet de drie mappen toevoegen aan uw omslag van de bibliotheken Arduino zoals u zou doen met een andere bibliotheek.

Nu is het punt in deze stap waar ik overgaan tot zwerftocht over de binnenwerkingen van de schets. Als hebben geen belang dan voel je vrij om verder te gaan, mis je niet om het even wat kritisch, maar als je verblijf je gewoon iets kan leren.

Eerste noemen off we een heleboel bibliotheken. Dit zijn alle gebruikte mijn de muziek schild te doen verschillende dingen zoals lezen van de SD-kaart, het zenden van de audio, en decoderen van de .mp3 opgemaakt nummers. Met de bibliotheken uit de weg de speler van de muziek zelf is geïnitieerd en onze globale variabelen worden gedeclareerd.

#include <Fat16.h>

#include <Fat16Util.h>

#include <NewSPI.h>

#include <arduino.h>

#include "pins_config.h"

#include "vs10xx.h"

#include "newSDLib.h"

#include "MusicPlayer.h"

//Music player initiation

MusicPlayer myplayer;

//Variables

char title[8]; //holds the assembled music track title

long trackNum; //holds the randomized track name

boolean switched = LOW; // tells if switch has been thrown

Setup die wij te beginnen betreden, Nou, opstelling de speler van de muziek. Het gaat hierbij om digitale controle, de speler in de normale modus starten en de willekeurige nummer selectie functie toe te wijzen aan onze knop. na dat we een zaad voor de random number generator te trekken uit een niet-vastgemaakte analoge pin en kies het eerste nummer.

myplayer.keyDisable();

myplayer.digitalControlEnable();

myplayer.begin();//will initialize the hardware and set default mode to be normal.

myplayer.attachDigitOperation(3, randomSong, HIGH);

randomSeed(analogRead(4));

Elk gewenst moment een nummer wordt gekozen de code moet de bestandsnaam van het lied in drie stappen bouwen. Eerste het advertenties een "0" als een tekenreeks. Aangezien de bestandsnamen strings zijn is het gemakkelijkst als we beginnen met de bouw van een string. Dit is waarom elk muziekbestand dient te beschikken over een 0 als eerste teken. Vervolgens het kiest voor een willekeurig getal uit de beschikbare set (1-75 voor de normale modus, 1-100 voor gokker modus) en voegt dat aan de tekenreeks met de 0. Tot slot de extensie .mp3, is geslagen op het einde en het hele ding wordt weggeschreven naar een karakter array.

String base = "0";

trackNum = random(1, 76);

base.concat(trackNum);

base.concat(".mp3");

base.toCharArray(title,9);

Nu we onze hoofdlus invoeren en beginnen door de instelling van de speler tot normale modus en begin afspelen van het eerste nummer. Op dit punt houdt de code aan lijn 41 totdat ofwel de song is afgelopen, die ervoor dat de knop wordt ontgrendeld en pakt een nieuw lied zorgt, of de knop is ingedrukt. Wanneer de knop wordt gedrukt activeert de functie die we aan de knop in Setup gebonden.

myplayer.setPlayMode(MODE_NORMAL);//set mode to repeat to play a song

myplayer.playSong(title);//play a song named with test.wav

switched = LOW;

De randomSong() functie begint met eenvoudige vorm van ontdendering die waarschijnlijk is niet echt nodig en gaat vervolgens om te controleren of de knop ontgrendeld. Als het dan stopt de speler, een nieuw lied kiest de hele set, voegt dat liedje als de volgende in de afspeellijst (niet zelfs get me begon op de dit schild afspeellijst systeem), voorschotten van de afspeellijst naar het nieuwe liedje, en Hiermee vergrendelt u de knop naar beneden.

if (switched == LOW){

playingState = PS_STOP;

. . .

myplayer.addToPlaylist(title);

playingState = PS_NEXT_SONG;

switched = HIGH;}

Gerelateerde Artikelen

Roulette met Party Poppers glitter

Roulette met Party Poppers glitter

Oh wat geluk en binnenkort te glittery vrienden hebt! De partij knallen met een fontein van glitter, allemaal in een spel van kans krijgen. Kom op, is het slechts 1 in 6 die uw popper's gonna worden gevuld met een ophopende stapel van miniatuur vreug
De speler van de partij van de muziek. DiscoVeryMusic voor vrienden!

De speler van de partij van de muziek. DiscoVeryMusic voor vrienden!

Heb je ooit gedacht over een slimme muziekspeler die tourn op de muziek wanneer u thuiskomt, of die speelt de muziek volgens de afspeellijsten van de mensen in die kamer? Nu u kunt!In deze tutorial begeleiden we je via een eenvoudige manier om uw vri
RGB LED partij licht

RGB LED partij licht

Hier is hoe u kunt een RGB LED als een regenboog partij licht voortdurend reizen door het zichtbare spectrum. Wat u nodig zult hebben is:-1 of meerdere RGB-LED 's-1 Arduino UNO bestuur; het kan zijn dat andere boards Arduino merk-een breadboard-5 jum
Arduino & Neopixel Coke fles partij licht

Arduino & Neopixel Coke fles partij licht

Dus mijn zoon Doon plekken een zeer koele partij licht van oude cokes flessen en de slissend ingewanden van Glow Sticks maakte, en vraagt als kunnen we één voor zijn aanstaande School examens zijn Over Blowout PartAYYY!!! Ik zeg zeker, maar niet zou
DIY partij gunsten

DIY partij gunsten

Eenvoudige nog mooie en elegante partij gunsten dat u zelf kunt doen!Stap 1: materialen Chocolade repen of een chocolade doos van uw keuze. Ik gebruik Reese ditmaalGouden tissue papier (of een kleur naar keuze)Kleinste grootte van doiliesLint (de kle
Hartslag partij hanger

Hartslag partij hanger

Mijn vrienden aan het praten waren over brunch eenmaal dag over hoe cool (en hoe angstaanjagende) zou het als een persoon die u aan het chatten bent met (misschien op een feestje of op een datum) eigenlijk zien kon wanneer je hartslag versnelt, waard
Partij taart

Partij taart

Heb je ooit wilde leren hoe voor het decoreren van een taart? Als je eenmaal leert om meester van deze eenvoudige stappen, zal u zitten kundig voor overgaan tot meer ingewikkelde technieken, met inbegrip van meerdere trapsgewijze taarten met ingewikk
"Fuller House" stijl partij

"Fuller House" stijl partij

Ik weet niet over u, maar mam, Ashley (schoonzus), en ik binge gevolgde voller huis dit weekend op Netflix! Ik ben opgegroeid op Full House en alle TGIF shows. Ik denk dat het enige wat spannender dan Fuller House komen is de nieuwe show van Gilmore
De partij van de verjaardag van een superheld

De partij van de verjaardag van een superheld

Dit is wanneer je niet echt een grote ruimte in uw huis hoeft en je moet ergens een ruimte huren.We hadden een sportschool plaats in onze stad waar het ook een kamer voor de partij (de sportschool een paar maanden geleden, helaas afgebrand aangeboden
Partij tabel idee: It's A Boy - babydouche

Partij tabel idee: It's A Boy - babydouche

Jongen babydouche is vaak authentiek met blauwe kleur wanneer de ouders of de host al weet het geslacht. Dit idee van de tabel partij heeft warme chocolademelk en rundvlees chili stations als uw feest wordt gehouden op koude dagen (herfst/winter/rege
Mama's kleine partij Shortbread

Mama's kleine partij Shortbread

Dit was een favoriet van mijn groeiende omhoog, en dankzij de mama's oud receptenboek die ik heb eindelijk onder de knie waardoor ze op mijn eigen. Zandkoek is een eenvoudige klassieker en wat ik wil doen met dit recept maken de hele partij van deeg
Partij Popper BB Launcher

Partij Popper BB Launcher

de materialen die u zult moeten:Partij PopperBBs/pelletsStap 1: Neem uit de binnenkantNeem de kartonnen stuk uit en verwijder alle confetti.Stap 2: Laad je wapenZet 5-10 bbs of pellets in. (een meer zou kunnen overbelasten uw creatie en het zal niet
Partij Crackers

Partij Crackers

stap voor stap instructies voor het maken van je eigen crackers dat pop!Partij crackers zijn een Britse traditie rond Kerstmis, maar echt moeten worden gebruikt om te vieren elke gebeurtenis!  Hier zijn eenvoudige instructies, zodat u kunt uw eigen m
Donut Hole Roulette

Donut Hole Roulette

Simpel maar effectief! Zien seamster de donut prank de andere dag deed me denken aan een grap mijn maatje en ik trok op New Year's party in college. Volg deze eenvoudige stappen om grazende feestvierders geven een kleine verrassing (en een beetje wan