Sie sind auf Seite 1von 7

#define ADC_ref 2.

56
#define zero_x 1.569

#define zero_y 1.569


#define zero_z 1.569
#define sensitivity_x 0.3
#define sensitivity_y 0.3
#define sensitivity_z 0.3
unsigned int value_x;
unsigned int value_y;
unsigned int value_z;
float xv;
float yv;
float zv;
float angle_x;
float angle_y;
float angle_z;
#include<SoftwareSerial.h>
#include <Wire.h>
#include <SPI.h>
#include <SD.h>
#include "RTClib.h"
RTC_DS1307 rtc;
//int bluetoothTx = 9;
//int bluetoothRx = 10;
String data;
//SoftwareSerial bluetooth(bluetoothTx, bluetoothRx);
SoftwareSerial mySerial(7, 8);
File dataFile;
char msg;
char call;
const int chipSelect = 4;
int i=0;
int d;
String dat="";
String phoneno="";
String com="";
String nop="";
String timein="";
String tnop="";
String dat1="";
String phoneno1="";
String com1="";
String nop1="";
String timein1="";
String tnop1="";
int t;

void setup()
{
analogReference( DEFAULT);
Serial.begin(9600);
mySerial.begin(9600);
Serial.begin(9600);
;Serial.println("Initializing SD card...");
if (!SD.begin(chipSelect)) {
Serial.println("Card failed, or not present");
while (1);
}
Serial.println("card initialized.");

if (! rtc.begin())
{
Serial.println("Couldn't find RTC");
while (1);
}

if (! rtc.isrunning())
{
Serial.println("RTC is NOT running!");
}

rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
delay(30000);
while(Serial.available()>0)
{
delay(500);

if(i==0)
{
dat="";
while(Serial.available()>0)
{

delay(500);
char x=Serial.read();
dat=dat+x;
}
Serial.println(dat);
filewrite("phoneno.txt",dat);
Serial.println("phone written sucess");
i++;
delay(20000);
}

else if(i==1)

{
Serial.println("enter compartment number");
char p=Serial.read();
com=p;
Serial.println(com);
filewrite("com.txt",com);
i++;
Serial.println("sucess");
delay(1000);
}

else if(i==2)
{
Serial.println("enter number of pills");
int16_t p=Serial.read();
nop=p;
Serial.println(nop);
filewrite("nop.txt",nop);
i++;
Serial.println("sucess");
delay(1000);
}

else if(i==3)
{
Serial.println("enter time to take in");
int16_t f=Serial.read();
com=f;
Serial.println(timein);
filewrite("timein.txt",timein);
i++;
Serial.println("sucess");
delay(1000);
}

else if(i==4)
{
Serial.println("enter number of doses");
int16_t r=Serial.read();
com=r;
Serial.println(tnop);
filewrite("tnop.txt",tnop);
i++;
Serial.println("sucess");
}
}

//rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));


}

void loop()
{
value_x = analogRead(0);
value_y = analogRead(1);
value_z = analogRead(2);

xv=(value_x/1024.0*ADC_ref-zero_x)/sensitivity_x;

Serial.println ("x= ");


Serial.println (xv);
Serial.println(" g ");

yv=(value_y/1024.0*ADC_ref-zero_y)/sensitivity_y;
Serial.println ("y= ");
Serial.println (yv);
Serial.println(" g ");

zv=(value_z/1024.0*ADC_ref-zero_z)/sensitivity_z;

Serial.println("z= ");
Serial.println(zv);
Serial.println(" g ");

Serial.println("\n");

Serial.println("Rotation ");

Serial.println("x= ");

angle_x =atan2(-yv,-zv)*57.2957795+180;

Serial.println(angle_x);
Serial.println(" deg");
Serial.println(" ");

Serial.println("y= ");

angle_y =atan2(-xv,-zv)*57.2957795+180;

Serial.println(angle_y);
Serial.println(" deg");
Serial.println(" ");

Serial.println("z= ");

angle_z =atan2(-yv,-xv)*57.2957795+180;

Serial.println(angle_z);
Serial.println(" deg");
Serial.println("\n");

delay(1000);
delay(1000);

phoneno1=fileread("phoneno.txt");
com1=fileread("com.txt");
nop1=fileread("nop.txt");
timein1=fileread("timein.txt");
tnop1=fileread("tnop.txt");
/// Serial.printlnln(data);
delay(500);
dat="";

DateTime now = rtc.now();


Serial.println(now.hour());
Serial.println(':');
Serial.println(now.minute());
Serial.println(':');
Serial.println(" ");
t=now.hour();
Serial.println(t);
//Serial.printlnlnln(d);

if(5==5){
SendMessage();
Serial.println("we are done");
delay(30000);
if(com=='1')
{
Serial.println("com entered");

}
}

void SendMessage()
{
mySerial.println("AT+CMGF=1");
delay(1000);
mySerial.println("AT+CMGS=\"+918179252442\"\r");
delay(1000);
mySerial.println("pill time");
delay(100);
mySerial.println((char)26);
delay(1000);
}

void ReceiveMessage()
{
mySerial.println("AT+CNMI=2,2,0,0,0");
delay(1000);
if (mySerial.available()>0)
{
msg=mySerial.read();
Serial.println(msg);
}
}

void MakeCall()
{
mySerial.println("ATD"+data+";");
Serial.println("Calling ");
delay(1000);
}

void HangupCall()
{
mySerial.println("ATH");
Serial.println("Hangup Call");
delay(1000);
}

void ReceiveCall()
{
mySerial.println("ATA");
delay(1000);
{
call=mySerial.read();
Serial.println(call);
}
}

void RedialCall()
{
mySerial.println("ATDL");
Serial.println("Redialing");
delay(1000);
}

String save()
{
dat="";
while(Serial.available()>0)
{

delay(500);
char x=Serial.read();
dat=dat+x;
}
return dat;
}
void filewrite(String nostring,String readata)
{

File dataFile=SD.open(nostring,FILE_WRITE);
if (dataFile){
dataFile.println(readata);
dataFile.close();
Serial.println("done");
}
else{
Serial.println("error");
}
}
int fileread(String nostring1)
{
dataFile = SD.open(nostring1);

// if the file is available, write to it:


if (dataFile) {
while (dataFile.available()) {
Serial.write(dataFile.read());
d=dataFile.parseInt();
return d;
}
dataFile.close();

// if the file isn't open, pop up an error:


else {
Serial.println("error opening datalog.txt");
}
}

Das könnte Ihnen auch gefallen