나중에 급하게 PID 알고리즘을 적용해 짜본 코드... 시간이 충분치 않아서 그냥 원래 있던 코드를 수정해서 하기로 했기에 버려진 코드지만, 교수님께 참고용으로 Publish를 했다.

Dependencies:   mbed Adafruit_GFX

Ultrasonic.h

Committer:
21400688
Date:
2019-06-15
Revision:
0:c4c874d702f9

File content as of revision 0:c4c874d702f9:

#ifndef MBED_ULTRASONIC_H
#define MBED_ULTRASONIC_H

#include "mbed.h"

class Ultrasonic
{
public:
    Ultrasonic(PinName trigPin, PinName echoPin, float tick = 0.1, bool repeat = false);
    ~Ultrasonic();

    void trig();
    int getDistance(void);
    int getPulseDuration(void);

    //the ultrasonic sensor will stop after measuring once, use clear to clear the value
    int getStatus(void);
    void clearStatus(void);

    void pauseMeasure(void);
    void setMode(bool mode);
private:
    DigitalOut _trig;
    InterruptIn _echo;

    Timer _timer;
    Ticker _ticker;
    float _toVal;
    bool _repeat;

    int _distance;
    int _pulseDuration;

    void _startT(void);
    void _endT(void);
    void _ticker_cb(void);
    int _done;
};

#endif MBED_ULTRASONIC_H