Windrichtung 8 Sektoren pot.-frei
Moderator: Co-Administratoren
-
- Beiträge: 52
- Registriert: 08.03.2019, 12:17
- Hat sich bedankt: 7 Mal
- Danksagung erhalten: 2 Mal
Re: Windrichtung 8 Sektoren pot.-frei
Widerstände sind verbunden
Wenn ich jetzt gegen GND Taste kommen die Windrichtungen.
P0 winddir=0
P1 winddir=15
P2 winddir=30
P3 winddir=45
P4 winddir=60
P5 winddir=75
P6 winddir=90
P7 winddir=105
Wenn ich nicht Taste, dann immer "winddir=0"
Wenn ich jetzt gegen GND Taste kommen die Windrichtungen.
P0 winddir=0
P1 winddir=15
P2 winddir=30
P3 winddir=45
P4 winddir=60
P5 winddir=75
P6 winddir=90
P7 winddir=105
Wenn ich nicht Taste, dann immer "winddir=0"
-
- Beiträge: 12108
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 848 Mal
- Danksagung erhalten: 2148 Mal
- Kontaktdaten:
Re: Windrichtung 8 Sektoren pot.-frei
Na dann ist es doch jetzt perfekt, oder?
Dein Windrichtungssensor legt ja immer nur jeweils einen Kontakt auf GND
Dein Windrichtungssensor legt ja immer nur jeweils einen Kontakt auf GND
-
- Beiträge: 52
- Registriert: 08.03.2019, 12:17
- Hat sich bedankt: 7 Mal
- Danksagung erhalten: 2 Mal
Re: Windrichtung 8 Sektoren pot.-frei
klingt gut.
würdest du mir den Hauptsketch den du mir geschrieben hast noch anpassen? Dann spiele ich es einmal komplett rein und teste es an der CCU.
https://github.com/jp112sdl/HB-UNI-Sen- ... 74_winddir
Vielen Dank
würdest du mir den Hauptsketch den du mir geschrieben hast noch anpassen? Dann spiele ich es einmal komplett rein und teste es an der CCU.
https://github.com/jp112sdl/HB-UNI-Sen- ... 74_winddir
Vielen Dank
-
- Beiträge: 12108
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 848 Mal
- Danksagung erhalten: 2148 Mal
- Kontaktdaten:
Re: Windrichtung 8 Sektoren pot.-frei
Du brauchst ja nur
durch
ersetzen
Code: Alles auswählen
uint8_t winddirValue(bool asIndex = false) {
PCF8574::DigitalInput state = pcf8574.digitalReadAll();
//DPRINT(F("state="));DHEXLN(state);
if (state.p0) return asIndex ? 0 : 0;
if (state.p1) return asIndex ? 1 : 15;
if (state.p2) return asIndex ? 2 : 30;
if (state.p3) return asIndex ? 3 : 45;
if (state.p4) return asIndex ? 4 : 60;
if (state.p5) return asIndex ? 5 : 75;
if (state.p6) return asIndex ? 6 : 90;
if (state.p7) return asIndex ? 7 : 105;
return 0;
}
Code: Alles auswählen
uint8_t winddirValue(bool asIndex = false) {
if (pcf8574.digitalRead(P0) == 0) return asIndex ? 0 : 0;
if (pcf8574.digitalRead(P1) == 0) return asIndex ? 1 : 15;
if (pcf8574.digitalRead(P2) == 0) return asIndex ? 2 : 30;
if (pcf8574.digitalRead(P3) == 0) return asIndex ? 3 : 45;
if (pcf8574.digitalRead(P4) == 0) return asIndex ? 4 : 60;
if (pcf8574.digitalRead(P5) == 0) return asIndex ? 5 : 75;
if (pcf8574.digitalRead(P6) == 0) return asIndex ? 6 : 90;
if (pcf8574.digitalRead(P7) == 0) return asIndex ? 7 : 105;
return 0;
}
-
- Beiträge: 12108
- Registriert: 20.11.2016, 20:01
- Hat sich bedankt: 848 Mal
- Danksagung erhalten: 2148 Mal
- Kontaktdaten:
-
- Beiträge: 52
- Registriert: 08.03.2019, 12:17
- Hat sich bedankt: 7 Mal
- Danksagung erhalten: 2 Mal
Re: Windrichtung 8 Sektoren pot.-frei
Zum Abschluss dieses Themas
Läuft einwandfrei
Die Sensorbox wurde etwas optimiert und die Qualitäten eines 3D-Druckers ausgenutzt. Material: transparentes PETG
Anbei ein paar Impressionen.
VIELEN DANK nochmal an Jérome
Ich wünsche euch allen schöne Ostern und bleibt gesund
Grüße
Seb
Läuft einwandfrei
Die Sensorbox wurde etwas optimiert und die Qualitäten eines 3D-Druckers ausgenutzt. Material: transparentes PETG
Anbei ein paar Impressionen.
VIELEN DANK nochmal an Jérome
Ich wünsche euch allen schöne Ostern und bleibt gesund
Grüße
Seb