Witam.
Czy w ESPHOME istnieje "gotowiec" zwykłego licznika inkrementalnego? Szukałem na wszelkie mi znane sposoby, niestety nic nie znajduję. Niestety również pisanie wszelkich "dodatków" do czujników sprawia mi problemy - najzwyczajniej nie ogarniam tego. Uczę się ale mój poziom można określić jako zielony - może ciemno zielony 🙂 .
Popełniłem sobie czujnik na bazie komparatora z czujnikiem Halla (i to jako switch działa poprawnie), do tego obręcz z ośmioma magnesami. Zamontowane na wale który się obraca ok 1,1 obr/min. Chcę kontrolować ilość wykonanych obrotów w ciągu doby.
Czy mógłby mnie ktoś chociaż naprowadzić na poprawne rozwiązanie? (pulse counter - jak bym nie ustawił pokazuje wariactwa - chyba że na jego podstawie coś drążyć?)
Marcin.
Wrzuć kod jaki masz. Może coś nie tak z hardwarem jest, że wyniki głupieją.
Podpowiedź od Groka:
binary_sensor:
- platform: gpio
pin:
number: 4 # Pin GPIO dla sygnału z Halla
mode: INPUT_PULLUP # Wewnętrzny pull-up, by uniknąć szumów
inverted: true # Zależnie od czujnika – przetestuj, czy impulsy są na LOW czy HIGH
name: "Czujnik Halla"
on_press: # Opcjonalnie: loguj impulsy
then:
- logger.log: "Impuls wykryty!"
# Główny licznik impulsów
sensor:
- platform: pulse_counter
pin: 4 # Ten sam pin co wyżej
name: "Impulsy surowe"
unit_of_measurement: "impulsy"
accuracy_decimals: 0
filters:
- multiply: 60.0 / 8.0 # Przeliczenie: (imp/min) / magnesy * 60 = RPM
update_interval: 1s # Aktualizacja co 1 sekundę
internal_filter_mode: PASS
internal_filter: 200ms # Filtr na szumy (dostosuj, jeśli impulsy są krótkie)

