💬 Relay
-
I would agree that more advanced sketches 'should' be included on the same page. Keep all the info in one resource place. Provided it is clearly marked as an advanced project it might help people looking for similar functionality or just interested in learning more about programming....
-
wow! fantastic! ... the github link readme warns that it's not yet fully ready but the interface is already impressive!
I still have the same question i had for nodemanager though : for measuring another battery than the one that feeds Vcc obviously another pin is needed, however why not propose as well the option of measuring such pin voltage but with Vcc as the reference rather than the internal 1.1V which most of the time makes necessary a voltage divider ? Actually i did the modification in nodemanager.cpp to use DEFAULT (~3.3V) rather than INTERNAL (1.1V) reference for a 3.3 pro mini and i can get the expected battery level without any voltage divider.Another unrelated question i have is : could there be any way to adapt the idea of the readVcc method (which is to measure the internal 1.1V against the Vcc reference to get Vcc) but using any voltage applied to a pin as the reference to again measure the internal 1.1 against it ? This would allow the masurement of any voltage greater than 1.1 without voltage divider while the usual method would be applied for measuring any voltage lower than 1.1 ... what did i miss that makes this impossible ?
-
wow! fantastic! ... the github link readme warns that it's not yet fully ready but the interface is already impressive!
I still have the same question i had for nodemanager though : for measuring another battery than the one that feeds Vcc obviously another pin is needed, however why not propose as well the option of measuring such pin voltage but with Vcc as the reference rather than the internal 1.1V which most of the time makes necessary a voltage divider ? Actually i did the modification in nodemanager.cpp to use DEFAULT (~3.3V) rather than INTERNAL (1.1V) reference for a 3.3 pro mini and i can get the expected battery level without any voltage divider.Another unrelated question i have is : could there be any way to adapt the idea of the readVcc method (which is to measure the internal 1.1V against the Vcc reference to get Vcc) but using any voltage applied to a pin as the reference to again measure the internal 1.1 against it ? This would allow the masurement of any voltage greater than 1.1 without voltage divider while the usual method would be applied for measuring any voltage lower than 1.1 ... what did i miss that makes this impossible ?
i also just realized that there is a special AREF pin intended for what i was thinking about ... but it's not available on the mini pro.
My measurements using Vcc as Ref have been indeed very fluctuating, however what i get was highly sufficient to monitor the battery feeding a 3.3v step up regulator to the arduino and help anticipate failure
-
I would like to clarify operation of the sketch, where more than 1 sensors input are used along with more than 1 relay actuator. in one node
- Does node need unique child ID for each sensor input AND relay output?
- If that is the case how child ID is assigned to relay actuators in the above examples?
-
This is a nice sketch and it is very universal for relays. Now
m looking for a similar sketch for digital inputs such as buttons i.e.. I would like to join both. The problem: I want to use a mega for reading status of a lot of digital outputs (min.20) of another ISP. It is only High or Low. Only when the level changes, I want the mega send a message to the gateway. I tried this "for" loop, but it didnt help. There are too many informations sent to the gateway. I imagine a solution, where only a change at the pin will create an information, that is sent to the gateway.
Here my test, which didnt run:
void loop()
{for (int sensor=16, pin=BIN_1; sensor<=NUMBER_OF_BIN; sensor++, pin++)
{
int BUTT;
int BUTTOLD;
BUTT =digitalRead(pin);
if (BUTT != BUTTOLD && BUTT !=0){
MyMessage msg(sensor, V_TRIPPED);
send(msg.set(BUTT ? "1" : "0"));
}
BUTTOLD = BUTT;
wait (900);
}
}
Has anybody an idea or a hint for me? -
why i can't compile for arduino pro mini on other boards i can upload
-
why i can't compile for arduino pro mini on other boards i can upload
-
Arduino: 1.8.1 (Windows 7), Board: "Arduino Pro or Pro Mini, ATmega168 (5V, 16 MHz)"
In file included from c:\users\mitja\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2\avr\include\avr\io.h:99:0,
from c:\users\mitja\appdata\local\arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2\avr\include\avr\pgmspace.h:90, from C:\Users\mitja\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\cores\arduino/Arduino.h:28, from sketch\button_relay.ino.cpp:1:C:\Users\mitja\Documents\Arduino\libraries\MySensors/hal/architecture/AVR/MyHwAVR.cpp: In function 'bool hwUniqueID(uint8_t (*)[16])':
C:\Users\mitja\Documents\Arduino\libraries\MySensors/hal/architecture/AVR/MyHwAVR.cpp:246:26: error: 'SIGRD' was not declared in this scope
((uint8_t)uniqueID) = boot_signature_byte_get(0x00);
^C:\Users\mitja\Documents\Arduino\libraries\MySensors/hal/architecture/AVR/MyHwAVR.cpp:247:30: error: 'SIGRD' was not declared in this scope
((uint8_t)uniqueID + 1) = boot_signature_byte_get(0x02);
^C:\Users\mitja\Documents\Arduino\libraries\MySensors/hal/architecture/AVR/MyHwAVR.cpp:248:30: error: 'SIGRD' was not declared in this scope
((uint8_t)uniqueID + 2) = boot_signature_byte_get(0x04);
^C:\Users\mitja\Documents\Arduino\libraries\MySensors/hal/architecture/AVR/MyHwAVR.cpp:249:30: error: 'SIGRD' was not declared in this scope
((uint8_t)uniqueID + 3) = boot_signature_byte_get(0x01); //OSCCAL
^Multiple libraries were found for "Bounce2.h"
Used: C:\Users\mitja\Documents\Arduino\libraries\Bounce2
Not used: C:\Users\mitja\Documents\Arduino\libraries\Bounce2-master
exit status 1
Error compiling for board Arduino Pro or Pro Mini.This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences. -
OK it's probaly because ia have mini with 168 chip i have to buys 328 :( again wait 1month to arive from china
-
hello.
I am building a node with several kind of sensors and two relays.
My sensors use CHILD ID from 0 to 3. I would like to start child ID of relay from 4.
How I can't do that with this sketch?
I guess I have to change this part of sketch :
"for (int sensor=1, pin=RELAY_PIN; sensor<=NUMBER_OF_RELAYS; sensor++, pin++) {
// Register all sensors to gw (they will be created as child devices)
present(sensor, S_BINARY);"correct?
thanks
-
hello.
I am building a node with several kind of sensors and two relays.
My sensors use CHILD ID from 0 to 3. I would like to start child ID of relay from 4.
How I can't do that with this sketch?
I guess I have to change this part of sketch :
"for (int sensor=1, pin=RELAY_PIN; sensor<=NUMBER_OF_RELAYS; sensor++, pin++) {
// Register all sensors to gw (they will be created as child devices)
present(sensor, S_BINARY);"correct?
thanks
@lekeb
You may do something like this:
In Header:uint8_t DS_First_Child_ID = 7; //First Child-ID to be used by Dallas Busan then in presentation():
for (int i = 0; i < numSensors && i < MAX_ATTACHED_DS18B20; i++) { present(i + DS_First_Child_ID, S_TEMP); }But afaik, it's not recommended to shift the ChildID's for relays but always start with 1. Imo it's better to change the ChildID's of the other attached sensors. You may also take care (in case of shifting ID's) about a consistent mapping from ID to the PINs where the relays are attached.