اطلاعیه

Collapse
No announcement yet.

رفع ارور هنگام آپلود برنامه آردینو

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    رفع ارور هنگام آپلود برنامه آردینو

    با سلام
    کد پروژه ای را از سایتی برداشتم می خواهم روی آردینو آپلود کنم
    آدرس سایت مربوطه
    A lot of people have to take certain medicines regularly. A number of diseases like diabetes, blood pressure or heart problem are nowadays very common and the patients need to take medicines without break to keep such health issues in check. Most of the people are not punctual about taking medicines and often forget one or the other dosage.In this project, a medicine reminder system is designed in which the user can feed the schedule of their medicines and the system alerts them by sending SMS on their mobile if they miss taking a dosage. The user has to feed the type of medicine, its dosage, After or Before Food reminder, doctors name and time of the dosage in the system. The user can feed multiple entries like this.

    نوع آردینو گفته شده در سایت 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);


    }




    #2
    پاسخ : رفع ارور هنگام آپلود برنامه آردینو

    <حذف شده>،،،،،،،،،،،
    جدیدترین ویرایش توسط J35U51510V3; ۲۲:۱۱ ۱۳۹۹/۰۶/۱۴.

    دیدگاه


      #3
      پاسخ : رفع ارور هنگام آپلود برنامه آردینو

      شما ناچارید از خیر ماژول gsm بگذرید.یااینکه ماژول rtcرا حذف کنید.یکبار کتابخانه را از مجموعه برنامه تون کامل حذف کنید تمام توابعی که بااونها gsmرا فراخوانی کرده اید پاک کنید ببیندی ایا درست میشه؟
      eshop-hodhod.ir

      دیدگاه


        #4
        پاسخ : رفع ارور هنگام آپلود برنامه آردینو

        نوشته اصلی توسط Namvar14 نمایش پست ها
        شما ناچارید از خیر ماژول gsm بگذرید.یااینکه ماژول rtcرا حذف کنید.یکبار کتابخانه را از مجموعه برنامه تون کامل حذف کنید تمام توابعی که بااونها gsmرا فراخوانی کرده اید پاک کنید ببیندی ایا درست میشه؟
        همان تکه کد را که کامند می کنم مشکل ارور حل میشود مشکل در این تکه کد و مطمعنم که از syntax هستش .

        دیدگاه


          #5
          پاسخ : رفع ارور هنگام آپلود برنامه آردینو

          دو طرف شماره تلفن که از علامت " استفاده کردید رو به شکل "\ بنویسید. یعنی کل متن میشه :

          Serial1.println("AT+CMGS=\"+918973760860\"r");

          از طرفی اون R انتهایی کامل نوشته نشده. اون هم در اصل کاراکتر ریترنه که باید به شکل r\ باشه اما نیازی نیست کلا نوشته بشه چون تابع println خودش در انتها اینو قرار میده. پس کلا حذف میشه و میشه :

          Serial1.println("AT+CMGS=\"+918973760860\"");


          بقیه جاهای کد، هرجا که نیازه از علامت " استفاده بشه (وسط دو علامت " اصلی مشخص کننده رشته) باید همینطور قرار بدید. فقط " های اول و آخر بی تغییر میمونن.
          Si vis pacem, para bellum

          دیدگاه

          لطفا صبر کنید...
          X