Code for sensor nodes connected by radio receiver with gateway
Dependencies: mbed WakeUp coapRadioClient DHT11
distanceMeter.cpp
00001 #include "distanceMeter.h" 00002 #include "mbed.h" 00003 00004 void DistanceMeter::echoUp() { 00005 timer.start(); 00006 } 00007 00008 void DistanceMeter::echoDown() { 00009 timer.stop(); 00010 timeUs = timer.read_us(); 00011 timer.reset(); 00012 timeReady = true; 00013 } 00014 00015 DistanceMeter::DistanceMeter(PinName echoPin, PinName triggerPin): timeReady(false), echo(echoPin), trigger(triggerPin) { 00016 trigger = 0; 00017 } 00018 00019 void DistanceMeter::initialize() { 00020 echo.rise(this, &DistanceMeter::echoUp); 00021 echo.fall(this, &DistanceMeter::echoDown); 00022 } 00023 00024 int DistanceMeter::read() { 00025 trigger = 1; 00026 wait_us(10); 00027 trigger = 0; 00028 00029 while(!timeReady) 00030 wait_us(100); 00031 00032 timeReady = false; 00033 return timeUs * 17 / 1000; // dist in cm, (time * 340) / (2 * 10000) 00034 00035 } 00036 00037 int DistanceMeter::getSensorId() { 00038 return 0; 00039 }
Generated on Fri Jul 15 2022 10:06:21 by 1.7.2