Hi. I want to ask help and guidance since I'm a newbie in programming. Can somebody explain what are the function and how its work of programming below (put a comment to each side of programming line). The project is about water monitoring system using pH, Ds1820 and xbee.I dont understand any of it especially the bolded .Thank you for advance.
1.receiver part.
#include <EEPROM.h>
#include <LiquidCrystal.h>
#define cal 1
LiquidCrystal lcd(32,30,28,26,24,22); //RS, EN, D4, D5, D6, D7.no of pin(arduino uno @ mega)
int i,set=0;
char valve=0,data1[30],data2[20],temp,y=0,z=0,sen=0,phone[15];
int counter,number;
float ph=0,temperature=0,ph_low,ph_high;
void setup()
{
Serial.begin(9600);//xbee
Serial1.begin(9600);// pc
Serial2.begin(19200);//gprs shield
lcd.begin(16,2);
/*
EEPROM.write(cal+0,'0');
** EEPROM.write(cal+1,'4');**
** EEPROM.write(cal+2,'5');**
** EEPROM.write(cal+3,'0');**
** EEPROM.write(cal+4,'0');**
** EEPROM.write(cal+5,'9');**
** EEPROM.write(cal+6,'5');**
** EEPROM.write(cal+7,'0');**
** EEPROM.write(cal+8,'0');**
** EEPROM.write(cal+9,'1');**
** EEPROM.write(cal+10,'3');**
** EEPROM.write(cal+11,'6');**
** EEPROM.write(cal+12,'2');**
** EEPROM.write(cal+13,'8');**
** EEPROM.write(cal+14,'9');**
** EEPROM.write(cal+15,'8');**
** EEPROM.write(cal+16,'4');**
** EEPROM.write(cal+17,'4');**
** EEPROM.write(cal+18,0);**
/
ph_low=(EEPROM.read(cal+1)-'0')+0.1(EEPROM.read(cal+2)-'0')+0.01*(EEPROM.read(cal+3)-'0');
ph_high=10*(EEPROM.read(cal+4)-'0')+(EEPROM.read(cal+5)-'0')+0.1*(EEPROM.read(cal+6)-'0')+0.01*(EEPROM.read(cal+7)-'0');
** i=0;**
** temp=EEPROM.read(cal+8+i);**
** while(temp!=0)**
** {**
__ phone*=EEPROM.read(cal+8+i);__
__ i++;__
__ temp=EEPROM.read(cal+8+i);__
__ }__
_ phone=0;
}[/b]
void loop()
{*
if(counter<10) counter++;
** else**
** {
counter=0;
Serial1.print(valve,DEC);
}**_
** if(Serial.available())**
** {**
__ for(i=0;i<30;i++) data1*=0;
while(Serial.available())
{
delay(10);
temp=Serial.read();
if(temp=='A') y=0;
else y++;
data1[y]=temp;
}
i=2;__
_ while(data1!=0) EEPROM.write(cal+i-2,data1[i++]);
EEPROM.write(cal+i-2,data1[i++]);*_
* if(y>=8)*
* {*
ph_low=10*(EEPROM.read(cal+0)-'0')+(EEPROM.read(cal+1)-'0')+0.1*(EEPROM.read(cal+2)-'0')+0.01*(EEPROM.read(cal+3)-'0');
ph_high=10*(EEPROM.read(cal+4)-'0')+(EEPROM.read(cal+5)-'0')+0.1*(EEPROM.read(cal+6)-'0')+0.01*(EEPROM.read(cal+7)-'0');
* i=0;*
* temp=EEPROM.read(cal+8+i);*
* while(temp!=0)*
* {*
_ phone*=EEPROM.read(cal+8+i);
i++;
temp=EEPROM.read(cal+8+i);
}
phone=0;
} *_
* if(data1[1]=='0')*
* {*
* Serial.print("s");*
* if(ph_low<10) Serial.print("0");
Serial.print(ph_low);
if(ph_high<10) Serial.print("0");
Serial.print(ph_high);
_ i=0;
while(phone!=0) Serial.write((char)phone[i++]);
Serial.println();
}*_
* if(data1[1]=='1')*
* {*
* Serial.print("S");*
* if(ph<10) Serial.print("0");*
* Serial.print(ph); *
* if(temperature<10) Serial.print("0");*
* Serial.println(temperature); *
* }*
* if(data1[1]=='2')*
* {*
* Serial2.print("AT+CMGF=1\r"); //Set text mode*
* delay(100);*
* Serial2.print("AT+CMGS="+6"); //Send message*
* i=0;*
_ while(phone*!=0) Serial2.write((byte)phone[i++]);
Serial2.print(""\r");
delay(100);
Serial2.print("ALERT!!! pH value is "); //Text message*
* Serial2.print(ph);
Serial2.print("\r");
Serial2.print("Temperature is ");
Serial2.print(temperature);
Serial2.print(" deg C");
Serial2.write((char)0x1A); //Ctrl+Z
}
}*_
* if(Serial1.available())*
* {*
* if(set<10) set++;*
* while(Serial1.available())*
* {*
* temp=Serial1.read();*
* if(temp=='A') z=0;*
* else z++;*
* data2[z]=temp;*
* }*
_ ph=10*(data2[1]-'0')+(data2[2]-'0')+0.1*(data2[4]-'0')+0.01*(data2[5]-'0');
temperature=10*(data2[7]-'0')+(data2[8]-'0')+0.1*(data2[10]-'0')+0.01*(data2[11]-'0');
* }
[/b]
if(Serial2.available())
{
while(Serial2.available())
{
Serial.write(Serial2.read());
}
}
lcd.setCursor(0,0);
lcd.print(" pH=");
if(ph<10) lcd.print("0");
lcd.print(ph);
lcd.print(" ");*_
* lcd.setCursor(0,1);*
* lcd.print(" Temp=");*
* if(temperature<10) lcd.print("0");*
* lcd.print(temperature);*
* lcd.write(0xDF);*
* lcd.print("C ");*
* if(ph<ph_low)
_ {_
valve=1; //if ph less than ph_low, RELAY1 ON*
* sen=(sen<<1)|1;*
* }*
* else if(ph>ph_high)
_ {_
valve=2; //if ph higher than ph_high, RELAY2 ON*
* sen=(sen<<1)|1;*
* }*
* else*
* {*
* valve=0;*
* sen=sen<<1;*
* }*
* sen=sen&0x03;*
* if((sen==0x01)&&(set==10))*
* {*
* set=0;*
* lcd.setCursor(0,0);*
* lcd.print(" SENDING TO ");*
* lcd.setCursor(0,1);*
* lcd.print(" ");*
* i=0;*
_ while(phone*!=0) lcd.print(phone[i++]);
while(i<14)
{
lcd.print(" ");
i++;
}*_
* Serial2.print("AT+CMGF=1\r"); //Set text mode*
* delay(100);*
* Serial2.print("AT+CMGS="+6"); //Send message*
* i=0;*
_ while(phone*!=0) Serial2.write((byte)phone[i++]);
Serial2.print(""\r");
delay(100);
Serial2.print("ALERT!!! pH value is "); //Text message*
* Serial2.print(ph);
Serial2.print("\r");
Serial2.print("Temperature is ");
Serial2.print(temperature);
Serial2.print(" deg C");
Serial2.write((char)0x1A); //Ctrl+Z
delay(1000);
}
delay(10);
}*_