Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- esphome:
- name: lilka
- friendly_name: lilka
- on_boot:
- priority: 600
- then:
- - output.turn_on: display_power
- - delay: 100ms
- esp32:
- board: esp32-s3-devkitc-1
- framework:
- type: esp-idf
- logger:
- api:
- encryption:
- key: "Yw3yq8lxsaze+jdggjAwxKpV4GD6gNZptvw4d6OPfOc="
- ota:
- - platform: esphome
- password: "bb198feb99159fdaefc8092f10039acd"
- wifi:
- ssid: !secret wifi_ssid
- password: !secret wifi_password
- ap:
- ssid: "Lilka Fallback Hotspot"
- password: "hnYImYM4O6I0"
- captive_portal:
- # Веб-сервер
- web_server:
- port: 80
- # Увімкнення живлення дисплея
- output:
- - platform: gpio
- pin: 46
- id: display_power
- inverted: false
- # Сенсор батареї
- sensor:
- - platform: adc
- pin: GPIO3
- name: "Battery Voltage"
- id: battery_voltage
- update_interval: 10s
- attenuation: 12db
- filters:
- - multiply: 1.33
- - platform: template
- name: "Battery Level"
- id: battery_level
- unit_of_measurement: "%"
- accuracy_decimals: 0
- update_interval: 10s
- lambda: |-
- float voltage = id(battery_voltage).state;
- float percent = (voltage - 3.0) / (4.2 - 3.0) * 100.0;
- if (percent > 100) percent = 100;
- if (percent < 0) percent = 0;
- return percent;
- # SPI шина
- spi:
- clk_pin: 18
- mosi_pin: 17
- # Дисплей ST7789V
- display:
- - platform: mipi_spi
- model: ST7789V
- id: my_display
- dc_pin: 15
- cs_pin: 7
- rotation: 270
- invert_colors: false
- color_order: RGB
- pixel_mode: 16bit
- dimensions:
- width: 240
- height: 280
- offset_width: 0
- offset_height: 0
- auto_clear_enabled: false
- # LVGL - мінімальний варіант
- lvgl:
- log_level: INFO
- pages:
- - id: main_page
- widgets:
- # Заголовок
- - label:
- text: "Lilka LVGL"
- align: TOP_MID
- y: 20
- # Батарея
- - label:
- id: battery_label
- text: "Battery: --"
- align: TOP_MID
- y: 50
- # Текст по центру
- - label:
- text: "LVGL Works!"
- align: CENTER
- # Кнопки керування - БЕЗ lvgl дій поки що
- binary_sensor:
- - platform: gpio
- pin:
- number: 38
- mode: INPUT_PULLUP
- inverted: true
- name: "Button Up"
- id: button_up
- filters:
- - delayed_on_off: 50ms
- - platform: gpio
- pin:
- number: 41
- mode: INPUT_PULLUP
- inverted: true
- name: "Button Down"
- id: button_down
- filters:
- - delayed_on_off: 50ms
- - platform: gpio
- pin:
- number: 39
- mode: INPUT_PULLUP
- inverted: true
- name: "Button Left"
- id: button_left
- filters:
- - delayed_on_off: 50ms
- - platform: gpio
- pin:
- number: 40
- mode: INPUT_PULLUP
- inverted: true
- name: "Button Right"
- id: button_right
- filters:
- - delayed_on_off: 50ms
- - platform: gpio
- pin:
- number: 5
- mode: INPUT_PULLUP
- inverted: true
- name: "Button A"
- id: button_a
- filters:
- - delayed_on_off: 50ms
- - platform: gpio
- pin:
- number: 6
- mode: INPUT_PULLUP
- inverted: true
- name: "Button B"
- id: button_b
- filters:
- - delayed_on_off: 50ms
- - platform: gpio
- pin:
- number: 10
- mode: INPUT_PULLUP
- inverted: true
- name: "Button C"
- id: button_c
- filters:
- - delayed_on_off: 50ms
- - platform: gpio
- pin:
- number: 9
- mode: INPUT_PULLUP
- inverted: true
- name: "Button D"
- id: button_d
- filters:
- - delayed_on_off: 50ms
- - platform: gpio
- pin:
- number: 4
- mode: INPUT_PULLUP
- inverted: true
- name: "Button Start"
- id: button_start
- filters:
- - delayed_on_off: 50ms
- - platform: gpio
- pin:
- number: 0
- mode: INPUT_PULLUP
- inverted: true
- name: "Button Select"
- id: button_select
- filters:
- - delayed_on_off: 50ms
- # Оновлення батареї
- interval:
- - interval: 5s
- then:
- - lvgl.label.update:
- id: battery_label
- text: !lambda |-
- return std::string("Battery: ") + to_string((int)id(battery_level).state) + "%";
Advertisement
Add Comment
Please, Sign In to add comment