Je crée ma propre bibliothèque dans arduino pour contrôler une pompe. La bibliothèque est très simple:Obtention d'une propriété privée bool à partir de la méthode dans la bibliothèque Arduino
Pump.h
#ifndef Pump_h
#define Pump_h
#include "Arduino.h"
class Pump
{
public:
Pump(int pin);
void Open(void);
void Close(void);
boolean IsOpen(void);
private:
int _pin;
bool _status;
};
#endif
Pump.cpp
#include "Arduino.h"
#include "Pump.h"
Pump::Pump(int pin)
{
pinMode(pin, OUTPUT);
digitalWrite(pin,HIGH);
_pin = pin;
_status = false;
}
void Pump::Open(void)
{
digitalWrite(_pin, LOW);
_status = true;
}
void Pump::Close(void)
{
digitalWrite(_pin, HIGH);
_status = false;
}
boolean Pump::IsOpen(void)
{
return _status;
}
boucle()
#include <Pump.h>
#define PUMP1 Pump(9)
void loop() {
BridgeClient client = server.accept(); // Get clients coming from server
if (client) { // There is a new request from client?
Console.println("Client connected");
process(client); // Process request
client.stop(); // Close connection and free resources.
}
Console.println(PUMP1.IsOpen());
delay(50); // Poll every 50ms
}
Le problème est que quand je l'appelle la fonction IsOpen dans la fonction d'Arduino je reçois toujours faux et la pompe est immédiatement tourné en boucle() au large. Quel est le problème avec mon code?
S'il vous plaît montrer votre 'boucle()' – P0W
J'ai édité la réponse – CrazYoshi