Werte Community,
zuerst mal vorweg, das ist mein erster Beitrag hier, bzw. anders gesagt, ich bin der Neue hier. :)
Weiters möchte ich euch bitten mit mir erbarmen zu haben, denn ich weiß nicht was ich tue. hahaha Zumindest nich bei allem.
Zu meinem Problem:
Ich habe schon lange nicht mehr programmiert, deshalb hat ein Freund mir ein bisschen geholfen. Von ihm habe ich auch den ESP 8266 D1 mini bekommen und wir haben für die Programmierung VS Code mit dem Plugin PlatformIO verwendet. Ob man damit Debuggen kann weiß ich bis dato noch nicht.
Mein Projekt funktioniert soweit so gut, nur möchte ich einen kleinen Zusatz dabei haben. Ohne diesen Zusatz ist das Ganze ziemlich lästig. Ich komme aber gleich darauf zu sprechen.
Vorab möchte ich jedoch sagen, dass durch euer prüfendes Auge der bisherige Code sicherlich besser zu schreiben ist, mir ist aber das momentan egal, hauptsache das Programm tut was es soll. Bin nämlich ein bisschen im Zeitdurck und möchte einfach das es läuft.
Nun aber zu den Einzelheiten:
Ich habe einen ESP8266 D1 mini, einen Motortreiber "Motor Driver Module BTS7960", einen Motor, zwei Schalter (keine Taster, obwohl im Programm mit Taster benannt), einen LDR und ein Poti.
Der ESP ist folgendermaßen programmiert: Über den LDR und das Poti wird ein Schwellwert festgelegt welcher bei Über oder Unerschreiten den Motor eine gewisse Zeit laufen lässt. Dieser zieht eine Klappe nach oben. Da mir aufgefallen ist, dass beim Runterlaufen die Klappe schneller unten ist wurde für die Fahrt nach unten eine kürzere Zeit eingestellt. Deshalb gibt es im Programm zwei Zeiten. Der ESP geht dann in den Schlafmodus und wacht alle Minuten einmal auf, schaut nach ob die Werte des LDR noch passen oder sich verändert haben und geht wieder schlafen. Der Schalfmodus ist einfach um Strom zu sparen, da das ganze über ein Akkupack betrieben wird. Zu erwähnen ist, dass die Zeit auf Grund von Testzwecken momentan auf 5 Sekunden eingestellt ist, später aber auf eine Minute verändert werden soll.Die beiden Schalter sind dazu da, dass die Klappe manuell hoch oder runter gefahren werden kann.
Nun kommt aber das Problem!
Der Schalter wird jedoch nur dann erkannt wenn der Controler aufwacht und der Schalter gedrückt ist. Daher möchte ich, dass durch Drücken des Schalters der Controller mittels Interrupt aufgeweckt wird, je nach Schalter entweder die Klappe nach oben oder unten gefahren wird, und danach der Controller wieder schlafen geht. Der Part mit den Interrupts ist im Code noch nicht vorhanden. Ich habe zwar schon vieles probiert, aber nichts davon funktioniert wirklich.
Könnt ihr mir hier weiterhelfen wo ich ansetzen soll?
Eines sei hier noch erwähnt, beim Controller wurde zwischen Pin D0 und Pin RST eine fixe Brücke, (also mittels Draht miteinander verbunden) gelegt. Das habe ich so im in diversen Beiträgen gelesen. Dies wird zum Schlafen bzw. Aufwecken des Controllers benötigt. Für die Programmierung des Contrllers muss ich die Brücke jedoch öffnen. Ihr wisst das aber wahrscheinlich viel besser als ich.
Im Code sind noch Textausgaben die ich zu Testzwecken verwendet habe, sollen euch aber nicht weiter stören.
Ich hoffe hier die entsprechenden Antworten zu erhalten und bedanke mich vorab recht herzlich für eure Beiträge Codeergänzungen bzw. Hinweise.
LG Christian
P.S.: Hier noch der bis dato funktionierende Code:
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 |
|
27 |
|
28 |
|
29 |
|
30 |
|
31 |
|
32 |
|
33 |
|
34 |
|
35 |
|
36 |
|
37 |
|
38 |
|
39 |
|
40 |
|
41 |
|
42 |
|
43 |
|
44 |
|
45 |
|
46 |
|
47 |
|
48 |
|
49 |
|
50 |
|
51 |
|
52 |
|
53 |
|
54 |
|
55 |
|
56 |
|
57 |
|
58 |
|
59 |
|
60 |
|
61 |
|
62 |
|
63 |
|
64 |
|
65 |
|
66 |
|
67 |
|
68 |
|
69 |
|
70 |
|
71 |
|
72 |
|
73 |
|
74 |
|
75 |
|
76 |
|
77 |
|
78 |
|
79 |
|
80 |
|
81 |
|
82 |
|
83 |
|
84 |
|
85 |
|
86 |
|
87 |
|
88 |
|
89 |
|
90 |
|
91 |
|
92 |
|
93 |
|
94 |
|
95 |
|
96 |
|
97 |
|
98 |
|
99 |
|
100 |
|
101 |
|
102 |
|
103 |
|
104 |
|
105 |
|
106 |
|
107 |
|
108 |
|
109 |
|
110 |
|
111 |
|
112 |
|
113 |
|
114 |
|
115 |
|
116 |
|
117 |
|
118 |
|
119 |
|
120 |
|
121 |
|
122 |
|
123 |
|
124 |
|
125 |
|
126 |
|
127 |
|
128 |
|
129 |
|
130 |
|
131 |
|
132 |
|
133 |
|
134 |
|
135 |
|
136 |
|
137 |
|
138 |
|