-
Notifications
You must be signed in to change notification settings - Fork 0
/
Adventskalender.ino
86 lines (77 loc) · 1.92 KB
/
Adventskalender.ino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
/*
Example: Control a WTV020-SD-16P module to play voices from an Arduino board.
Created by ELECTRONOOBS, oct 14, 2016.
*/
#include <Wtv020sd16p.h>
#include <Wire.h>
#include "RTClib.h"
int resetPin = 4; // The pin number of the reset pin.
int clockPin = 5; // The pin number of the clock pin.
int dataPin = 6; // The pin number of the data pin.
int busyPin = 7; // The pin number of the busy pin.
/*
Create an instance of the Wtv020sd16p class.
1st parameter: Reset pin number.
2nd parameter: Clock pin number.
3rd parameter: Data pin number.
4th parameter: Busy pin number.
*/
Wtv020sd16p Player(resetPin,clockPin,dataPin,busyPin);
RTC_DS1307 RTC;
int Played;
void setup() {
//Initializes the module.
Player.reset();
RTC.begin();
Serial.begin(9600);
Serial.println("Starting Adventskalender");
Player.setVolume(4);
Played = 0;
//Player.mute();
/*if (! RTC.isrunning())
{
Serial.println("RTC is NOT running!");
// following line sets the RTC to the date & time this sketch was compiled
RTC.adjust(DateTime(__DATE__, __TIME__));
}*/
}
void PlayTrack(unsigned int Track)
{
if(! Player.isPlaying() && ! Played)
{
//Plays synchronously an audio file. Busy pin is used for this method.
Serial.println("playing!");
Player.asyncPlayVoice(Track);
Player.setVolume(4);
Played = 1;
}
else
{
Serial.println("Player is busy");
}
}
void loop() {
DateTime now = RTC.now();
Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.day(), DEC);
Serial.print(' ');
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
if (now.day() < 25 && now.month() == 12)
{
PlayTrack(now.day());
}
else
{
Serial.println("Start playing default track");
PlayTrack(25);
}
delay(2000);
}