This commit is contained in:
2024-05-23 21:24:52 +02:00
commit a3efe8274b
166 changed files with 15713 additions and 0 deletions

169
mcu-eworkbench.yaml Normal file
View File

@@ -0,0 +1,169 @@
substitutions:
device: eworkbench
name: Electronics Workbench
comment: "Office R: Electronics Workbench"
esphome:
name: mcu-${device}
comment: ${comment}
platformio_options:
board_build.flash_mode: dio
esp32:
board: esp32-c3-devkitm-1
variant: esp32c3
framework:
type: esp-idf
version: 5.1.2
platform_version: 6.5.0
packages:
common: !include common/common.yaml
# GPIO20 UART RX, LOGGER
# GPIO21 UART TX, LOGGER
# GPIO9 GPIO
#
# GPIO0 I2C SCL
# GPIO1 I2C SDA
# GPIO2 RGB
# GPIO1 BUTTON
# GPIO4 GPIO
# GPIO5 GPIO
# GPIO6 GPIO
# GPIO7 GPIO
# GPIO8 GPIO
# GPIO10 GPIO
# GPIO18 UART RX
# GPIO19 UART TX
i2c:
- id: i2c_grove
sda: 1
scl: 0
scan: true
uart:
- id: uart_log
rx_pin: 20
tx_pin: 21
baud_rate: 115200
- id: uart_hdmi_switch
rx_pin: 18
tx_pin: 19
baud_rate: 9600
binary_sensor:
- platform: gpio
id: rotary_encoder_button
pin:
number: 6
# mode: INPUT_PULLUP
inverted: true
filters:
- delayed_on: 30ms
- delayed_off: 30ms
on_press:
- display_menu.enter:
display:
- platform: lcd_pcf8574
id: my_lcd
dimensions: 20x4
address: 0x27
user_characters:
- position: 0
data: # mark_back symbol
- 0b00100
- 0b01000
- 0b11110
- 0b01001
- 0b00101
- 0b00001
- 0b11110
- 0b00000
lambda: |-
id(my_lcd_menu).draw();
if (!id(my_lcd_menu).is_active())
it.print("Menu is not active");
lcd_menu:
id: my_lcd_menu
display_id: my_lcd
active: true
mode: rotary
mark_back: 0x08
mark_selected: 0x3e
mark_editing: 0x2a
mark_submenu: 0x7e
items:
- type: back
text: 'Back'
- type: label
text: 'Label 1'
- type: label
text: !lambda |-
return "Templated label";
select:
- platform: template
id: hdmi_switch
optimistic: true
options:
- PC1
- PC2
- PC3
- PC4
initial_option: PC1
# set_action:
# - logger.log:
# format: "Chosen option: %s (index %d)"
# args: ["x.c_str()", "i"]
# - uart.write:
# id: uart_hdmi_switch
# data: [0x47, 0x30, 0x31, 0x67, 0x41, 0x00]
sensor:
- platform: rotary_encoder
id: rotary_encoder_sensor
pin_a: 4
pin_b: 5
filters:
debounce: 30ms
on_anticlockwise:
- display_menu.up:
on_clockwise:
- display_menu.down:
time:
- platform: homeassistant
id: ha_time
timezone: Europe/Bratislava
# display:
# - platform: tm1637
# id: tm1637_display
# clk_pin: 4
# dio_pin: 5
# update_interval: 500ms
# # intensity: 0
# lambda: |-
# static int i = 0;
# i++;
# if (id(alarm_id)) {
# if ((i % 2) == 0)
# it.print("8 8 ");
# else
# it.print(" 8 8");
# } else {
# if (((i / 10) % 2) == 0) {
# //it.set_intensity(7);
# if ((i % 2) == 0)
# it.strftime("%H.%M", id(ha_time).now());
# else
# it.strftime("%H%M", id(ha_time).now());
# } else {
# //it.set_intensity(1);
# it.printf("%.0f~C", id(temperature).state);
# }
# }