From ba33b77797d8db1d79ed271f5f5c06a850834f40 Mon Sep 17 00:00:00 2001 From: Oskar Kapala Date: Fri, 31 Oct 2025 16:07:09 +0100 Subject: [PATCH] led 3x prototype --- esp32-c3-oled/led3xdrv-pro.yml | 141 +++++++++++++++++++++++++++++++++ esp32-c3-oled/notes | 0 2 files changed, 141 insertions(+) create mode 100644 esp32-c3-oled/led3xdrv-pro.yml create mode 100644 esp32-c3-oled/notes diff --git a/esp32-c3-oled/led3xdrv-pro.yml b/esp32-c3-oled/led3xdrv-pro.yml new file mode 100644 index 0000000..3c61a52 --- /dev/null +++ b/esp32-c3-oled/led3xdrv-pro.yml @@ -0,0 +1,141 @@ +esphome: + name: oled-test + friendly_name: oled test + +esp32: + board: esp32-c3-devkitm-1 + framework: + type: esp-idf + +# Enable logging +logger: + +# Enable Home Assistant API +api: + encryption: + key: "rNfuxXEaIvVuOHvYVdb4QpW8fezbbkKn3wvjkHdHGkY=" + +ota: + - platform: esphome + password: "5aa6ac416280761455b83922c266822b" + +wifi: + ssid: "Lothlorien" + password: "LitwoOjczyznoMojaTysJestJakZdrowie" + + # Enable fallback hotspot (captive portal) in case wifi connection fails + ap: + ssid: "Esp32-C3-Oled-Test" + password: "Zto2fEEcWgnS" + +captive_portal: + +web_server: + +output: + - platform: ledc + pin: GPIO4 + id: led_pwm01 + frequency: 20000 Hz # 20 kHz – bez pisku i bez migotania w kamerze + - platform: ledc + pin: GPIO3 + id: led_pwm02 + frequency: 20000 Hz # 20 kHz – bez pisku i bez migotania w kamerze + - platform: ledc + pin: GPIO10 + id: led_pwm03 + frequency: 20000 Hz # 20 kHz – bez pisku i bez migotania w kamerze + +light: + - platform: monochromatic + name: "LED PWM 1" + output: led_pwm01 + gamma_correct: 1.0 + - platform: monochromatic + name: "LED PWM 2" + output: led_pwm02 + gamma_correct: 1.0 + - platform: monochromatic + name: "LED PWM 3" + output: led_pwm03 + gamma_correct: 1.0 + +button: + - platform: restart + name: "Restart Device" + - platform: safe_mode + name: "Restart in Safe Mode" + +i2c: + id: bus_oled + sda: GPIO5 + scl: GPIO6 + frequency: 100kHz + scan: true + +# --- Czcionki do wyświetlacza (wygodne, ale możesz zmienić na swoje) --- +font: + - file: "fonts/Roboto-Regular.ttf" + id: f12 + size: 8 + - file: "fonts/Roboto-Bold.ttf" + id: f20 + size: 11 + +# --- Przydatne sensory do pokazania na ekranie --- +sensor: + - platform: wifi_signal + name: "WiFi RSSI" + id: wifi_rssi + update_interval: 30s + + - platform: uptime + name: "Uptime (s)" + id: uptime_s + update_interval: 60s + +text_sensor: + - platform: wifi_info + ip_address: + name: "IP" + id: ip_addr + ssid: + name: "SSID" + id: wifi_ssid + +# --- Przycisk BOOT (ten „użytkowy”; RESET/EN nie da się odczytać) --- +binary_sensor: + - platform: gpio + pin: + number: GPIO9 # BOOT na większości C3 + mode: INPUT_PULLUP + inverted: true + name: "BOOT Button" + id: btn_boot + - platform: gpio + pin: + number: GPIO7 + mode: + input: true + pullup: false + pulldown: true + name: "Czujnik ruchu SR505" + device_class: motion + filters: + - delayed_off: 2s + +# --- Wyświetlacz OLED --- +display: + - platform: ssd1306_i2c + model: "SSD1306 72x40" + address: 0x3C + rotation: 0 + i2c_id: bus_oled # <- to jest kluczowe + lambda: |- + { + if (id(ip_addr).has_state()) { + it.printf(0, 0, id(f12), "ip:%s", id(ip_addr).state.c_str()); + } else { + it.printf(0, 0, id(f12), "ip: (brak)"); + } + } diff --git a/esp32-c3-oled/notes b/esp32-c3-oled/notes new file mode 100644 index 0000000..e69de29