LELIO  Code v3

 

/*#############################################
               LELIO v3
 This sketch is used for LELIO Experiment V3.
 It reads Analog value every 5 sec. Also indicates LED as a reminder for taking 
 fixed interval reading every 3min. And also receives user interrupt for 
taking on demand reading. Also it sends data to the PC using serial port. 
For keeping timing Timer.h library is used. 

http://pgdeshmukh.webnode.com/projects/lelio/

Created November 2012
By Prasanna Deshmukh, Mayuresh Sarpotdar, Joice Mathew
Modified April 2013
By Prasanna Deshmukh

   This example code is in the public domain.

/*############################################ */


const int buttonPin = 2;     // the number of the pushbutton pin
const int ledPin =  7;  
int buttonState = 0;         // variable for reading the pushbutton status
int ledFlag=0;
int regFlag=0;
long int count=1;
#include "Timer.h"
Timer t;

void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
  pinMode(buttonPin, INPUT);     
  pinMode(ledPin, OUTPUT);
  
  t.every(180000, user_led);
  t.every(5000, regular);
}

// the loop routine runs over and over again forever:
void loop() 
{
  // read the input on analog pin 0:

  t.update();

}



void user_led()
{
ledFlag=1;
digitalWrite(ledPin, HIGH); 
  
}


void regular()
{
    regFlag=1;
    
    buttonState = digitalRead(buttonPin);
    
    
  // check if the pushbutton is pressed.
  // if it is, the buttonState is HIGH:
  if (buttonState == LOW && ledFlag == 0) 
  {  
   
     int sensorValue = analogRead(A0);

      Serial.print(count);
      Serial.print("\t");
      Serial.print("\t");  
      Serial.print("\t"); 
      Serial.print("\t");  
      Serial.print("\t"); 
      Serial.print("{");
      Serial.print("User_Intr");
      Serial.print(",T,");
      Serial.print(sensorValue);
      Serial.print("}");
      Serial.print("\t");      
      Serial.println(sensorValue);
     
      
      regFlag=0;
}


 if (buttonState == LOW && ledFlag==1) 
  {     
    // turn LED on:    
  int sensorValue = analogRead(A0);

      Serial.print(count);
      Serial.print("\t");
      Serial.print("\t");  
      Serial.print("\t"); 
      Serial.print("{");
      Serial.print("User_3Min");
      Serial.print(",T,");
      Serial.print(sensorValue);
      Serial.print("}");
      Serial.print("\t");      
      Serial.println(sensorValue);
     
     digitalWrite(ledPin, LOW);
     ledFlag=0;
     regFlag=0;
}


if(regFlag==1)
{
  int sensorValue = analogRead(A0);
  
      Serial.print(count);
      Serial.print("\t");
      Serial.print("{");
      Serial.print("Auto");
      Serial.print(",T,");
      Serial.print(sensorValue);
      Serial.print("}");
      Serial.print("\t");
      Serial.println(sensorValue);
    

}

count++;
// print out the value you read:
   
  
}