Sketch für ESP8266 16 Relay

es ist eigentlich kein ESP32 spezifischer Code drinnen.
Aber du musst dir sowieso ansehen ob die Pins stimmen und wie es dann schlussendlich mit LOW active / HIGH active aussieht ...

Ich habe den vorherigen Beitrag noch mal korrigiert. Die LED sollen nur so lange an sein, wie auch der Taster gedrückt wird.

Das mit den Schieberegistern, wird für mir mich schon ne sehr komplexe Kiste.
Ich glaub bei dem Projekt bin ich voll auf euch angewiesen.

das kannst von my_xy_projekt übernehmen oder nachlesen im IDE Beispiel State Change Detection. Wokwi hab ich aktualisiert.

wobei das Ganze schon "äußerst merkwürdig" ist wenn man einen Shelly braucht um einen ESP anzusteuern,... wozu hat man einen ESP...

1 Like

Der Shelly ist durch die Shelly Cloud erreichbar.
Allgemein laufen alles Sachen bei mir über Shelly.

Im iobroker, habe ich dann noch kleine einfache Regeln um die Shelly zu steuern.

Je simpler die Sache ist, je besser ist es sind Defekte Teile auch austauschbar.

Für Kenner ist es vermutlich einfacher einen Sketch zu schreiben und des ESP8266 ins Netz mit zu integrieren. Ich möchte die Freundlichkeit von euch nicht überstrapazieren. Und zum Anderen ist der rolierende Schaltzustand eventuell auch für andere interessant, die so ein Gardena 6 fach Wasserverteiler durch Magnetventile ersetzen wollen....

Megagenial. Dein Sketch funktioniert genau so wie ich es möchte. !!!!!!!

d.h. die Shiftregister Pins passen so?

An welchem PIN hast du nun den Shelly vorgesehen?

Wärst du bereit am Abend noch mal einen komplett neuen Sketch von mir mit echter HW auszuprobieren?

Sehr sehr sehr gern. Aber die Karte ist erst bestellt, kommt in ca. 14Tagen.

Ich bin total begeistert, wie das mit der Visualisierung klappt. Und wie Hilfsbereit hier mit Fakten geliefert wird. Und nicht alles tot gequatscht.

Megatoll! "Da bekomm ich gleich Pipi in den Augen"

Pin, egal, kannst du mir gern vorgeben....

Bedenke, das auf dem relaisboard 2 Schieberegister drauf sind.
Ich hatte zum Frühstück auch schon angefangen, meinen von gestern um das bitschieben zu erweitern - aber ihr macht das schon :wink:

@luigi78 Erklär nochmal kurz die Geschichte mit der LED. Ich bin verwirrt :thinking:

Die LED ist letztlich das Relais auf der Platine was anziehen wird.

Wenn der Taster gedrückt und gehalten wird soll die LED/Relais so lange angezogen sein, bis der Taster los gelassen wird.

Und bei der nächsten Taster Betätigung und gedrückt halten, dann das nöchste Relais/LED angezogen und für die Dauer der TasterBetätigung gehalten wird.

Es soll immer nur 1 Relais angezogen sein.

Quasie so wie es noiasca virtuell umgesetzt hat, ist es wie es für mich reichen würde.

Natürlich wäre dein vorgeschlagener Reset an den Anfang nach einer bestimmten Zeit ein gutes Feature, Eventuell sogar der Reset zum Anfang über einen Taster als nächste Option.

Aber ich bin schon froh wenn dies hier funktioniert.

Also mein Sketch oben zieht das Relais an, sobald der Eingangspin ausgelöst ist.
Dann musst der Eingangspin wieder freigegeben sein.
Es fällt ab, wenn der Eingangspin ein zweites Mal ausgelöst ist.
Und schaltet damit das nächste Relais ein.
Vergisst Du das Relais auszuschalten ist es kein Problem, denn nach 4 Stunden kommt automatisch der reset.
Villeicht kann @noiasca das mit 2 oder 3 LED in die Simu für den UNO ziehen; Und den reset auf 10 Minuten stellen :grinning: Ich kann das nicht (und will es auch nicht...)

ich würde erst weitere Zeit investieren wenn das Board da ist ... :wink:
(kämpfe momentan an anderer Baustelle...)

Ich werde es hoffentlich bald auf dem Board probieren können.

Danke euch beiden für die Umsetzung und Input.

Board ist da. Mein erstes Ziel wird sein die Pfostenleiste daran zu löten und dann den Sketch erst mal hochzuladen. Wenn das funktioniert schau ich nach nen passenden Eingangsport für den Shelly.


Es geht!!! Danke

ich nutze noiasca´s sketch.

Den Button habe ich bei dem Board auf IO16 gelegt.

const uint8_t buttonPin = 16; // a button

Das Board kommt nicht sofort zum Einsatz, wenn ich noch ein paar Tests mit neuen sketchen probieren soll gern.....

als nächstes werde ich wohl versuchen, den PIN16 per Masse zu schalten, da hab ich glaube was gefunden....

ich glaube hier wurde das Thema auch schon angegangen....
16xRelay with ESP12F Onboard and two Shift Register (74HC595) - ESPHome - Home Assistant Community (home-assistant.io)

Projekt Masse Schaltung über INPUT_PULLUP läuft nicht so wie gedacht, wird erst mal at akta gelegt.

zum funktionierenden Code:
ABER, wenn beim aktivieren des Boards, zufällig der input Button gedrückt ist, schalten alle 16 Relais auf ON, --> dieser Fall ist zwar äußerst selten, aber kann dennoch passieren. Kann man dies noch deaktivieren?

genau das kann ich nicht nachvollziehen.
Weder rein vom Code her, noch wenn ich in der Simulation statt dem Button einen Schalter nehme und dafür sorge dass der Schalter beim "starten" bereits ein ist:

irgendwas ist also bei dir anders. Entweder die Verkabelung und/oder der Code...

Ich meine den Zusatand. Board ist komplett stromlos. (Es ist ein 5V Board)

Pin16 ist gedrückt.

Board wird mit 5V versorgt und bootet und genau dabei gehen alle LED (Relais) an.

Wenn ich Pin16 kurz öffne und wieder schließe, ist alles normal, sprich, eines von den Relais ist wird angezogen....

Schaltplan bitte von deiner Pin16 Beschaltung.
plus Echtbild.
Und dein aktueller Code.

Genau deine Schaltung. Nur statt PIN19 nehme ich PIN16 als Schalter.