2020-12-24

1.超声波模块

  • CSB.h
  • CSB.cpp
  • 例:

CSB.h

#ifndef _CSB_h_
#define _CSB_h_

#include 
#include 

//定义一个类
class CSB{
	//成员函数
	public: //定义访问权限
	CSB(int E,int T);
	void CSBStart(void);
	double CSBValues(void);
	//成员变量 
	private:
	 unsigned long Len_mm_X100;
	 unsigned long Time_Echo_us;
	 int EchoPin,TrigPin;
	
}; //不要忘记 ; 号
#endif //结束if not define (ifndef)

CSB.cpp

#include "Arduino.h"
#include "CSB.h"
#include 
CSB::CSB(int E,int T){
	EchoPin = E;
	TrigPin = T;
}
void CSB::CSBStart(void){
Len_mm_X100  = 0;
//针脚初始化
 pinMode(EchoPin, INPUT);
 pinMode(TrigPin, OUTPUT);
// Serial.begin(9600);
}
double CSB::CSBValues(void){
	//启动超声波
	digitalWrite(TrigPin, HIGH);
 
    delayMicroseconds(50);
 
    digitalWrite(TrigPin, LOW);
 
   //pulseIn() 返回脉冲时长 范围:10微秒~3分钟
 
    Time_Echo_us = pulseIn(EchoPin, HIGH);
 
    if((Time_Echo_us < 60000) && (Time_Echo_us > 1))
 
    { 
      Len_mm_X100 = (Time_Echo_us*34)/2;
	 return (double(Len_mm_X100)) / 100;
    }
    
}

例:

#include
// CSB(EchoPin,TrigPin)
CSB c(10,9);
void setup(){
  c.CSBStart();
  Serial.begin(9600);
}
void loop(){
 Serial.println(c.CSBValues());
 delay(500);
}

你可能感兴趣的:(arduino)