Windrichtung 8 Sektoren pot.-frei

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

hummell
Beiträge: 52
Registriert: 08.03.2019, 12:17
Hat sich bedankt: 7 Mal
Danksagung erhalten: 2 Mal

Re: Windrichtung 8 Sektoren pot.-frei

Beitrag von hummell » 07.02.2021, 11:53

Irgendwie ist das alles komisch.
hab das jetzt so aufgebaut und die LED glimmt ohne das ich irgendwas gemacht habe.
Aber es passiert einfach nichts, egal was ich mache.

Der "T" scheint wohn eine andere Bauform zu sein https://www.digchip.com/datasheets/part ... 4T-pdf.php
Aber da kenn ich mich wieder zu wenig aus.
Ich habe aber auch nirgends nur einen PCF8574 gefunden immer nur mit einem Buchstaben (N, AN, P, etc)
https://www.reichelt.de/index.html?ACTI ... &q=pcf8574
Ein Breakout-Board schon gar nicht. :-(

Kann es sein, dass der Mini Pro defekt ist?

jp112sdl
Beiträge: 12084
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: Windrichtung 8 Sektoren pot.-frei

Beitrag von jp112sdl » 07.02.2021, 12:14

hummell hat geschrieben:
07.02.2021, 11:53
und die LED glimmt ohne das ich irgendwas gemacht habe.
Welche LED?

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

hummell
Beiträge: 52
Registriert: 08.03.2019, 12:17
Hat sich bedankt: 7 Mal
Danksagung erhalten: 2 Mal

Re: Windrichtung 8 Sektoren pot.-frei

Beitrag von hummell » 07.02.2021, 18:44

https://github.com/xreef/PCF8574_library
ganz unten auf der Seite die Beispielschaltung.

jp112sdl
Beiträge: 12084
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: Windrichtung 8 Sektoren pot.-frei

Beitrag von jp112sdl » 07.02.2021, 19:19

Kann schon sein, dass die LED glimmt, wenn der Pin noch nicht als OUTPUT bzw State LOW definiert wurde

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

hummell
Beiträge: 52
Registriert: 08.03.2019, 12:17
Hat sich bedankt: 7 Mal
Danksagung erhalten: 2 Mal

Re: Windrichtung 8 Sektoren pot.-frei

Beitrag von hummell » 11.02.2021, 20:09

Guten Abend,

ich bin jetzt ein Schritt weiter...
Ich habe mir jetzt nochmal einen neuen Mini Pro bestellt, sowie
einen PCF8574 P (als Chip)
Wenn ich jetzt das Programm ReadValue laufen lasse, dann kommt zum Start des SM
folgendes:

Init pcf8574...OK
START
READ VALUE FROM PCF P1: 1 - 1 - 1 - 0

Je nachdem ob ich jetzt P1 oder P2 nehme, ändern sich oben die Bits.
Aber ich muss den SM immer wieder erneut öffnen, sonst ändert sich nichts.

Wenn ich wieder das Breakout-Board nehme, dann kommt immer nur:
Init pcf8574...OK
START

Bei deinem Testsketch_Wdir kommt aber trotzdem noch nichts an.

Ich bekomme am Wochenende noch einen PCF8574 N. Diesen werde ich dann auch nochmal testen und mich wieder melden.

Grüße Seb

jp112sdl
Beiträge: 12084
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: Windrichtung 8 Sektoren pot.-frei

Beitrag von jp112sdl » 11.02.2021, 20:13

hummell hat geschrieben:
11.02.2021, 20:09
Testsketch_Wdir
Welcher Testsketch?
hummell hat geschrieben:
11.02.2021, 20:09
enn ich jetzt das Programm ReadValue laufen lasse, dann kommt zum Start des SM
folgendes:

Init pcf8574...OK
START
READ VALUE FROM PCF P1: 1 - 1 - 1 - 0
Sieht doch gut aus.
Dann sollte jetzt alles klappen.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

hummell
Beiträge: 52
Registriert: 08.03.2019, 12:17
Hat sich bedankt: 7 Mal
Danksagung erhalten: 2 Mal

Re: Windrichtung 8 Sektoren pot.-frei

Beitrag von hummell » 11.02.2021, 21:26

Dieser Sketch...
jp112sdl hat geschrieben:
29.01.2021, 15:51
Der Sketch sieht ok aus.
Fangen wir mal mit einer einfachen Übung, bzw einem einfachen Testsketch an:

Code: Alles auswählen

#include <PCF8574.h>


template <uint8_t ADDRESS=0x20>
class PCF8574_WindDir {
  private:
  PCF8574 pcf8574;
  public:
    PCF8574_WindDir () : pcf8574(ADDRESS) {}

    void init () {
      for (uint8_t i = 0; i < 8; i++) 
        pcf8574.pinMode(i, INPUT);
        
      pcf8574.begin();  

    }

    uint8_t winddirValue(bool asIndex = false) {
      PCF8574::DigitalInput state = pcf8574.digitalReadAll();

      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;
    }    
};

PCF8574_WindDir<0x20> pcf;

void setup() {
  Serial.begin(57600);
  Serial.println();
  pcf.init();
}

void loop() {
  delay(500);
  uint8_t winddir = pcf.winddirValue();
  Serial.println("winddir="+String(winddir));
}
Hier wird jetzt alle 500ms die Windrichtung ausgegeben.
Ändert sich denn hier was, wenn du die Pins mal gegen GND / VCC verbindest?
Und es geht bei mir auch nur gegen GND im „ReadValue“ Sketch.

jp112sdl
Beiträge: 12084
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: Windrichtung 8 Sektoren pot.-frei

Beitrag von jp112sdl » 11.02.2021, 21:28

Und bei dem Sketch von mir hast du auch mal Adresse 0x38 probiert?

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

hummell
Beiträge: 52
Registriert: 08.03.2019, 12:17
Hat sich bedankt: 7 Mal
Danksagung erhalten: 2 Mal

Re: Windrichtung 8 Sektoren pot.-frei

Beitrag von hummell » 11.02.2021, 21:38

Nein, nur mit Adresse 20.
Hatte den Chip auch vorher extra nochmal mit dem Scanner ausgelesen, damit die Adresse stimmt.

jp112sdl
Beiträge: 12084
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: Windrichtung 8 Sektoren pot.-frei

Beitrag von jp112sdl » 11.02.2021, 21:46

hummell hat geschrieben:
11.02.2021, 20:09
Bei deinem Testsketch_Wdir kommt aber trotzdem noch nichts an.
Hmm... tja, ist recht mühselig voranzukommen...
"Kommt nichts an" heißt... gar keine Ausgabe? Oder immer der selbe Wert? Wenn ja welcher?

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“