Code for sensor nodes connected by radio receiver with gateway

Dependencies:   mbed WakeUp coapRadioClient DHT11

Committer:
Ka_myk
Date:
Fri Jan 25 02:01:01 2019 +0000
Revision:
3:4ffffdb5230f
Child:
6:5102672e8ff4
main humidity

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Ka_myk 3:4ffffdb5230f 1 #include "distanceMeter.h"
Ka_myk 3:4ffffdb5230f 2 #include "mbed.h"
Ka_myk 3:4ffffdb5230f 3
Ka_myk 3:4ffffdb5230f 4 void DistanceMeter::echoUp() {
Ka_myk 3:4ffffdb5230f 5 timer.start();
Ka_myk 3:4ffffdb5230f 6 }
Ka_myk 3:4ffffdb5230f 7
Ka_myk 3:4ffffdb5230f 8 void DistanceMeter::echoDown() {
Ka_myk 3:4ffffdb5230f 9 timer.stop();
Ka_myk 3:4ffffdb5230f 10 timeUs = timer.read_us();
Ka_myk 3:4ffffdb5230f 11 timer.reset();
Ka_myk 3:4ffffdb5230f 12 timeReady = true;
Ka_myk 3:4ffffdb5230f 13 }
Ka_myk 3:4ffffdb5230f 14
Ka_myk 3:4ffffdb5230f 15 DistanceMeter::DistanceMeter(PinName echoPin, PinName triggerPin): timeReady(false), echo(echoPin), trigger(triggerPin) {
Ka_myk 3:4ffffdb5230f 16 trigger = 0;
Ka_myk 3:4ffffdb5230f 17 }
Ka_myk 3:4ffffdb5230f 18
Ka_myk 3:4ffffdb5230f 19 void DistanceMeter::initialize() {
Ka_myk 3:4ffffdb5230f 20 echo.rise(&echoUp);
Ka_myk 3:4ffffdb5230f 21 echo.fall(&echoDown);
Ka_myk 3:4ffffdb5230f 22 }
Ka_myk 3:4ffffdb5230f 23
Ka_myk 3:4ffffdb5230f 24 int DistanceMeter::read() {
Ka_myk 3:4ffffdb5230f 25 trigger = 1;
Ka_myk 3:4ffffdb5230f 26 wait_us(10);
Ka_myk 3:4ffffdb5230f 27 trigger = 0;
Ka_myk 3:4ffffdb5230f 28
Ka_myk 3:4ffffdb5230f 29 while(!timeReady)
Ka_myk 3:4ffffdb5230f 30 wait_us(100);
Ka_myk 3:4ffffdb5230f 31
Ka_myk 3:4ffffdb5230f 32 timeReady = false;
Ka_myk 3:4ffffdb5230f 33 return timeUs * 17 / 1000; // dist in cm, (time * 340) / (2 * 10000)
Ka_myk 3:4ffffdb5230f 34
Ka_myk 3:4ffffdb5230f 35 }
Ka_myk 3:4ffffdb5230f 36
Ka_myk 3:4ffffdb5230f 37 int DistanceMeter::getSensorId() {
Ka_myk 3:4ffffdb5230f 38 return 0;
Ka_myk 3:4ffffdb5230f 39 }