Things used in this project

Hardware components:
Intel.web.720.405
Intel Edison
×1
Grove 20starter 20kit 20plus 20  20intel c2 ae 20iot2 01
SeeedStudio Grove starter kit plus for Intel Edison
×1
12002 04
Breadboard (generic)
×1
Adafruit industries ada161 image 75px
Photo resistor
×1
09590 01
LED (generic)
×1
Mfr 25frf52 10k sml
Resistor 10k ohm
×1
Adafruit industries ada592 image 75px
USB-A to Micro-USB Cable
×1
Software apps and online services:
Simpleicon cognito
Amazon Web Services AWS Cognito
Ha 2up iot
Amazon Web Services AWS IoT
Ide web
Arduino IDE

Custom parts and enclosures

SUMO Finger Holder

Code

Sumo Arduino SketchArduino
/*
 * Smart Pulse Monitor 
 * Author : Geeve George
 */
 
 
#include <Wire.h>

const int analogInPin = A0;  


int sensorValue = 0;       

int count=0;
unsigned long time1=0;  
unsigned long time2;    


#include "rgb_lcd.h"

rgb_lcd lcd;

const int colorR = 255;
const int colorG = 0;
const int colorB = 0;

void setup() {
 
  Serial.begin(9600); 
 
  lcd.begin(16, 2);
    
    lcd.setRGB(colorR, colorG, colorB);
}

void loop() {

  
  
  
  if(count==0)
  {time1=millis();
  }
  time2=millis();
  sensorValue = analogRead(analogInPin);
  
     
    
    
    
 
  if(time2>=time1+10000)
  { counter();
  }
  

  if(sensorValue <500){
    
    lcd.clear();
    
    Serial.println("Insert finger");
    lcd.setCursor(0,0);
    lcd.print("Insert Finger");
  
   
    return;
 }
                       
       
      

  
  if(sensorValue >500){
    
    lcd.clear();
  digitalWrite(Led, HIGH);
    increment();

  Serial.println(sensorValue);
 Serial.println(count);
 Serial.println(time2);
 lcd.setCursor(0,0);
 lcd.print("Counting");
    
  }
  
 
 delay(200);
    
  }

void increment()
{
  count++;

} 

    void counter()
{ 
  lcd.clear();
  count=count*6;
  Serial.print("Heart beat: ");
  Serial.print(count);
  lcd.setCursor(0,0);
  lcd.print("Heart beat:");
  lcd.setCursor(0,1);
  lcd.print(count);
  lcd.print(" BPM");
  
  
  time1=0;
  time2=0;
  count=0;
  
 delay(5000);
    

  
 
}
Processing SketchArduino
/*
 * Smart Pulse Monitor 
 * Author : Geeve George
 */
 


import processing.serial.*;
    Serial myPort;
    int xPos = 1;
    float oldHeartrateHeight = 0;

    void setup () {
    // set the window size:
    size(1000, 200);
    frameRate(30);

    // List available serial ports.
    println(Serial.list());

    // Setup which serial port to use.
    // This line might change for different computers.
    myPort = new Serial(this, "COM16", 115200);

    // set inital background:
    background(0);
    }

    void draw () {
    }

    void serialEvent (Serial myPort) {
    // read the string from the serial port.
    String inString = myPort.readStringUntil('\n');

    if (inString != null) {
    // trim off any whitespace:
    inString = trim(inString);
    // convert to an int
    println(inString);
    int currentHeartrate = int(inString);

    // draw the Heartrate BPM Graph.
    float heartrateHeight = map(currentHeartrate, 0, 1023, 0, height);
    stroke(0,255,0);
    line(xPos - 1, height - oldHeartrateHeight, xPos, height - heartrateHeight);
    oldHeartrateHeight = heartrateHeight;
    // at the edge of the screen, go back to the beginning:
    if (xPos >= width) {
    xPos = 0;
    background(0);
    } else {
    // increment the horizontal position:
    xPos++;
    }
    }
    }
AWS Lambda FunctionJavaScript
var https = require('https');

var CONFIG = {
 
  partner_token:          'API_TOKEN',
  token:                  'USER_TOKEN', 
  user_id:    "user_id",
  serial_id:   "serial_id",
 
},
DATA = {};

function logData(event, context) {
  var clickType = event.clickType;
  switch(clickType.toLowerCase()) {
   
    }
    }
    }

  var data = {
    
    user_name:            CONFIG.user_name;
    sl_no:           CONFIG.dl_no;
    ,
    datalog: {},
    order_comment:                  'The data was sucesfully stored'
  };

 
  data = JSON.stringify(data);
  
  var headers = {
    'Content-Type':   'application/json',
    'Content-Length': Buffer.byteLength(data)
  };


  var req = https.request(options, function(res) {
    console.log(res.statusCode);
    if (res.statusCode == 200 || res.statusCode == 201) {
      context.succeed(event);
    } else if (context) {
      context.fail(event);
    }

    res.on('data', function (chunk) {
      console.log("" + chunk);
    });
  });

  req.write(data);
  req.end();
}

exports.handler = logData;

Credits

10649764 791289860950693 9058981313352172186 n
Geeve George

I love to build hardware and program software. I work on arduino , intel edison and android development for making technology for people with disabilities.

Replications

Did you replicate this project? Share it!

Love this project? Think it could be improved? Tell us what you think!

Give feedback

Comments

Similar projects you might like

AmazonKitchen DRS
Advanced
  • 1,335
  • 13

Work in progress

This project utilizes a combination of RFID, Load Cell Sensors, and connectivity through Arduino and Echo for an Amazon Based Smart Fridge

Amazon DRS Weight Sensor
Advanced
  • 957
  • 5

Work in progress

This device tracks the use of any product and automatically reorders it from Amazon when it is about to run out without your interaction.

Barbecue Planner with Amazon DRS integration
Advanced
  • 116
  • 2

Full instructions

A barbecue shaped alarm that tells you when it’s going to be barbecue weather. It will order your supplies through the Amazon DRS system.

Online monitoring for smart home
Advanced
  • 395
  • 2

Work in progress

This system measure the power consumption of appliances plugged in outlet and can control turn on/off of some appliances.

Indoor Weather Node
Advanced
  • 203
  • 0

Full instructions

Here's a spin on the venerable temperature/humidity logging module. Our version is an IoT utilizing a Particle Photon and a DHT22.

Indoor Weather Node

Team Hobbs Squad

Gotham
Advanced
  • 1,153
  • 29

Gotham is an Alexa-based tool that maps a novel real-time safety index on the street-level by aggregating OpenData and community feedback.

Gotham

Team City Guard

ProjectsCommunitiesContestsLiveJobsBetaFree StoreBlogAdd projectSign up / Login
Respect project