《Arduino程序设计基础》《Genuino101入门与实践》中的示例程序。
库下载:SR04
SR04.h:
#ifndef SR04_H #define SR04_H #include "Arduino.h" class SR04 { public: SR04(int TrigPin,int EchoPin); float GetDistance(); private: int Trig_pin; int Echo_pin; float distance; }; #endif
SR04.cpp:
#include "Arduino.h" #include "SR04.h" SR04::SR04(int TP, int EP) { pinMode(TP,OUTPUT); pinMode(EP,INPUT); Trig_pin=TP; Echo_pin=EP; } float SR04::GetDistance() { digitalWrite(Trig_pin, LOW); delayMicroseconds(2); digitalWrite(Trig_pin, HIGH); delayMicroseconds(10); digitalWrite(Trig_pin, LOW); float distance = pulseIn(Echo_pin, HIGH) / 58.00; return distance; }
Example:
#include <SR04.h> SR04 ultrasonic = SR04(2,3); void setup() { Serial.begin(9600); } void loop() { float distance=ultrasonic.GetDistance(); Serial.print(distance); Serial.print("cm"); Serial.println(); }