Forum Replies Created
-
AuthorPosts
-
loop_1ParticipantThanks, the motor driver board is a good idea!
But i’m searching something that is aesthetically beautiful… sincerely the raspi with all cables to the relay board isn’t so good for my wife… i’ve seen the OSBee board but no one respond to me in order to buy one (rayshobby and opensprinkler store!) 🙁
I think that the OSBee is the best choice in order to drive 24v and 9v valves…
loop_1ParticipantAnyone on this forum?? 🙁
loop_1ParticipantThanks!!
Tomorrow morning I’ll try this solution!
loop_1ParticipantPeter, so with your mod i can use a relay board connected to my Raspy, it is correct?
loop_1Participantanyone? 🙁
loop_1ParticipantI have a 4 relay board: no. 1 for the pump and no. 2-3-4 for the sprinklers.
if the relay board is low or high logic is sufficient change the digitalwrite LOW or HIGH but the problem is that i have 2 relays always active a few seconds after opensprinkler starts and one relay is intermittent… so i think that if the problem is only the logic of the board i must have all relays ON or all relays OFF, is correct?
So i think that there are some mistakes in my code…
Moreover, before start opensprinkler i see that all 4 relays of the relay board are not activated but the leds are light on (partially) I think that there isn’ta sufficient current in order to activate all relay at the same time…
On the same machine (there is only the raspi OS) with the Rich’s sprinklers_pi i don’t have this issue…
loop_1ParticipantAh! now i understand… i hope!
I do this:
void OpenSprinkler::begin() {
pinMode(GPIO17, OUTPUT); // pump
digitalWrite(GPIO17, LOW);
pinMode(GPIO18, OUTPUT); // sprinkler 1
digitalWrite(GPIO18, LOW);
pinMode(GPIO22, OUTPUT); // sprinkler 2
digitalWrite(GPIO22, LOW);
pinMode(GPIO27, OUTPUT); // sprinkler 3
digitalWrite(GPIO27, LOW);
// shift register setup
// pinMode(PIN_SR_OE, OUTPUT);
// pull shift register OE high to disable output
// digitalWrite(PIN_SR_OE, HIGH);
// pinMode(PIN_SR_LATCH, OUTPUT);
// digitalWrite(PIN_SR_LATCH, HIGH);
// pinMode(PIN_SR_CLOCK, OUTPUT);
// pinMode(PIN_SR_DATA, OUTPUT);
// Reset all stations
clear_all_station_bits();
apply_all_station_bits();
// pull shift register OE low to enable output
// digitalWrite(PIN_SR_OE, LOW);
// Rain sensor port set up
pinMode(PIN_RAINSENSOR, INPUT);
#if defined(ARDUINO)
digitalWrite(PIN_RAINSENSOR, HIGH); // enabled internal pullup
…….. continue
and:
void OpenSprinkler::apply_all_station_bits() {
byte brd_bits = station_bits[0]; // brd_bits stores the status of the first 8 stations, i.e. those on the main controller
digitalWrite(GPIO17, brd_bits & 0x01); // assigns the status of the first station to GPIO17 for the pump
digitalWrite(GPIO18, (brd_bits >> 1) & 0x01); // first station to GPIO18
digitalWrite(GPIO22, (brd_bits >> 2) & 0x01); // second station to GPIO22
digitalWrite(GPIO27, (brd_bits >> 3) & 0x01); // third station to GPIO27
// digitalWrite(PIN_SR_LATCH, LOW);
// byte bid, s, sbits;
// Shift out all station bit values
// from the highest bit to the lowest
// for(bid=0;bid<=MAX_EXT_BOARDS;bid++) {
// if (status.enabled)
// sbits = station_bits[MAX_EXT_BOARDS-bid];
// else
// sbits = 0;
// for(s=0;s<8;s++) {
// digitalWrite(PIN_SR_CLOCK, LOW);
// digitalWrite(PIN_SR_DATA, (sbits & ((byte)1<<(7-s))) ? HIGH : LOW );
// digitalWrite(PIN_SR_CLOCK, HIGH);
// }
// }
// digitalWrite(PIN_SR_LATCH, HIGH);
}
But i have a lot of problems…
In first, all the relays of the relay board are partial activated (a low light led but the relay don’t active) before to start Opensprinkler….
After the start, i have the sprinkler 1 and 2 always active and the third intermittent any command on the web interface changes anything…
I think that i make some mistakes….
loop_1Participant🙂
ok the parts to change are this:
____________________________________________________________________
void OpenSprinkler::begin() {
// shift register setup
pinMode(PIN_SR_OE, OUTPUT);
// pull shift register OE high to disable output
digitalWrite(PIN_SR_OE, HIGH);
pinMode(PIN_SR_LATCH, OUTPUT);
digitalWrite(PIN_SR_LATCH, HIGH);
pinMode(PIN_SR_CLOCK, OUTPUT);
pinMode(PIN_SR_DATA, OUTPUT);
// Reset all stations
clear_all_station_bits();
apply_all_station_bits();
// pull shift register OE low to enable output
digitalWrite(PIN_SR_OE, LOW);
// Rain sensor port set up
pinMode(PIN_RAINSENSOR, INPUT);
____________________________________________________________________
and this:
____________________________________________________________________
// Apply all station bits
// !!! This will activate/deactivate valves !!!
void OpenSprinkler::apply_all_station_bits() {
digitalWrite(PIN_SR_LATCH, LOW);
byte bid, s, sbits;
// Shift out all station bit values
// from the highest bit to the lowest
for(bid=0;bid<=MAX_EXT_BOARDS;bid++) {
if (status.enabled)
sbits = station_bits[MAX_EXT_BOARDS-bid];
else
sbits = 0;
for(s=0;s<8;s++) {
digitalWrite(PIN_SR_CLOCK, LOW);
digitalWrite(PIN_SR_DATA, (sbits & ((byte)1<<(7-s))) ? HIGH : LOW );
digitalWrite(PIN_SR_CLOCK, HIGH);
}
}
digitalWrite(PIN_SR_LATCH, HIGH);
____________________________________________________________________
but i don’t undestand the function of pins PIN_SR_LATCH and PIN_SR_OE that i think to change with my pin outputs that are GPIO 17 (main pump) and GPIO18, GPIO22 and GPIO27 for the three zones. The pins PIN_SR_DATA and PIN_SR_CLOCK are for serial communication with the opensprinkler board, i think…
loop_1Participantthanks Ray but also if i have only 3 stations + pump, this procedure is too diffucult for me!
Thanks Dan for the suggestion, but i see that the relay board is only for python interval program i would like to try the new firmware.
loop_1Participantoh yes! This night i have tried the unified firmware but i use a relay borad and there is non compatibility with it…
I hope in the new plugins! 🙂
loop_1Participantbut if i use the Rich Zimmerman’s sprinklers_pi program i can’t use the iOS app, it’s correct?
Or there is also the possibility to use the iOS app?
March 1, 2015 at 5:49 am in reply to: sprinklers_pi – An alternative sprinkler control program #35746
loop_1ParticipantHI!
i’ve tried to install sprinklers_pi over an emoncms machine but i have some issues…
if i try to see the site the page don’t respond and if i see the log
2015/03/01 10:37:46 Starting v1.0.7..
2015/03/01 10:37:46 Reseting EEPROM
2015/03/01 10:37:46 Prepare Failure (no such table: versions)
2015/03/01 10:37:46 Turning Off All Zones
2015/03/01 10:37:46 Listening on Port 8080
2015/03/01 10:37:46 Turning Off All Zonesi think that there are some problem with sql3lite… anyone have this problem?
any conflict with mysql used by emoncms?Thanks a lot!
-
AuthorPosts