Skip to content

Commit

Permalink
iPhone application and Arduino code uploaded
Browse files Browse the repository at this point in the history
  • Loading branch information
zenglekidd committed Jun 3, 2012
1 parent eb37c85 commit 869e36f
Show file tree
Hide file tree
Showing 22 changed files with 1,467 additions and 1 deletion.
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
DistanceMeasurer
================

Uses ultrasonic sensor + Arduino to record distance on iOS
Uses ultrasonic sensor + Arduino to record distance on iOS

iDeviceConsoleTestLe/folder is the code for iPhone serial monitor
Ultrasonic/folder is the code on Arduino
39 changes: 39 additions & 0 deletions Ultrasonic/Ultrasonic.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/*
Ultrasonic.cpp - Library for HC-SR04 Ultrasonic Ranging Module.library
Created by ITead studio. Apr 20, 2010.
iteadstudio.com
*/

#include "WProgram.h"
#include "Ultrasonic.h"

Ultrasonic::Ultrasonic(int TP, int EP)
{
pinMode(TP,OUTPUT);
pinMode(EP,INPUT);
Trig_pin=TP;
Echo_pin=EP;
}

long Ultrasonic::Timing()
{
digitalWrite(Trig_pin, LOW);
delayMicroseconds(2);
digitalWrite(Trig_pin, HIGH);
delayMicroseconds(10);
digitalWrite(Trig_pin, LOW);
duration = pulseIn(Echo_pin,HIGH);
return duration;
}

long Ultrasonic::Ranging(int sys)
{
Timing();
distacne_cm = duration /29 / 2 ;
distance_inc = duration / 74 / 2;
if (sys)
return distacne_cm;
else
return distance_inc;
}
30 changes: 30 additions & 0 deletions Ultrasonic/Ultrasonic.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/*
Ultrasonic.h - Library for HR-SC04 Ultrasonic Ranging Module.
Created by ITead studio. Alex, Apr 20, 2010.
iteadstudio.com
*/


#ifndef Ultrasonic_h
#define Ultrasonic_h

#include "WProgram.h"

#define CM 1
#define INC 0

class Ultrasonic
{
public:
Ultrasonic(int TP, int EP);
long Timing();
long Ranging(int sys);

private:
int Trig_pin;
int Echo_pin;
long duration,distacne_cm,distance_inc;

};

#endif
35 changes: 35 additions & 0 deletions Ultrasonic/examples/UltrasonicDemo/UltrasonicDemo.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
/*
HC-SR04 Ultrasonic module results to Arduino serial monitor
*/
#define ECHOPIN 2 // Pin to receive echo pulse
#define TRIGPIN 3 // Pin to send trigger pulse

void setup()
{
Serial.begin(9600);
pinMode(ECHOPIN, INPUT);
pinMode(TRIGPIN, OUTPUT);
}

void loop()
{
// Trigger Trig pin to Start Ranging
digitalWrite(TRIGPIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIGPIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGPIN, LOW);
// Compute distance
float distance = pulseIn(ECHOPIN, HIGH);
//pulseIn(pin,value) reads a pulse length of the value.(microseconds)
distance= distance/58;
// From datasheet: pluse width(uS)/58 = distance (cm)
// pluse width(uS)/148 = distance (inch)
Serial.println(distance);
delay(1000); // return distance per second.

}




5 changes: 5 additions & 0 deletions Ultrasonic/keywords.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Ultrasonic KEYWORD1
Timing KEYWORD2
Ranging KEYWORD2
CM LITERAL1 Constants
INC LITERAL1 Constants
Loading

0 comments on commit 869e36f

Please sign in to comment.