Forum Replies Created
-
AuthorPosts
-
May 8, 2023 at 9:46 am in reply to: Change Firmware to control stations directly via GPIO pins (relays) #75575
TobascoParticipant@vamp
You may also consider to use a simple shift register as a port expander like I did in this project branch
https://github.com/ThFischer/OpenSprinkler-for-ESP12F_Relay_X4/tree/NODEMCU_74HC595/NodeMCU-74HC595#readmeJust search for NODEMCU_74HC595 in the source code to see the necessary changes
salute
ThomasMay 2, 2023 at 3:51 pm in reply to: Change Firmware to control stations directly via GPIO pins (relays) #75503
TobascoParticipantHi @Ray,
it’s time to say “Thank you” for sharing your generally work on OpenSprinkler and for sharing this effort as open source/hardware.It brought me back to my 40 years ago roots of hardware tinkering and was a big benefit!
salute
ThomasApril 26, 2023 at 8:56 am in reply to: Change Firmware to control stations directly via GPIO pins (relays) #75428
TobascoParticipantHi StudioShemp,
good job!Since I mentioned in my repo some hardware related things (DS1307 changes, snubber, antenna improvements) which may also valid for people who visit your repo, it may be better to set a link to my repo in your README.md
salute
ThomasMarch 30, 2023 at 9:04 am in reply to: Change Firmware to control stations directly via GPIO pins (relays) #75134
TobascoParticipant@Vamp
… and also check, which GPIOs OpenSprinkler is using.
None of them must collide with the GPIO usage on your “ESP12F_Relay_X8” board!
The GPIO allocation of your board is shown at https://templates.blakadder.com/ESP12F_Relay_X8.htmlsalute
ThomasMarch 30, 2023 at 8:56 am in reply to: Change Firmware to control stations directly via GPIO pins (relays) #75133
TobascoParticipant@Vamp
> So not need to change any other line in this file or any other, right?It depends on how the other GPIOs are connected on your “ESP12F_Relay_X8” board!
Just check all my changes by searching for “#ifdef ESP12F_RELAY_X4”
For example I changed
– “V2_PIN_BUTTON_3” from “IOEXP_PIN+12” to “15”
– “V2_PIN_RFTX” from “15” to “IOEXP_PIN+12”See also my change in gpio.cpp at “if (BUTTON_3_PULLDOWN && pin == PIN_BUTTON_3) {”
salute
ThomasMarch 30, 2023 at 5:08 am in reply to: Change Firmware to control stations directly via GPIO pins (relays) #75130
TobascoParticipantHi Vamp
> I think that try this FW on 8 relay board. If i change this, is enough?Looks good for me (if your GPIOs are correct).
salute
ThomasSeptember 22, 2022 at 12:35 pm in reply to: Change Firmware to control stations directly via GPIO pins (relays) #73970
TobascoParticipantGood choice!
A Raspberry PI is kind of oversized just to run Opensprinkler.There is also another branch where I used a normal NodeMCU Lua Lolin V3 and a 8Ch Relay board:
https://github.com/ThFischer/OpenSprinkler-for-ESP12F_Relay_X4/tree/NODEMCU_74HC595/NodeMCU-74HC595#readmeSeptember 22, 2022 at 12:25 pm in reply to: Change Firmware to control stations directly via GPIO pins (relays) #73968
TobascoParticipantHo Gompka,
it’s in the fileOpenSprinkler.cpp
, just search forvoid OpenSprinkler::apply_all_station_bits() {
You can find a fully working variant for the ESP8266 WIFI 4 Channels Relay Module on my Github account (with more information about the hardware setup):
https://github.com/ThFischer/OpenSprinkler-for-ESP12F_Relay_X4#readmesalute & happy engineering
ThomasMarch 15, 2021 at 11:00 am in reply to: Change Firmware to control stations directly via GPIO pins (relays) #69440
TobascoParticipantHi,
I solved my problem by replacingapply_all_station_bits()
with custom code to control the GPIO pins for the relays:void OpenSprinkler::apply_all_station_bits() { const uint8_t stationGPIO[] = {16, 14, 12, 13}; for (uint8_t i = 0; i < 4; i++) { pinMode(stationGPIO[i], OUTPUT); digitalWrite(stationGPIO[i], station_bits[0] & 1 << i ? HIGH : LOW); } }
salute
Thomas
TobascoParticipantHi Ray,
thanks for the quick response!I found the AO3400 in the circuit diagram on GitHub but not a AO3407. Instead an AO3401 is present.
Should I anyhow use the AO3407?
salute
Thomas -
AuthorPosts