Advantage of this sensor is fast and easy installing by the non qualified personal. The sensor is designed for large agriculture facility with many greenhouses where is needed to be controlled temperature and humidity, the atmospheric pressure is for control the motor of air inlet and outlet. With help of the sensor installed outside the greenhouse provide information about positive/negative pressure inside the greenhouse.
Finlay the software read accurate temp/humid value of the Si7021, and only atmospheric pressure of BMP180, the temperature sensor inside the BMP180 is used only by the sensor itself to provide accurate atmospheric pressure measurements.
The sensor can be used also for home automation, and drone applications where is needed correction of the UAV barometric sensor compared to the ground barometric sensor, also humidity measurement can help the pilot to calculate more accurate flying time.
Just to let you know that I solved the issue.
I found a library where you can control the speed and make sure it get to it's position.
You can find it here: https://github.com/netlabtoolkit/VarSpeedServo
I incorporated it in the Mysensor sketch and it works eventhoug it looks like it only goes like 90 degrees but it's enough for me :
#include <MySensor.h>
#include <SPI.h>
#include <VarSpeedServo.h>
// #include <Servo.h>
#define SERVO_DIGITAL_OUT_PIN 3
#define SERVO_MIN 0 // Fine tune your servos min. 0-180
#define SERVO_MAX 180 // Fine tune your servos max. 0-180
#define DETACH_DELAY 900 // Tune this to let your movement finish before detaching the servo
#define CHILD_ID 10 // Id of the sensor child
MySensor gw;
MyMessage msg(CHILD_ID, V_DIMMER);
VarSpeedServo myservo; // create servo object to control a servo
// a maximum of eight servo objects can be created
// Servo myservo; // create servo object to control a servo
// a maximum of eight servo objects can be created Sensor gw(9,10);
unsigned long timeOfLastChange = 0;
bool attachedServo = false;
void setup()
{
// Attach method for incoming messages
gw.begin(incomingMessage);
// Send the sketch version information to the gateway and Controller
gw.sendSketchInfo("Servo", "1.0");
// Register all sensors to gw (they will be created as child devices)
gw.present(CHILD_ID, S_COVER);
// Request last servo state at startup
gw.request(CHILD_ID, V_DIMMER);
}
void loop()
{
gw.process();
if (attachedServo && millis() - timeOfLastChange > DETACH_DELAY) {
myservo.detach();
attachedServo = false;
}
}
void incomingMessage(const MyMessage &message) {
myservo.attach(SERVO_DIGITAL_OUT_PIN);
attachedServo = true;
if (message.type==V_DIMMER) { // This could be M_ACK_VARIABLE or M_SET_VARIABLE
int val = message.getInt();
myservo.write(SERVO_MAX + (SERVO_MIN-SERVO_MAX)/100 * val,255,true); // sets the servo position 0-180
// Write some debug info
Serial.print("Servo changed. new state: ");
Serial.println(val);
} else if (message.type==V_UP) {
Serial.println("Servo UP command");
myservo.write(SERVO_MIN,255,true);
gw.send(msg.set(100));
} else if (message.type==V_DOWN) {
Serial.println("Servo DOWN command");
myservo.write(SERVO_MAX,255,true);
gw.send(msg.set(0));
} else if (message.type==V_STOP) {
Serial.println("Servo STOP command");
myservo.detach();
attachedServo = false;
}
timeOfLastChange = millis();
}
@zmatokan said in NModule:
@Nca78 Are you still working on this pcbs? i think it would be great to add a version that supports HiLink 220ac->5dc module on powerboard.
No I'm not working on NModules anymore, I have a few old nodes using atmega/nrf24 but I switched to NRF5 for "basic" nodes now, and to ESP32 for more "advanced" stuff.
NModule was designed for beginner and simple/riskless use, so I don't think adding high voltage option is a great idea, it's better to use an external power supply and connect the output to the powerboard.
@fot said:
Hi!
I ask my gateway about it's version (0;0;3;0;2;). It will responde with the library version number (1.4.1 in my case).
It tells me that the gateway software is up and running. But it will not give me any clue about if the (NRF)network is working.
That's a problem, right.
I only ask the gateway if no other packages are received in $timeout seconds.
/Magnus
Of course ! Thank you for pushing my nose on it. Sometimes you don't see the most obvious
Since my gateway is relatively close to the controller (Domoticz on a Raspi), I can do a hard reset of the gateway (via Raspi GPIO), which should resolve the issue.
Cheers
Josh
New to electronics and progamming.... hence excuse rather dumb nature of my query .. recently purchase the Devduino V2.2 OTA version and am trying to figure out if the device comes pre loaded with the arduino bootloader. ??