Files
mixly3-server/arduino-libs/arduino-cli/libraries/Ultrasonic/src/Ultrasonic.h

47 lines
1.2 KiB
C++

/*
* Ultrasonic.h
*
* Library for Ultrasonic Ranging Module in a minimalist way
*
* created 3 Apr 2014
* by Erick Simões (github: @ErickSimoes | twitter: @AloErickSimoes)
* modified 23 Jan 2017
* by Erick Simões (github: @ErickSimoes | twitter: @AloErickSimoes)
* modified 04 Mar 2017
* by Erick Simões (github: @ErickSimoes | twitter: @AloErickSimoes)
* modified 15 May 2017
* by Eliot Lim (github: @eliotlim)
* modified 10 Jun 2018
* by Erick Simões (github: @ErickSimoes | twitter: @AloErickSimoes)
*
* Released into the MIT License.
*/
#ifndef Ultrasonic_h
#define Ultrasonic_h
/*
* Values of divisors
*/
#define CM 28
#define INC 71
class Ultrasonic {
public:
Ultrasonic(uint8_t sigPin) : Ultrasonic(sigPin, sigPin) {};
Ultrasonic(uint8_t trigPin, uint8_t echoPin, unsigned long timeOut = 20000UL);
unsigned int read(uint8_t und = CM);
unsigned int distanceRead(uint8_t und = CM) __attribute__ ((deprecated ("This method is deprecated, use read() instead.")));
void setTimeout(unsigned long timeOut) {timeout = timeOut;}
private:
uint8_t trig;
uint8_t echo;
boolean threePins = false;
unsigned long previousMicros;
unsigned long timeout;
unsigned int timing();
};
#endif // Ultrasonic_h