Nghia Nguyen
Published © GPL3+

Home Automation: Alarm Control and Sleep Tracking with AWS

In this project, I will show you how to build an automatic alarm system with light sensor, and track your sleeping habit with AWS service.

IntermediateFull instructions provided1,585
Home Automation: Alarm Control and Sleep Tracking with AWS

Things used in this project

Hardware components

Intel Edison
Intel Edison
×1
Grove starter kit plus for Intel Edison
Seeed Grove starter kit plus for Intel Edison
×1

Software apps and online services

Arduino IDE
Arduino IDE
AWS SNS
Amazon Web Services AWS SNS
Intel XDK IoT Edison

Story

Read more

Schematics

Wiring Sensor and Actuator

Use the bus cable in the Grove Starter Kit to connect the relay, LED, and light sensor to the Base Shield as follow:
- Relay ---> D2
- LED ---> D3
- Light Sensor ---> A0

Hardware Connection

Use the bus cable in the Grove Starter Kit to connect the relay, LED, and light sensor to the Base Shield as follow:
- Relay ---> D2
- LED ---> D3
- Light Sensor ---> A0

Code

Arduino Sketch

C/C++
Relay Control based on Light Sensor with Intel Edison
/*
Control Relay base on Light Sensor 
*/

// These constants won't change.  They're used to give names
// to the pins used:
const int analogInPin = A0;  // Analog input pin that the potentiometer is attached to
const int analogOutPin = 3; // Analog output pin that the LED is attached to
const int relayPin = 2;     // Digital Putput pin that Relay is attached to

int sensorValue = 0;        // value read from the pot
int outputValue = 0;        // value output to the PWM (analog out)

void setup() {
  // initialize serial communications at 9600 bps:
  Serial.begin(9600);
  // initialize digital pin 2 as an output.
   pinMode(2, OUTPUT);
}

void loop() {

  // read the analog in value:
  sensorValue = analogRead(analogInPin);
  // map it to the range of the analog out:
  outputValue = map(sensorValue, 0, 360, 0, 255);
  // change the analog out value:
  analogWrite(analogOutPin, outputValue);

  // print the results to the serial monitor:
  Serial.print("sensor = " );
  Serial.print(sensorValue);
  Serial.print("\t output = ");
  Serial.println(outputValue);


  if (sensorValue<100){
    digitalWrite(relayPin, HIGH);
      Serial.print("\t Relay On!");
      
  }
  else if (sensorValue>200)
  {
    digitalWrite(relayPin, false);
      Serial.print("\t Relay Off!");
  }

  // wait 100 milliseconds before the next loop

      delay(100);

  
}

Credits

Nghia Nguyen

Nghia Nguyen

2 projects • 3 followers
I love making projects!

Comments

Add projectSign up / Login