알람 소스 코드

by 장혜민 | 2018-02-08 15:39


아두이노에서 알람 시간을 받아오는 소스 입니다.




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
87
88
89
90
91
92
93
94
#include<SoftwareSerial.h>
#include <DFPlayer_Mini_Mp3.h>
#include <Time.h>
#include <TimeLib.h>
#include <Wire.h>
#include <DS1307RTC.h>
#include <Adafruit_NeoPixel.h>
 
#ifdef __AVR__
#include <avr/power.h>
#endif
 
#define PIN 6
 
SoftwareSerial BTSerial(7,8);
SoftwareSerial mySerial(12, 13); // RX, TX
Adafruit_NeoPixel strip = Adafruit_NeoPixel(7, PIN, NEO_GRB + NEO_KHZ800);
tmElements_t tm;
 
String hour_ = "";
String min_ = "";
int hour_select;
int min_select;
String inputString;
int now_time_hour = 0;
int now_time_min = 0;
 
 
void setup(){
  strip.begin();
  BTSerial.begin(9600);
  Serial.begin(9600);
  mySerial.begin(9600);
  mp3_set_serial (mySerial);  
  delay(10);  //wait 1ms for mp3 module to set volume
  
  RTC.read(tm);
  Serial.print(tmYearToCalendar(tm.Year));
  Serial.print("/");
  Serial.print(tm.Month);
  Serial.print("/");
  Serial.print(tm.Day);
  Serial.print("/");
  Serial.print(tm.Hour);
  Serial.print("/");
  Serial.print(tm.Minute);
  Serial.print("/");
  Serial.println(tm.Second);
 
  mp3_stop();
  mp3_set_volume (30);          // value 0~20
  mp3_single_loop (true);
  for (int i = 0; i < 7; i++) {
    strip.setPixelColor(i, strip.Color(0, 0, 0));
    strip.show();
  }
 
}
 
void loop(){
  RTC.read(tm);
  hour_select = 0;
  min_select = 0;
  now_time_hour = tm.Hour;
  now_time_min = tm.Minute;
 
  while(BTSerial.available()){
    inputString = BTSerial.readString();
    hour_ = inputString.substring(0,2);
    min_ = inputString.substring(2,4);
 
    hour_select = hour_.toInt();
    min_select = min_.toInt();
 
    if(now_time_hour== hour_select && now_time_min == min_select) {
     Serial.println("Wake up!!!!!!");
      for (int i = 0; i < 7; i++) {
      strip.setPixelColor(i, strip.Color(255, 255, 255));
      strip.show();
    }
 
      
       mp3_play(1);
       delay(6000);
       
      }
 
 
    Serial.print(hour_select);
    Serial.print(".");
    Serial.println(min_select);
  }
}
 
cs


댓글 0

MADE BY