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:
tbjazic
Date:
2015-12-07
Revision:
4:052ac3f5c938
Parent:
3:3297ea6e3ae1
Child:
5:889566fb3a85
Child:
6:bca0839e8295

File content as of revision 4:052ac3f5c938:

#include "mbed.h"
#include "HCSR04.h"
#include "AutomationElements.h"

Serial pc(USBTX, USBRX);
HCSR04 sensor(p5, p7);
float sampleTime = 0.1;
PT1 filter(1, 2, sampleTime);
Ticker ticker;
float distance;
float filteredDistance; 
DigitalOut led1(LED1);

void calc() {
    led1 = 1;
    distance = sensor.getDistance_mm();
    filter.in(distance);
    filteredDistance = filter.out();
    pc.printf("%7.1f mm  %7.1f mm  \r", distance, filteredDistance);
    led1 = 0;
}

int main() {
    sensor.setRanges(10, 110);
    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(1) {
        wait_ms(500);
    }
}