//24=ค่ะเจ้านายฉันพร้อมทำงานคะ
//21=ได้ยินค่ะเจ้านาย
//22=พร้อมทำงานสั่งมาได้เลยค่ะ
//23=ค่ะเจ้านายจะให้ฉันทำอะไรค่ะ
//#include <Wire.h> 
//#include <LiquidCrystal_I2C.h>
//LiquidCrystal_I2C lcd(0x27, 16, 2);
//
#include <SoftwareSerial.h>
#include <DFPlayer_Mini_Mp3.h>
#define RXpinA 2
#define TXpinA 3
SoftwareSerial btA = SoftwareSerial(RXpinA, TXpinA);
///////////////////////////////////
const int analogInPin0 = A0;
const int analogInPin1 = A1;//ฟาร์ยเดย์
const int analogInPin2 = A2;//
const int analogInPin3 = A3;//
const int buttonPin = 7;
int buttonState = 0; 
int sensorValue0 = 0;
int sensorValue1 = 0; 
int sensorValue2 = 0; 
int sensorValue3 = 0; 
int LED = 8; 
int LED2 = 13;
int FF=0;
int AA=0;
#include <Wire.h>
#include <SPI.h> 
#include <RTClib.h>
RTC_DS3231 RTC;
void setup()
{
  pinMode(LED, OUTPUT);
  pinMode(LED2, OUTPUT);
  digitalWrite(LED, HIGH);
  digitalWrite(LED2, HIGH);
  delay(1000);
  digitalWrite(LED, LOW); 
  digitalWrite(LED2, LOW);
//  lcd.begin();
//  lcd.backlight();
//  lcd.println("TERMFUN ROBOTIC");
/////////////////////////////////////////
  mp3_set_serial (btA);
  mp3_set_volume (5);
  btA.begin (9600);
  
  
//    lcd.begin();
Serial.begin(57600);
    Wire.begin();
    RTC.begin();
//RTC.adjust(DateTime(__DATE__, __TIME__));//ตั้งเวลา
  if (! RTC.isrunning()) 
  {
    Serial.println("RTC is NOT running!");
    RTC.adjust(DateTime(__DATE__, __TIME__));
  }
 delay(1000);
  
  
  mp3_play (24);//////////////
  delay (6000);  
}
void loop()
{
sensorValue0 = analogRead(analogInPin0);
sensorValue1 = analogRead(analogInPin1);
sensorValue2 = analogRead(analogInPin2);
sensorValue3 = analogRead(analogInPin3);
buttonState = digitalRead(buttonPin);
DateTime now = RTC.now();
if(now.minute()==30&&now.second()==1)
{
  mp3_play (21);//////////////
  delay (6000); 
 
}
else if(now.hour()==6&&now.minute()==59&&now.second()==1)
    {
  mp3_play (7);
  delay (6000);  
    }
  else if(now.hour()==7&&now.minute()==59&&now.second()==1)
    {
      mp3_play (8);
  delay (6000);
    }    
   else if(now.hour()==8&&now.minute()==59&&now.second()==1)
    {
      mp3_play (9);
  delay (6000);
    }  
        else if(now.hour()==9&&now.minute()==59&&now.second()==1)
    {
      mp3_play (10);
     delay (6000);
    } 
        else if(now.hour()==10&&now.minute()==59&&now.second()==1)
    {
      mp3_play (11);
  delay (6000);
    } 
        else if(now.hour()==11&&now.minute()==59&&now.second()==1)
    {
      mp3_play (12);
  delay (6000);
    } 
        else if(now.hour()==12&&now.minute()==59&&now.second()==1)
    {
 
      mp3_play (13);
  delay (6000);
    } 
        else if(now.hour()==13&&now.minute()==59&&now.second()==1)
    {
      mp3_play (14);
  delay (6000);
    } 
        else if(now.hour()==14&&now.minute()==59&&now.second()==1)
    {
      mp3_play (15);
  delay (6000);
    } 
        else if(now.hour()==15&&now.minute()==59&&now.second()==1)
    {
      mp3_play (16);
  delay (6000);
    } 
            else if(now.hour()==16&&now.minute()==59&&now.second()==1)
    {
      mp3_play (17);
  delay (6000);
    } 
            else if(now.hour()==17&&now.minute()==59&&now.second()==1)
    {
 
      mp3_play (18);
  delay (6000);
    } 
            else if(now.hour()==18&&now.minute()==59&&now.second()==1)
    {
      mp3_play (19);
  delay (6000);
    } 
            else if(now.hour()==19&&now.minute()==59&&now.second()==1)
    {
      mp3_play (20);
  delay (6000);
    } 
            else if(now.hour()==20&&now.minute()==59&&now.second()==1)
    {
  mp3_play (21);
  delay (6000);
    } 
////////////////////////////////////////////////////////////////////////เรียกด็อกเตอร์
if(sensorValue0>=500)//ด็อกเตอร์
{ 
mp3_play (24);
delay (3000);
FF=1;
}
else if(sensorValue1>=500&&FF==1)///เปิดไฟ
{ 
mp3_play (25);
delay (3000);
digitalWrite(LED, HIGH);
delay(10000);
digitalWrite(LED, LOW);
mp3_play (26);
delay (3000); 
FF=0;  
}
else if(sensorValue2>=500&&FF==1)//เปิดเพลง
{ 
mp3_play (27);
delay (3000);
Song();
FF=0; 
}
else if(sensorValue3>=500)
{ 
Sawadee();  
}
//Sawadee();
//fryday();
//Song();
//suiy();
//caption();
//nitan();
//Print();
        
}////////////////////////////////////////////////////loop
int mathRandomInt(int min, int max) 
{
  if (min > max) {
    // Swap min and max to ensure min is smaller.
    int temp = min;
    min = max;
    max = temp;
  }
  return min + (rand() % (max - min + 1));
}
//////////////////////////////////////////////////////
void Sawadee()
{
int SW;
SW=(mathRandomInt(1, 3));////สวัสดีค่ะทุกคน
if(SW==1)
{ 
  mp3_play (1);
  delay (8000);
  AA=0;
}
else if(SW==2)
 { 
  mp3_play (2);
  delay (8000);
  AA=0;
}
else if(SW==3)
{ 
  mp3_play (3);
  delay (8000);
  AA=0;
}
}
////////////////////////////////////////
void fryday()
{
if(AA==1)
{ 
  mp3_play (4);
  delay (6000);
  AA=2;
}
else if(AA==2)
 { 
  mp3_play (5);
  delay (6000);
  AA=3;
}
else if(AA==3)
{ 
  mp3_play (6);
  delay (6000);
  AA=1;
}
}
void Song()
{
int SNG;
SNG=(mathRandomInt(31, 35));
if(SNG==31)
{  
  digitalWrite(LED2, HIGH);
  mp3_play (31);
  delay (30000);
  digitalWrite(LED2, LOW);
}
else if(SNG==32)
 { digitalWrite(LED2, HIGH);
  mp3_play (32);
  delay (30000);digitalWrite(LED2, LOW);
}
else if(SNG==33)
{ digitalWrite(LED2, HIGH);
  mp3_play (33);
  delay (30000);digitalWrite(LED2, LOW);
}
else if(SNG==34)
{ digitalWrite(LED2, HIGH);
  mp3_play (34);
  delay (30000);digitalWrite(LED2, LOW);
}
else if(SNG==35)
{ digitalWrite(LED2, HIGH);
  mp3_play (35);
  delay (30000);digitalWrite(LED2, LOW);
}
}
///////////////////////////////////////////////
void suiy()
{
AA=(mathRandomInt(41, 44));
if(AA==41)
{ 
  mp3_play (41);
  delay (9000);
}
else if(AA==42)
 { 
  mp3_play (42);
  delay (9000);
}
else if(AA==43)
{ 
  mp3_play (43);
  delay (9000);
}
else if(AA==44)
{ 
  mp3_play (44);
  delay (9000);
}
}
///////////////////////////////////////////////
void caption()
{
int CC;
CC=(mathRandomInt(61, 66));
if(CC==61)
{ 
  mp3_play (61);
  delay (9000);
}
else if(CC==62)
 { 
  mp3_play (62);
  delay (9000);
}
else if(CC==63)
{ 
  mp3_play (63);
  delay (9000);
}
else if(CC==64)
{ 
  mp3_play (64);
  delay (9000);
}
else if(CC==65)
{ 
  mp3_play (65);
  delay (9000);
}
else if(CC==66)
{ 
  mp3_play (66);
  delay (9000);
}
}
///////////////////////////////////////////////
void nitan()
{
AA=(mathRandomInt(71, 78));
if(AA==71)
{ 
  mp3_play (71);
  delay (80000);
}
else if(AA==72)
 { 
  mp3_play (72);
  delay (80000);
}
else if(AA==73)
{ 
  mp3_play (73);
  delay (80000);
}
else if(AA==74)
{ 
  mp3_play (75);
  delay (80000);
}
else if(AA==76)
{ 
  mp3_play (76);
  delay (80000);
}
else if(AA==77)
{ 
  mp3_play (77);
  delay (80000);
}
else if(AA==78)
{ 
  mp3_play (78);
  delay (80000);
}
}
void Print()
{
  DateTime now = RTC.now();
//    lcd.setCursor(0, 0);
//    lcd.print("FRIDAY V0.1");
//    lcd.setCursor(0, 1);
//    lcd.print(now.hour(), DEC);
//    lcd.print(':');
//    lcd.print(now.minute(), DEC);
//    lcd.print(':');
//    lcd.print(now.second(), DEC);
//    delay(100);
//    lcd.clear();
   Serial.print(sensorValue0); 
   Serial.print("--"); 
    Serial.print(now.hour(), DEC);
    Serial.print(':');
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    Serial.print(now.second(), DEC);
    Serial.println();  
}