Sending Data

From SquidBee

Jump to: navigation, search

Here is a simple program to send information from SquidBee to the computer where you've connected the SquidBee gate way.

Here we are using the following sensors:

- Temp sensor (LM35DZ)

- Light sensor (LDR)

- Presence sensor (PIR)

(more about sensors connection Hardware)

Code


/*
First sensorial wireless network test


M. Yarza
www.libelium.com
Zaragoza 2.007
*/

// variables 
int val1 = 0;
int val = 0;
int count = 0;
boolean stateRed = 0;
boolean stateGreen = 0;
int temp = 30;
int light = 800;
int presencia = 1;

// sensors - leds connected
int led = 13;               //led connected to pin 13
int presenciaSensor = 8;    //presence sensor connected to pin 8
int red = 9;                //led red connected to pin 9
int green = 10;             //led green connected to pin 10
int tempSens = 4;
int lightSens = 5;


void setup(){
  Serial.begin(19200);      //start the serial port 19200 bauds
  pinMode(led, OUTPUT);     //pin modes for digital input / output
  pinMode(red, OUTPUT);
  pinMode(green, OUTPUT);
  pinMode(presenciaSensor, INPUT);
}

void loop(){
digitalWrite(red, stateRed);
digitalWrite(green, stateGreen);
count = 0;
while(count <5000){
  
  val = Serial.read();                    //reads the serial port

  if(val!= -1){                           //if it get something 
    if (val == 48){                       //if it's the char '0'
      
      for(int i = 0; i < 15; i++){        //switchs the state of the red led
      digitalWrite(red, stateRed);
      delay(40);
      digitalWrite(red, !stateRed);
     stateRed = !stateRed;
      delay(40);
      }
    }
   Serial.flush();
    if(val!= -1){                          //if it get something
    if (val == 49){                        //if it's the char '0'

      for(int i = 0; i < 15; i++){         //switchs the state of the green led
      
      digitalWrite(green, stateGreen);
      delay(40);
      
      digitalWrite(green, !stateGreen);
      stateGreen = !stateGreen;
      delay(40);
      }
    }
   Serial.flush();
    }
 }
  
  temp = analogRead(tempSens);                    //read the sensors state
  light = analogRead(lightSens);
  presencia = digitalRead(presenciaSensor);
  
  //sends data over the serial port
  Serial.print("@1|");        //node address
  Serial.print(count);        //the package's number
  
  Serial.print("|T-");        //id for temperature
  Serial.print(temp);         //value of temperature
  
  Serial.print("|L-");        //id for light
  Serial.print(light);        //value of light
  
  Serial.print("|P-");        //id for presence
  Serial.print(presencia);    //value of presence yes or no (o or 1)
  
  Serial.print("#\r");        //end of line
  
  digitalWrite(led,HIGH);     //led 13 blink
  delay(120);
  digitalWrite(led,LOW);
  delay(1500);
  count++;
}  

}



Personal tools