Arduino 为超声波传感器制作课程
你好吗?我正在做一个项目,我想创建一个类,将参数传递给超声波传感器并执行其他任务。基本上,我想通过类中的函数传递echo、triger和max_distance的值: 例如,要声明超声波传感器,请使用以下内容: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 到目前为止,这是我的代码,但
#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++中定义一个简单的类,并看一些库教程和示例。非常感谢你的回答,我读了一点,试图改进措辞,更具体一些,但我在编译时不断遇到问题。你应该分享错误消息。如果错误消息很多,那么从第一条开始。