با سلام
کد پروژه ای را از سایتی برداشتم می خواهم روی آردینو آپلود کنم
آدرس سایت مربوطه
نوع آردینو گفته شده در سایت mega2560 r3 هست و من هم از این نوع استفاده کردم
اما هنگام آپلود ارور می دهد و علت آن را نمی دانم برای همین اینجا مطرح کردم که راهنمایی بفرمایید
عکس از مشکل به همراه سورس کد پروژه قرار دادم.
کد پروژه ای را از سایتی برداشتم می خواهم روی آردینو آپلود کنم
آدرس سایت مربوطه
نوع آردینو گفته شده در سایت mega2560 r3 هست و من هم از این نوع استفاده کردم
اما هنگام آپلود ارور می دهد و علت آن را نمی دانم برای همین اینجا مطرح کردم که راهنمایی بفرمایید
عکس از مشکل به همراه سورس کد پروژه قرار دادم.
//Program to
#include <Wire.h>
#include<EEPROM.h>
#include <RTClib.h>
#include <LiquidCrystal.h>
#include <SoftwareSerial.h>
LiquidCrystal lcd(13, 12, 6, 5, 4, 3);// Pins used for RS,E,D4,D5,D6,D7
RTC_DS1307 RTC;
int pos=50,noEntry=1,addr=1,addrA=1,af=0,bf=0,addrFT1,addrFT2,addrFT3,addrFT4;
int i=0,fondB=0,fondL=0,fondD=0,j=0,k=1,l=5,addrAM=50,addrPM=60;
int breakF=9,lunchT=2,dinnerT=9,trigSMS=0,loc=0;
int Abrkfast[10],Alunch[10],Adinner[10];
int curntSec,curntHour,curntMinute,prevTime;
int am=0,pm=0,currntTZ=0,addrs=0;
int lastMinute,count=0,num1,num2,TWHOUR=0,HOUR=0,MINUT=0,SECOND=0;//Variable to store phone number and current time
char daysOfTheWeek[7][12] = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"};
char* doctor[]= {"Doc-A", "Doc-B", "Doc-C", "Doc-D", "Doc-E", "Doc-E", "Doc-F", "Doc-G"};
char* mediType[]={"TAB", "CAP", "SYR"};
char* dailydos[]={".5","1","2","3"};
char* dosTime[]={"BFS","LUN","DIN"};
char* afbf[]={"A/F","B/F"};
int b1 = 22; // LED define 1 at pin22
int b2 = 24; // LED define 2 at pin24
int b3 = 26; // LED define 3 at pin28
int b4 = 28; // LED define 4 at pin30
int b5 = 30; // LED define 5 at pin32
int b6 = 32; // LED define 6 at pin34
byte Aalpha[8] ={ 0b00000,
0b01110,
0b10001,
0b11111,
0b10001,
0b10001,
0b00000,
0b00000
};
byte Balpha[8]={ 0b00000,
0b11100,
0b10010,
0b11100,
0b10010,
0b11100,
0b00000,
0b00000};
byte Calpha[8]={ 0b00000,
0b01110,
0b10000,
0b10000,
0b10000,
0b01110,
0b00000,
0b00000};
byte Dalpha[8] ={ 0b00000,
0b11100,
0b10010,
0b10010,
0b10010,
0b11100,
0b00000,
0b00000};
byte Ealpha[8] ={0b00000,
0b11110,
0b10000,
0b11100,
0b10000,
0b11110,
0b00000,
0b00000};
byte Falpha[8] ={0b00000,
0b11110,
0b10000,
0b11100,
0b10000,
0b10000,
0b00000,
0b00000};
byte Galpha[8]={0b00000,
0b01110,
0b10000,
0b10110,
0b10010,
0b01110,
0b00000,
0b00000};
byte Halpha[8] ={ 0b00000,
0b10001,
0b10001,
0b11111,
0b10001,
0b10001,
0b00000,
0b00000};
byte Ialpha[8]={0b00000,
0b01110,
0b00100,
0b00100,
0b00100,
0b01110,
0b00000,
0b00000};
byte Lalpha[8]={ 0b00000,
0b10000,
0b10000,
0b10000,
0b10000,
0b11110,
0b00000,
0b00000};
byte Malpha[8] ={ 0b00000,
0b10001,
0b11011,
0b10101,
0b10001,
0b10001,
0b00000,
0b00000};
byte Nalpha[8] ={0b00000,
0b10001,
0b11001,
0b10101,
0b10011,
0b10001,
0b00000,
0b00000};
byte Oalpha[8]={ 0b00000,
0b01110,
0b10001,
0b10001,
0b10001,
0b01110,
0b00000,
0b00000};
byte Palpha[8]={ 0b00000,
0b11100,
0b10010,
0b11100,
0b10000,
0b10000,
0b00000,
0b00000};
byte Ralpha[8]={ 0b00000,
0b11110,
0b10001,
0b11110,
0b10100,
0b10010,
0b00000,
0b00000};
byte Salpha[8] ={ 0b00000,
0b01110,
0b10000,
0b01110,
0b00001,
0b01110,
0b00000,
0b00000};
byte Talpha[8] ={0b00000,
0b11111,
0b00100,
0b00100,
0b00100,
0b00100,
0b00000,
0b00000};
byte Ualpha[8]={ 0b00000,
0b10001,
0b10001,
0b10001,
0b10001,
0b01110,
0b00000,
0b00000};
byte Walpha[8] ={ 0b00000,
0b10001,
0b10001,
0b10101,
0b11011,
0b10001,
0b00000,
0b00000};
byte Yalpha[8]={ 0b00000,
0b10001,
0b10001,
0b01010,
0b00100,
0b00100,
0b00000,
0b00000};
void setup() {
Serial1.begin(9600); // Setting the baud rate of GSM Module
Serial.begin(9600); // Setting the baud rate of Serial Monitor (Arduino)
Serial.println( "AT+CMGF=1" ); delay(200);
pinMode(b1, OUTPUT);
pinMode(b2, OUTPUT);
pinMode(b3, OUTPUT);
pinMode(b4, OUTPUT);
pinMode(b5, OUTPUT);
pinMode(b6, OUTPUT);
Wire.begin();
RTC.begin();
lcd.begin(16,2);
lcd.setCursor(0,0);
lcd.print("Engineers Garage");
lcd.setCursor(0,1);
lcd.print(" MEDI Reminder ");
delay(3000);lcd.clear();delay(200);
lcd.setCursor(0,0);
lcd.print(" ENTER ALL INFO ");
lcd.setCursor(0,1);
lcd.print(" YES* NO# ");
if(!RTC.isrunning())
{
RTC.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
}
void loop() {
if(digitalRead(A0)==LOW && pos==50){ //This is for YES jump to the start while(pos==0)
pos=1;
lcd.clear();
delay(200);
lcd.setCursor(0,0);
lcd.print("Wait...");
for(i=0;i<200;i++){
EEPROM.write(i, 255);
delay(100);
lcd.setCursor(6,1);
lcd.print(i);
}
}
if(digitalRead(A3)==LOW && pos==50){//This id for NO jump to the end while(pos==50)
pos=30;
lcd.clear();
}
while(pos==1){
lcd.setCursor(0,0);
lcd.print("Set Medicine Typ");
if(digitalRead(A0)==LOW && pos==1){
if(k<4){
k++;
lcd.setCursor(6,1);
lcd.print(" ");
delay(400);
}}
if(k==3){
k=0;}
lcd.setCursor(6,1);
lcd.print(mediType[k]);
if(digitalRead(A1)==LOW && pos==1){
EEPROM.write(addrA,k);
delay(500);
addrA++;
lcd.setCursor(15,1);
lcd.print("*");
pos=2;
k=0;
delay(2000);
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(6,1);
lcd.print(" ");
break;
} }//End of pos=1
while(pos==2){
lcd.setCursor(0,0);
lcd.print(" Set Dosage ");
if(digitalRead(A0)==LOW && pos==2){
if(k<4){
k++;
lcd.setCursor(6,1);
lcd.print(" ");
delay(400);
}}
if(k==3){
k=0;}
lcd.setCursor(6,1);
lcd.print(dailydos[k]);
if(digitalRead(A1)==LOW && pos==2){
EEPROM.write(addrA,k);
delay(500);
addrA++;
lcd.setCursor(15,1);
lcd.print("*");
pos=3;
k=0;
delay(2000);
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(6,1);
lcd.print(" ");
break;
} }//End of pos=2
while(pos==3){
lcd.setCursor(0,0);
lcd.print(" Set A/F or B/F ");
if(digitalRead(A0)==LOW && pos==3){
if(k<3){
k++;
lcd.setCursor(6,1);
lcd.print(" ");
delay(400);
}}
if(k==2){
k=0;}
lcd.setCursor(6,1);
lcd.print(afbf[k]);
if(digitalRead(A1)==LOW && pos==3){
EEPROM.write(addrA,k);
delay(500);
addrA++;
lcd.setCursor(15,1);
lcd.print("*");
pos=4;
k=0;
delay(2000);
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(6,1);
lcd.print(" ");
break;
}}//End of pos=3
while(pos==4){
lcd.setCursor(0,0);
lcd.print(" Set Doctor ");
if(digitalRead(A0)==LOW && pos==4){
if(k<5){
k++;
lcd.setCursor(6,1);
lcd.print(" ");
delay(400);
}}
if(k==4){
k=0;}
lcd.setCursor(6,1);
lcd.print(doctor[k]);
if(digitalRead(A1)==LOW && pos==4){
EEPROM.write(addrA,k);
delay(500);
addrA++;
lcd.setCursor(15,1);
lcd.print("*");
pos=5;
k=0;
delay(2000);
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(6,1);
lcd.print(" ");
break;
}}//End of pos=5
while(pos==5){
lcd.setCursor(0,0);
lcd.print(" Set Dose Time ");
if(digitalRead(A0)==LOW && pos==5){
if(k<4){
k++;
lcd.setCursor(6,1);
lcd.print(" ");
delay(400);
}}
if(k==3){
k=0;}
lcd.setCursor(6,1);
lcd.print(dosTime[k]);
if(digitalRead(A1)==LOW && pos==5){
lcd.setCursor(15,1);
lcd.print("*");
EEPROM.write(addrA,k);
delay(500);
addrA++;
lcd.setCursor(15,1);
lcd.print("*");
delay(2000);
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(9,1);
lcd.print(" ");
}
if(digitalRead(A2)==LOW && pos==5){
i=i;
pos=1;
k=0;
noEntry++;
delay(2000);
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(9,1);
lcd.print(" ");
EEPROM.write(100,noEntry);
break;
}
if(digitalRead(A3)==LOW && pos==5){
lcd.clear();
pos=30;
delay(2000);
break;
}
}//End of pos=4
while(pos==30){
lcd.clear();
while(1){
lcd.setCursor(0,0);
lcd.print("Have A Nice");
lcd.setCursor(0,1);
lcd.print("Day:)");
DateTime now =RTC.now();
curntHour=now.hour();
curntHour=((curntHour > 12) ? curntHour - 12 : ((curntHour == 0) ? 12 : curntHour));
curntMinute=now.minute();
curntSec=now.second();
currentTIME();
matchTIM();
Serial.println(currntTZ);
Serial.println(curntHour);
Serial.println(curntMinute);
ALLDays(now.dayOfTheWeek());
}
}
}
/*
char* doctor[]= {"Doc-A", "Doc-B", "Doc-C", "Doc-D", "Doc-E", "Doc-F", "Doc-G", "Doc-H", "Doc-I"};
char* mediType[]={"Tablet", "Capsule", "Syrup"};
char* dailydos[]={"Half","One","Two","Three"};
char* dosTime[]={"BRKFAST","LUNCH","DINNER"};
char* afbf[]={"A/F","B/F"};
// breakF=8,lunchT=12,dinnerT=9;*/
void matchTIM(){
Serial.println("Match");
DateTime now =RTC.now();
curntHour=now.hour();
curntHour=((curntHour > 12) ? curntHour - 12 : ((curntHour == 0) ? 12 : curntHour));
curntMinute=now.minute();
curntSec=now.second();
/* Break Fast Setting*/
if(curntHour==breakF && curntMinute==0 && curntSec<=2 && currntTZ==2){
trigSMS=0;
pos=10;
addrFT1=EEPROM.read(100);
lcd.clear();
while(pos==10){
for(i=0;i<addrFT1+1;){
num1=EEPROM.read(l);
if(num1==0){
Abrkfast[i]=l;
EEPROM.write(100+k, i);
fondB++;
k++;
}
l=l+5;
i++;
Serial.println(i);
delay(500);
if(i==addrFT1){
pos=11;
break;
}
}
}
if(fondB==0){
k=1;
l=5;
pos=11;
Serial.print("Not Found");
delay(50);
}
if(fondB>=1 && pos==11){
DateTime now =RTC.now();
prevTime=now.minute();
while(pos==11){
Serial.println("Found");
pos=12;
while(pos=12){
DateTime now =RTC.now();
curntHour=now.hour();
curntMinute=now.minute();
//curntSec=now.second();
if(curntMinute== prevTime + 2){
medicineAlertSMS();
k=1;
l=5;
pos=30;
delay(500);
break;
}
if(digitalRead(A0)==LOW && pos==12){
k=1;
l=5;
pos=30;
delay(500);
break;
}
for(j=1;j<fondB+1; j++){
currentTIME();
ALLDays(now.dayOfTheWeek());
num2=EEPROM.read(100+j);
Serial.print(100+j);
Serial.print(num2);
Serial.print(Abrkfast[num2]);
Serial.println(EEPROM.read(Abrkfast[num2]-2));
delay(100);
if(EEPROM.read(Abrkfast[num2]-2)==0){
digitalWrite(b1,LOW);
}
if(EEPROM.read(Abrkfast[num2]-2)==1){
digitalWrite(b2,HIGH);
}
lcd.setCursor(0,0);
lcd.print(mediType[EEPROM.read(Abrkfast[num2]-4)]);
lcd.setCursor(4,0);
lcd.print(dailydos[EEPROM.read(Abrkfast[num2]-3)]);
lcd.setCursor(6,0);
lcd.print(afbf[EEPROM.read(Abrkfast[num2]-2)]);
lcd.setCursor(10,0);
lcd.print(dosTime[EEPROM.read(Abrkfast[num2])]);
lcd.setCursor(0,1);
lcd.print(doctor[EEPROM.read(Abrkfast[num2]-1)]);
delay(1000);
digitalWrite(b1,LOW);
digitalWrite(b2,LOW);
lcd.clear();
}
if(j==fondB+1 && pos==12){
j=1;
pos=13;
delay(50);
break;
}
}
while(pos==13){
if(digitalRead(A4)==LOW && trigSMS==0){
Serial.println("Sending SMS");
Serial1.println("AT+CMGF=1"); //Sets the GSM Module in Text Mode
delay(100); // Delay of 100 milli seconds delay
Serial1.println("AT+CMGS="+918973760860"r");
delay(100);
Serial1.print("Alert !!! It's Time To Take Medicine");// The SMS text you want to send
delay(100);
Serial1.print("n");// The SMS text you want to send
delay(100);
for(j=1;j<fondB+1; j++){
num2=EEPROM.read(100+j);
Serial1.print(mediType[EEPROM.read(Abrkfast[num2]-4)]);
Serial1.print("- ");
delay(100);
Serial1.print(dailydos[EEPROM.read(Abrkfast[num2]-3)]);
Serial1.print(" ");
delay(100);
Serial1.print(afbf[EEPROM.read(Abrkfast[num2]-2)]);
Serial1.print(" ");
delay(100);
Serial1.print(dosTime[EEPROM.read(Abrkfast[num2])]);
Serial1.print(" Doctor: ");
delay(100);
Serial1.print(doctor[EEPROM.read(Abrkfast[num2]-1)]);
Serial1.print("n");
delay(100);
}
if(j==fondB+1 && trigSMS==0){
Serial1.println(" ");
delay(100);
Serial1.println((char)26);// ASCII code of CTRL+Z
delay(100);
Serial.println("SMS Sent");
j=1;
pos=11;
trigSMS=1;
delay(50);
break;
}
}
else{
j=1;
pos=11;
trigSMS=1;
delay(50);
break;
}
}
}
}
}
/*LUNCH breakF=8,lunchT=12,dinnerT=9;*/
if(curntHour==lunchT && curntMinute==14 && curntSec<=2 && currntTZ==2){
trigSMS=0;
pos=10;
addrFT1=EEPROM.read(100);
lcd.clear();
while(pos==10){
for(i=0;i<addrFT1+1;){
num1=EEPROM.read(l);
if(num1==1){
Abrkfast[i]=l;
EEPROM.write(100+k, i);
fondL++;
k++;
}
l=l+5;
i++;
Serial.println(i);
delay(500);
if(i==addrFT1){
pos=11;
break;
}
}
}
if(fondL==0){
k=1;
l=5;
pos=11;
Serial.print("Not Found");
delay(50);
}
if(fondL>=1 && pos==11){
DateTime now =RTC.now();
prevTime=now.minute();
while(pos==11){
Serial.println("Found");
pos=12;
while(pos=12){
DateTime now =RTC.now();
curntHour=now.hour();
curntMinute=now.minute();
//curntSec=now.second();
if(curntMinute== prevTime + 2){
medicineAlertSMS();
k=1;
l=5;
pos=30;
delay(500);
break;
}
if(digitalRead(A0)==LOW && pos==12){
l=5;
k=1;
pos=30;
delay(500);
break;
}
for(j=1;j<fondL+1; j++){
currentTIME();
ALLDays(now.dayOfTheWeek());
num2=EEPROM.read(100+j);
Serial.print(100+j);
Serial.print(num2);
Serial.print(Abrkfast[num2]);
Serial.println(EEPROM.read(Abrkfast[num2]-2));
delay(100);
if(EEPROM.read(Abrkfast[num2]-2)==0){
digitalWrite(b3,HIGH);
}
if(EEPROM.read(Abrkfast[num2]-2)==1){
digitalWrite(b4,HIGH);
}
lcd.setCursor(0,0);
lcd.print(mediType[EEPROM.read(Abrkfast[num2]-4)]);
lcd.setCursor(4,0);
lcd.print(dailydos[EEPROM.read(Abrkfast[num2]-3)]);
lcd.setCursor(6,0);
lcd.print(afbf[EEPROM.read(Abrkfast[num2]-2)]);
lcd.setCursor(10,0);
lcd.print(dosTime[EEPROM.read(Abrkfast[num2])]);
lcd.setCursor(0,1);
lcd.print(doctor[EEPROM.read(Abrkfast[num2]-1)]);
delay(1000);
digitalWrite(b3,LOW);
digitalWrite(b4,LOW);
lcd.clear();
}
if(j==fondL+1 && pos==12){
j=1;
pos=13;
delay(50);
break;
}
}
while(pos==13){
if(digitalRead(A4)==LOW && trigSMS==0){
Serial.println("Sending SMS");
Serial1.println("AT+CMGF=1"); //Sets the GSM Module in Text Mode
delay(100); // Delay of 100 milli seconds delay
Serial1.println("AT+CMGS="+918973760860"r");//9001931333my 7357187588
delay(100);
Serial1.print("Alert !!! It's Time To Take Medicine");// The SMS text you want to send
delay(100);
Serial1.print("n");// The SMS text you want to send
delay(100);
for(j=1;j<fondL+1; j++){
num2=EEPROM.read(100+j);
Serial1.print(mediType[EEPROM.read(Abrkfast[num2]-4)]);
Serial1.print("- ");
delay(100);
Serial1.print(dailydos[EEPROM.read(Abrkfast[num2]-3)]);
Serial1.print(" ");
delay(100);
Serial1.print(afbf[EEPROM.read(Abrkfast[num2]-2)]);
Serial1.print(" ");
delay(100);
Serial1.print(dosTime[EEPROM.read(Abrkfast[num2])]);
Serial1.print(" Doctor: ");
delay(100);
Serial1.print(doctor[EEPROM.read(Abrkfast[num2]-1)]);
Serial1.print("n");
delay(100);
}
if(j==fondL+1 && trigSMS==0){
Serial1.println(" ");
delay(100);
Serial1.println((char)26);// ASCII code of CTRL+Z
delay(100);
Serial.println("SMS Sent");
j=1;
pos=11;
trigSMS=1;
delay(50);
break;
}
}
else{
j=1;
pos=11;
trigSMS=1;
delay(50);
break;
}
}
}
}
}
/*DINNER breakF=8,lunchT=12,dinnerT=9;*/
if(curntHour==dinnerT && curntMinute==0 && curntSec<=2 && currntTZ==2){
trigSMS=0;
pos=10;
addrFT1=EEPROM.read(100);
lcd.clear();
while(pos==10){
for(i=0;i<addrFT1+1;){
num1=EEPROM.read(l);
if(num1==2){
Abrkfast[i]=l;
EEPROM.write(100+k, i);
fondD++;
k++;
}
l=l+5;
i++;
Serial.println(i);
delay(500);
if(i==addrFT1){
pos=11;
break;
}
}
}
if(fondD==0){
k=1;
l=5;
pos=11;
Serial.print("Not Found");
delay(50);
}
if(fondD>=1 && pos==11){
DateTime now =RTC.now();
prevTime=now.minute();
while(pos==11){
Serial.println("Found");
pos=12;
while(pos=12){
DateTime now =RTC.now();
curntHour=now.hour();
curntMinute=now.minute();
//curntSec=now.second();
if(curntMinute== prevTime + 2){
medicineAlertSMS();
l=5;
k=1;
pos=30;
delay(500);
break;
}
if(digitalRead(A0)==LOW && pos==12){
l=5;
k=1;
pos=30;
delay(500);
break;
}
for(j=1;j<fondD+1; j++){
currentTIME();
ALLDays(now.dayOfTheWeek());
num2=EEPROM.read(100+j);
Serial.print(100+j);
Serial.print(num2);
Serial.print(Abrkfast[num2]);
Serial.println(EEPROM.read(Abrkfast[num2]-2));
delay(100);
if(EEPROM.read(Abrkfast[num2]-2)==0){
digitalWrite(b5,HIGH);
}
if(EEPROM.read(Abrkfast[num2]-2)==1){
digitalWrite(b6,HIGH);
}
lcd.setCursor(0,0);
lcd.print(mediType[EEPROM.read(Abrkfast[num2]-4)]);
lcd.setCursor(4,0);
lcd.print(dailydos[EEPROM.read(Abrkfast[num2]-3)]);
lcd.setCursor(6,0);
lcd.print(afbf[EEPROM.read(Abrkfast[num2]-2)]);
lcd.setCursor(10,0);
lcd.print(dosTime[EEPROM.read(Abrkfast[num2])]);
lcd.setCursor(0,1);
lcd.print(doctor[EEPROM.read(Abrkfast[num2]-1)]);
delay(1000);
digitalWrite(b5,LOW);
digitalWrite(b6,LOW);
lcd.clear();
}
if(j==fondD+1 && pos==12){
j=1;
pos=13;
delay(50);
break;
}
}
while(pos==13){
if(digitalRead(A4)==LOW && trigSMS==0){
Serial.println("Sending SMS");
Serial1.println("AT+CMGF=1"); //Sets the GSM Module in Text Mode
delay(100); // Delay of 100 milli seconds delay
Serial1.println("AT+CMGS="+918973760860"r");
delay(100);
Serial1.print("Alert !!! It's Time To Take Medicine");// The SMS text you want to send
delay(100);
Serial1.print("n");// The SMS text you want to send
delay(100);
for(j=1;j<fondD+1; j++){
num2=EEPROM.read(100+j);
Serial1.print(mediType[EEPROM.read(Abrkfast[num2]-4)]);
Serial1.print("- ");
delay(100);
Serial1.print(dailydos[EEPROM.read(Abrkfast[num2]-3)]);
Serial1.print(" ");
delay(100);
Serial1.print(afbf[EEPROM.read(Abrkfast[num2]-2)]);
Serial1.print(" ");
delay(100);
Serial1.print(dosTime[EEPROM.read(Abrkfast[num2])]);
Serial1.print(" Doctor: ");
delay(100);
Serial1.print(doctor[EEPROM.read(Abrkfast[num2]-1)]);
Serial1.print("n");
delay(100);
}
if(j==fondD+1 && trigSMS==0){
Serial1.println(" ");
delay(100);
Serial1.println((char)26);// ASCII code of CTRL+Z
delay(100);
Serial.println("SMS Sent");
j=1;
pos=11;
trigSMS=1;
delay(50);
break;
}
}
else{
j=1;
pos=11;
trigSMS=1;
delay(50);
break;
}
}
}
}
}
}
//this void function is really useful; it adds a "0" to the beginning of the number,
so that 5 minutes is displayed as "00:05:00", rather than "00:5 :00"
void printDigits2(int digits){
if(digits < 10)
{
lcd.print("0");
lcd.print(digits);
}
else
{
lcd.print(digits);
}
}
void ALLDays(int dey){
switch(dey)
{
case 0://sun
lcd.createChar(5,Salpha);
lcd.createChar(6,Ualpha);
lcd.createChar(7,Nalpha);
lcd.setCursor(13,0);
lcd.write(5);
lcd.setCursor(14,0);
lcd.write(6);
lcd.setCursor(15,0);
lcd.write(7);break;
case 1://mon
lcd.createChar(5,Malpha);
lcd.createChar(6,Oalpha);
lcd.createChar(7,Nalpha);
lcd.setCursor(13,0);
lcd.write(5);
lcd.setCursor(14,0);
lcd.write(6);
lcd.setCursor(15,0);
lcd.write(7);break;
case 2://tue
lcd.createChar(5,Talpha);
lcd.createChar(6,Ualpha);
lcd.createChar(7,Ealpha);
lcd.setCursor(13,0);
lcd.write(5);
lcd.setCursor(14,0);
lcd.write(6);
lcd.setCursor(15,0);
lcd.write(7);break;
case 3://wed
lcd.createChar(5,Walpha);
lcd.createChar(6,Ealpha);
lcd.createChar(7,Dalpha);
lcd.setCursor(13,0);
lcd.write(5);
lcd.setCursor(14,0);
lcd.write(6);
lcd.setCursor(15,0);
lcd.write(7);break;
case 4://thu
lcd.createChar(5,Talpha);
lcd.createChar(6,Halpha);
lcd.createChar(7,Ualpha);
lcd.setCursor(13,0);
lcd.write(5);
lcd.setCursor(14,0);
lcd.write(6);
lcd.setCursor(15,0);
lcd.write(7);break;
case 5://fri
lcd.createChar(5,Falpha);
lcd.createChar(6,Ralpha);
lcd.createChar(7,Ialpha);
lcd.setCursor(13,0);
lcd.write(5);
lcd.setCursor(14,0);
lcd.write(6);
lcd.setCursor(15,0);
lcd.write(7);break;
case 6://sat
lcd.createChar(5,Salpha);
lcd.createChar(6,Aalpha);
lcd.createChar(7,Talpha);
lcd.setCursor(13,0);
lcd.write(5);
lcd.setCursor(14,0);
lcd.write(6);
lcd.setCursor(15,0);
lcd.write(7);break;
case 7://sun
lcd.createChar(5,Salpha);
lcd.createChar(6,Ualpha);
lcd.createChar(7,Nalpha);
lcd.setCursor(13,0);
lcd.write(5);
lcd.setCursor(14,0);
lcd.write(6);
lcd.setCursor(15,0);
lcd.write(7);break;
default:break;
}
}
void currentTIME(){
DateTime now = RTC.now();
lcd.setCursor(6,1);
HOUR=now.hour();
printDigits2((HOUR > 12) ? HOUR - 12 : ((HOUR == 0) ? 12 : HOUR));
lcd.print(":");
printDigits2(MINUT=now.minute());
lcd.print(":");
printDigits2(SECOND=now.second());
lcd.setCursor(14,1);
if(HOUR < 12){ // Adding the AM/PM sufffix
//lcd.setCursor(14,0);
lcd.write("AM");
currntTZ=1;
}
else{
// lcd.setCursor(14,0);
lcd.write("PM");
currntTZ=2;
}
delay(800);
currentDAY();
delay(800);
}
void currentDAY(){
DateTime now = RTC.now();
lcd.setCursor(6,1);
lcd.print(now.day(),DEC);
lcd.print("/");
lcd.print(now.month(),DEC);
lcd.print("/");
lcd.print(now.year(),DEC);
lcd.setCursor(6,1);
printDigits2(now.day());
lcd.print("/");
printDigits2(now.month());
lcd.print("/");
lcd.print(now.year(),DEC);
}
void medicineAlertSMS(){
Serial.println("Sending SMS");
Serial1.println("AT+CMGF=1"); //Sets the GSM Module in Text Mode
delay(100); // Delay of 100 milli seconds delay
Serial1.println("AT+CMGS="+918973760860"r");
delay(100);
Serial1.print("Alert !!! You forgot to take medicine");// The SMS text you want to send
delay(100);
Serial1.print("n");// The SMS text you want to send
delay(100);
Serial1.print("Please Take Medicine On Time");// The SMS text you want to send
delay(100);
delay(100);
Serial1.println((char)26);// ASCII code of CTRL+Z
delay(1000);
}
دیدگاه