Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arduino 为超声波传感器制作课程_Arduino_Arduino C++ - Fatal编程技术网

Arduino 为超声波传感器制作课程

Arduino 为超声波传感器制作课程,arduino,arduino-c++,Arduino,Arduino C++,你好吗?我正在做一个项目,我想创建一个类,将参数传递给超声波传感器并执行其他任务。基本上,我想通过类中的函数传递echo、triger和max_distance的值: 例如,要声明超声波传感器,请使用以下内容: #define TRIGGER_PIN 1; #define ECHO_PIN_ultrasound 2; #define MAX_DISTANCE 100; 但是我想创建一个类,我只需要通过参数传递值,例如,如果发生什么事情,我可以打开led 到目前为止,这是我的代码,但

你好吗?我正在做一个项目,我想创建一个类,将参数传递给超声波传感器并执行其他任务。基本上,我想通过类中的函数传递echo、triger和max_distance的值:

例如,要声明超声波传感器,请使用以下内容:

  #define TRIGGER_PIN 1;
  #define ECHO_PIN_ultrasound 2;
  #define MAX_DISTANCE 100;
但是我想创建一个类,我只需要通过参数传递值,例如,如果发生什么事情,我可以打开led

到目前为止,这是我的代码,但我得到了以下结果:调用“NewPing::NewPing()”没有匹配的函数。 为什么会发生这种情况

#include <NewPing.h>


// Get used to writing classes in two parts.
// PART ONE the class decleration. (Ends up later in life being the .h file)

class Ultrasonido :  public NewPing {

   public:
         Ultrasonido(uint8_t trigger_pin, uint8_t echo_pin, int max_cm_distance=MAX_SENSOR_DISTANCE);
virtual  ~Ultrasonido(void);
    
         void encender(void); 
};

 

// PART TWO the actual code. (Ends up later in life being the .cpp file)

Ultrasonido::Ultrasonido (uint8_t trigger_pin, uint8_t echo_pin, int max_cm_distance) {  }
   : NewPing(trigger_pin,echo_pin,max_cm_distance) {  }

   
Ultrasonido::~Ultrasonido(void) {  }

    
void Ultrasonido::encender(void) {
   // Do youre LED or whatever here..  
}


Ultrasonido sensor1(1,2,100);
Ultrasonido sensor2(4,5,100);

int distancia=0;

void setup() { }

void loop() {
   
  distancia=sensor1.ping_cm();
  if (distancia<10){
    sensor1.encender();
  }
}
#包括
//习惯于分两部分编写课程。
//第一部分:阶级歧视。(在以后的生活中成为.h文件)
Ultrasonido类:公共NewPing{
公众:
超声波(uint8触发引脚、uint8回波引脚、int最大厘米距离=最大传感器距离);
虚拟超声(void);
无效(无效);
};
//第二部分是实际代码。(最终成为.cpp文件)
Ultrasonido::Ultrasonido(uint8\u t触发器\u引脚、uint8\u t回波\u引脚、int max\u cm\u距离){}
:NewPing(触发器引脚、回波引脚、最大厘米距离){}
Ultrasonido::~Ultrasonido(void){}
void Ultrasonido::encender(void){
//这里有人带你吗。。
}
超声波传感器1(1,2100);
超声波传感器2(4,5100);
国际距离=0;
void setup(){}
void循环(){
距离=传感器1.ping_cm();

如果远程C++不能使我的课堂工作是一个广泛而模糊的问题描述。到底是什么地方出错了,到目前为止你在调查中尝试了什么?乍一看,你有很多基本的语法错误。我建议先阅读一下如何在C++中定义一个简单的类,并看一些库教程和示例。非常感谢你的回答,我读了一点,试图改进措辞,更具体一些,但我在编译时不断遇到问题。你应该分享错误消息。如果错误消息很多,那么从第一条开始。