Fru Karlsson skelett Fortune Teller (38 / 40 steg)
Steg 38: Programmet notering - Arduino Uno R3 (Audio Player)
Arduino Uno R3 audio spelaren läser en 4 siffrig binära värdet från mynt Acceptor Arduino Uno R3 och spelar en ljudfil som associeras med det binära värdet.
#include
#include
#include
#define BREAKOUT_RESET 9 / / VS1053 återställa PIN-koden (output)
#define BREAKOUT_CS 10 / / VS1053 chip Välj pin (output)
#define BREAKOUT_DCS 8 / / VS1053/kommandot Markera pin (output)
#define SHIELD_RESET -1 / / VS1053 återställa PIN-koden (oanvänd!)
#define SHIELD_CS 7 / / VS1053 chip Välj pin (output)
#define SHIELD_DCS 6 / / VS1053/kommandot Markera pin (output)
#define CARDCS 4 / / kort chip Välj pin
#define DREQ 3 / / VS1053 Data begär, ett perfekt avbrott pin
Adafruit_VS1053_FilePlayer Musicplayeren =
Adafruit_VS1053_FilePlayer (SHIELD_RESET, SHIELD_CS, SHIELD_DCS, DREQ, CARDCS);
int val;
Definiera vägda binära värden används för mappning av indata
int Binary1 = 0;
int Binary2 = 0;
int Binary4 = 0;
int Binary8 = 0;
void setup()
{
Definiera stift används för insatsvaror skickas från andra Arduino
pinMode (14, INPUT_PULLUP). Anger den analoga pin A0 som indata
pinMode (15, INPUT_PULLUP); Anger den analoga pin A1 som indata
pinMode (16, INPUT_PULLUP). Anger den analoga pin A2 som indata
pinMode (17, INPUT_PULLUP); Anger den analoga pin A3 som indata
Serial.BEGIN(9600);
initialisera musikspelaren
om (! musicPlayer.begin())
{/ / Starta musikspelaren
Serial.println (F ("kunde inte hitta VS1053, har du rätt stift definitionen?"));
samtidigt (1).
}
IF (!. SD.begin(CARDCS))
{
}
Ställa in volymen för vänster, höger kanaler. Lägre nummer == högre volym!
Detta är om du köper enheten med inbyggd förstärkare
musicPlayer.setVolume(20,20);
om (! musicPlayer.useInterrupt(VS1053_FILEPLAYER_PIN_INT))
Serial.println (F ("DREQ pin är inte ett avbrott pin"));
}
void loop()
{
Börja spela en fil, då kan vi göra saker medan du väntar på det till slut
om (musicPlayer.stopped())
{
Delay(1);
}
{
Binary1 = digitalRead(14); Binär 1
Binary2 = digitalRead(15); Binära 2
Binary4 = digitalRead(16); Binära 4
Binary8 = digitalRead(17); Binär 8
Visa 1 upptäckt - binära 1
om (Binary1 == hög & & Binary2 == låg & & Binary4 == låg & & Binary8 == låg) / / 1 2 4 8
{
Serial.println ("Show 1");
(musicPlayer.startPlayingFile("s1.mp3"));
fördröjning (1000);
}
Visa 2 upptäckt - binära 2
om (Binary1 == låg & & Binary2 == hög & & Binary4 == låg & & Binary8 == låg) / / 1 2 4 8
{
Serial.println ("Show 2");
(musicPlayer.startPlayingFile("s2.mp3"));
fördröjning (2000);
}
Visa 3 cent upptäckta - binära 3
om (Binary1 == hög & & Binary2 == hög & & Binary4 == låg & & Binary8 == låg) / / 1 2 4 8
{
Serial.println ("Show 3");
(musicPlayer.startPlayingFile("s3.mp3"));
fördröjning (2000);
}
}
}