A program that demonstrates the development of library, using as an example an ultrasonic distance sensor HC-SR04.
Dependencies: mbed HCSR04 AutomationElements
main.cpp
- Committer:
- jakobhz
- Date:
- 2020-12-15
- Revision:
- 7:667133e8fb42
- Parent:
- 6:bca0839e8295
File content as of revision 7:667133e8fb42:
#include "mbed.h" #include "HCSR04.h" #include "AutomationElements.h" DigitalIn mypin(D4); PwmOut Buzzer(D5); DigitalOut myled(D7); Serial pc(USBTX, USBRX); HCSR04 sensor(D8, D9); float sampleTime = 0.5; PT1 filter(1, 2, sampleTime); Ticker ticker; float distance; float filteredDistance; void calc() { sensor.startMeasurement(); } int main() { sensor.setRanges(2, 400); pc.printf("Minimum sensor range = %g cm\n\rMaximum sensor range = %g cm\n\r", sensor.getMinRange(), sensor.getMaxRange()); pc.printf("Sensor: Filtered:\n\r"); ticker.attach(&calc, sampleTime); while(true) { while(!sensor.isNewDataReady()) { // wait for new data } float distance = sensor.getDistance_cm(); filter.in(distance); filteredDistance = filter.out(); pc.printf("%7.1f cm %7.1f cm\n\r", distance, filteredDistance); if(distance<10 && mypin == 1){ pc.printf("intruder alert"); myled = 1; Buzzer = 1; } else{ myled = 0; Buzzer = 0; } } }