Code for sensor nodes connected by radio receiver with gateway
Dependencies: mbed WakeUp coapRadioClient DHT11
Diff: distanceMeter.cpp
- Revision:
- 3:4ffffdb5230f
- Child:
- 6:5102672e8ff4
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/distanceMeter.cpp Fri Jan 25 02:01:01 2019 +0000 @@ -0,0 +1,39 @@ +#include "distanceMeter.h" +#include "mbed.h" + +void DistanceMeter::echoUp() { + timer.start(); +} + +void DistanceMeter::echoDown() { + timer.stop(); + timeUs = timer.read_us(); + timer.reset(); + timeReady = true; +} + +DistanceMeter::DistanceMeter(PinName echoPin, PinName triggerPin): timeReady(false), echo(echoPin), trigger(triggerPin) { + trigger = 0; +} + +void DistanceMeter::initialize() { + echo.rise(&echoUp); + echo.fall(&echoDown); +} + +int DistanceMeter::read() { + trigger = 1; + wait_us(10); + trigger = 0; + + while(!timeReady) + wait_us(100); + + timeReady = false; + return timeUs * 17 / 1000; // dist in cm, (time * 340) / (2 * 10000) + +} + +int DistanceMeter::getSensorId() { + return 0; +} \ No newline at end of file