Arduino port expander

www
Odpovědět
koudysik
Nováček na fóru
Nováček na fóru
Příspěvky: 3
Registrován: 24. srpen 2022, 14:13
Dal poděkování: 1 poděkování

Arduino port expander

Příspěvek od koudysik »

Zdravim,
Mel bych na vás otazecku.
Neresil tady nekdo arduino port expander jak implementovat soubor (arduino_port_expander.h)do esphome aby ho to pouzivalo. Jiz jsem to prolezl a poskousel pridat. Ale nic zarovrn jsem na internetu nenasel ani moc informaci how to ..

Předem děkuji za všechny rady a pomocc.

Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 3465
Registrován: 30. září 2020, 20:33
Dal poděkování: 174 poděkování
Dostal poděkování: 373 poděkování

Re: Arduino port expander

Příspěvek od Pete30 »

Tuším že jsi pátral i na en fóru protože jsem tam stejnou otázku zahlédl a nikdo nereagoval, ale tady se o to pokusíme :lol: :D
V kořenové složce ESPhome si vytvoř složku třeba s názvem components v ní vytvoř složku třeba s názvem expander a do ní vlož arduino_port_expander.h
no a potom v konfiguraci esp xyz.yaml zadáš absolutní cestu k tomuto souboru.
Nějak takto:

Kód: Vybrat vše

esphome:
  name: xyz
  includes:
    - components/expander/arduino_port_expander.h
a to je celá ta legrace ;)
Můžeš složku components i expander vynechat a dát to rovnou do kořenu, ale já to používám pro přehlednost pokud bude komponent a souborů více můžeš si je tam sázet každý s vlastním názvem.

Jinak celé nastavení máš zde: https://esphome.io/cookbook/arduino_port_extender.html
Pokud nejsem přítomen tak jsem na rybách ;)

Uživatelský avatar
tiimsvk
Dárce - Donátor
Dárce - Donátor
Příspěvky: 835
Registrován: 06. květen 2021, 07:03
Dal poděkování: 75 poděkování
Dostal poděkování: 65 poděkování

Re: Arduino port expander

Příspěvek od tiimsvk »

Ak spravne chapem toto je modul, ktory zvýši počet gpio pinov pomocou i2c zbernice? Nieco ako ads1115 modul?

koudysik
Nováček na fóru
Nováček na fóru
Příspěvky: 3
Registrován: 24. srpen 2022, 14:13
Dal poděkování: 1 poděkování

Re: Arduino port expander

Příspěvek od koudysik »

Pete30 píše: 24. srpen 2022, 16:57 Tuším že jsi pátral i na en fóru protože jsem tam stejnou otázku zahlédl a nikdo nereagoval, ale tady se o to pokusíme :lol: :D
V kořenové složce ESPhome si vytvoř složku třeba s názvem components v ní vytvoř složku třeba s názvem expander a do ní vlož arduino_port_expander.h
no a potom v konfiguraci esp xyz.yaml zadáš absolutní cestu k tomuto souboru.
Nějak takto:

Kód: Vybrat vše

esphome:
  name: xyz
  includes:
    - components/expander/arduino_port_expander.h
a to je celá ta legrace ;)
Můžeš složku components i expander vynechat a dát to rovnou do kořenu, ale já to používám pro přehlednost pokud bude komponent a souborů více můžeš si je tam sázet každý s vlastním názvem.

Jinak celé nastavení máš zde: https://esphome.io/cookbook/arduino_port_extender.html
Uz mi na EN foru poradily. Udelal jsem chybu jelikoz soubor jsem zaclenil dobre. Jen jsem nespravne zaradil Include.

Ale ted se peru s analogy na expanderu. Jelikoz bych potreboval snimat vicero teplot typu NTC. Bohuzel se mi to nedari napsat beze chyb. Stale tomu neco vadi a nevidim duvod. S HA a ESPHome jsem nový. Holt je to jine nez programovat MCU... :D
errory jsou na 75,76 a 79

Kód: Vybrat vše

esphome:
  name: boiler-room-temperature
  includes:
    - arduino_port_expander.h

esp8266:
  board: nodemcuv2
  
# define i2c device
# for an ESP8266 SDA is D2 and goes to Arduino's A4
#                SCL is D1 and goes to Arduino's A5
i2c:
  id: i2c_component
  
# Enable logging
logger:
  level: DEBUG
  
  # define the port expander hub, here we define one with id 'expander1',
# but you can define many
custom_component:
  - id: expander1
    lambda: |-
      auto expander = new ArduinoPortExpander(i2c_component, 0x08, true);
      return {expander};

# Enable Home Assistant API
api:
  encryption:
    key: "cuVZgfpaRDRgHHiYKRpSvheDSW3bm0UwpD7Iu7nusEw="

ota:
  password: "5d97913136734448e4f4fd3fa44e12e1"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Boiler-Room-Temperature"
    password: "kWa63hmte9Rv"

captive_portal:
    
output:
- platform: custom
  type: binary
  lambda: |-
    return {ape_binary_output(expander1, 2)};
  outputs:
    - id: relay_1
      inverted: true

# connect lights to the first 2 relays
switch:
  - platform: output
    name: Tank pump
    id: tank_pump
    output: relay_1
      
      

              
# define analog sensors
sensor:
  - platform: custom
    lambda: |-
      return {ape_analog_input(expander1, 0),  // 1 = A1
              ape_analog_input(expander1, 2),
              ape_analog_input(expander1, 3),
              ape_analog_input(expander1, 6),
              ape_analog_input(expander1, 7),};
    sensors:
      - platform: ntc
        sensor: resistence_sensor
        name: NTC Temperature
        calibration:
          - 10.0kOhm -> 25°C
          - 27.219kOhm -> 0°C
          - 14.674kOhm -> 15°C
        
      - platform: resistance
        id: resistance_sensor
        sensor: source_sensor
        configuration: DOWNSTREAM
        resistor: 5.6kOhm
        name: Resistance Sensor
      - platform: adc
        id: source_sensor
        pin: analog_a1
        
    
Naposledy upravil(a) koudysik dne 26. srpen 2022, 23:32, celkem upraveno 2 x.

koudysik
Nováček na fóru
Nováček na fóru
Příspěvky: 3
Registrován: 24. srpen 2022, 14:13
Dal poděkování: 1 poděkování

Re: Arduino port expander

Příspěvek od koudysik »

tiimsvk píše: 25. srpen 2022, 10:05 Ak spravne chapem toto je modul, ktory zvýši počet gpio pinov pomocou i2c zbernice? Nieco ako ads1115 modul?
Ano, presne tak. Daji se pouzit veskere piny mimo A4 ,A5 (SCL, SDA) Presne I2C sbernice

Uživatelský avatar
tiimsvk
Dárce - Donátor
Dárce - Donátor
Příspěvky: 835
Registrován: 06. květen 2021, 07:03
Dal poděkování: 75 poděkování
Dostal poděkování: 65 poděkování

Re: Arduino port expander

Příspěvek od tiimsvk »

Tak to kupujem... lebo uz mam dva projekty kde uz nie su piny 🤣.
Daj vedieť ako si pokrocil s adc nastavenim.

Uz sa mi ale stáva ze esp nezvlada tolko pripojených zariadení... to by uz trebalo asi nejaku radu ako optimalizovat kod.

Odpovědět

Zpět na „ESPHome“