From 280c5ea97c2413e9dd352ba487d3f402fed0d665 Mon Sep 17 00:00:00 2001 From: "DESKTOP-PUHFO60\\dsx2016" Date: Fri, 23 Oct 2026 12:46:31 +0800 Subject: [PATCH] Fix tactile switch wiring: GPIO22 to GND, show live pin level. Clarify 4-pin foot pairing and debounce for bare pushbutton. Co-authored-by: Cursor --- README.md | 31 +++++++++++------- firmware/cyd/VERSION.txt | 4 +-- firmware/cyd/firmware.bin | Bin 583264 -> 583648 bytes include/button.h | 2 ++ include/pins.h | 2 +- src/button.cpp | 66 ++++++++++++++++++++++---------------- src/main.cpp | 20 ++++++------ src/ui.cpp | 29 ++++++++++++----- 8 files changed, 94 insertions(+), 60 deletions(-) diff --git a/README.md b/README.md index c22e7de..b7a70cd 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,32 @@ -# 按钮计数(CYD) +# 轻触开关计数(CYD) -触控 + LVGL 参考 `hw269test` / `tftest`。GPIO22 读按钮:每按一次,屏幕计数 +1。 +触控 + LVGL 参考 `hw269test`。GPIO22 读 **轻触带帽开关**:每按一次,屏幕计数 +1。 ## 硬件 | 项目 | 说明 | |------|------| | 板子 | CYD ESP32-2432S028R | -| 模块 | 轻触按钮 / 按键传感器(SIG 输出) | -| 信号 | **GPIO22**(内部上拉,按下为 LOW) | +| 开关 | 轻触开关(带帽),瞬时闭合 | +| 引脚 | **GPIO22** | -接线:`VCC→3.3V`,`GND→GND`,`SIG→GPIO22`。 +### 接线(重要) + +``` +GPIO22 ── 开关一脚 +GND ── 开关另一脚 +``` + +- 不要接 3.3V / VCC +- **四脚轻触**:矩形四脚中,同侧两脚内部常通;要接 **对角** 或 **能通断的一对**,不要接已经常通的那一对 +- 固件内部上拉:松开=HIGH,按下=LOW + +屏上会显示 `GPIO22: HIGH/LOW`:按下应变为 **LOW**;若一直 HIGH,多半是接线或脚对选错。 ## 操作 -- 按一下物理按钮:计数 +1 -- 屏幕显示当前计数与 PRESSED / IDLE -- 触控 **Reset**:计数清零 +- 按一下开关:计数 +1 +- 触控 **Reset**:清零 ## 构建 @@ -24,12 +34,9 @@ pio run -e cyd -t upload ``` -预编译包: +预编译: ```powershell cd firmware\cyd .\flash.ps1 -# 或 .\flash.ps1 -Port COMx ``` - -更新预编译包:`.\firmware\export_from_build.ps1` diff --git a/firmware/cyd/VERSION.txt b/firmware/cyd/VERSION.txt index e94291f..de9a100 100644 --- a/firmware/cyd/VERSION.txt +++ b/firmware/cyd/VERSION.txt @@ -1,5 +1,5 @@ name: CYD Button (cyd) -git: 22a3c46 +git: 2d1d49c date: 2026-10-23 board: ESP32-2432S028R (ILI9341) features: SoftSPI touch, LVGL, button SIG on GPIO22 count+1 @@ -12,5 +12,5 @@ offsets: sha256: bootloader.bin 3D234A7471F67B013686DABD4DEE7C1FA915C9928463616A94BC9297ACF1ABF8 boot_app0.bin F94C5D786A7A8FAB06AC5D10E33BF37711A6697636DC037559EA19CC410A17F0 - firmware.bin 66E2CE73AA8F010E314CE1B9664106250DD07D92B726DEF592FE123C5FC2F88A + firmware.bin B57118B1598F34B9737625C04E1EEB6C88395C639017288D69A6AB1BEC0C633C partitions.bin 148B959CBFF1C38AA8E1D5C0BA9D612C54997B945E56A63F41223EEF650653A1 diff --git a/firmware/cyd/firmware.bin b/firmware/cyd/firmware.bin index e1bc025b5f147200829820db6ed4544d07f700e3..1a0721844b61d9bdb38e7afbd83b20c0def0eed9 100644 GIT binary patch delta 70606 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 HqsspWk)b7c delta 70444 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 diff --git a/include/button.h b/include/button.h index beefb80..7b596da 100644 --- a/include/button.h +++ b/include/button.h @@ -8,3 +8,5 @@ bool button_poll_press(); uint32_t button_count(); void button_reset_count(); bool button_is_down(); +/** 原始电平:1=HIGH,0=LOW(便于接线排查) */ +int button_raw_level(); diff --git a/include/pins.h b/include/pins.h index ae75a25..35b9c4c 100644 --- a/include/pins.h +++ b/include/pins.h @@ -10,7 +10,7 @@ #define CYD_TOUCH_CLK 25 #define CYD_TOUCH_CS 33 -// 按钮传感器 SIG → GPIO22(内部上拉,按下为 LOW) +// 轻触开关:一脚 → GPIO22,另一脚 → GND(内部上拉,按下为 LOW) #define BTN_PIN 22 #define SCREEN_WIDTH 240 diff --git a/src/button.cpp b/src/button.cpp index e7891fe..0678d5a 100644 --- a/src/button.cpp +++ b/src/button.cpp @@ -3,46 +3,56 @@ #include +// 轻触开关:一端 → GPIO22,另一端 → GND(内部上拉,按下=LOW) + static uint32_t g_count = 0; static bool g_stable_down = false; -static bool g_last_raw = false; -static uint32_t g_last_change_ms = 0; -static constexpr uint32_t DEBOUNCE_MS = 40; +static int g_stable_raw = HIGH; +static uint32_t g_change_ms = 0; +static int g_pending_raw = HIGH; +static bool g_pending = false; +static constexpr uint32_t DEBOUNCE_MS = 25; void button_init() { pinMode(BTN_PIN, INPUT_PULLUP); + delay(5); g_count = 0; - g_stable_down = false; - g_last_raw = (digitalRead(BTN_PIN) == LOW); - g_last_change_ms = millis(); - Serial.printf("Button GPIO%d INPUT_PULLUP (press=LOW)\n", BTN_PIN); + g_stable_raw = digitalRead(BTN_PIN); + g_stable_down = (g_stable_raw == LOW); + g_pending = false; + g_pending_raw = g_stable_raw; + g_change_ms = millis(); + Serial.printf("Button tactile GPIO%d pullup, idle=%s (wire other side to GND)\n", + BTN_PIN, g_stable_raw == HIGH ? "HIGH" : "LOW"); } bool button_poll_press() { - const bool raw_down = (digitalRead(BTN_PIN) == LOW); + const int raw = digitalRead(BTN_PIN); const uint32_t now = millis(); - if (raw_down != g_last_raw) { - g_last_raw = raw_down; - g_last_change_ms = now; + if (raw != g_stable_raw) { + if (!g_pending || raw != g_pending_raw) { + g_pending = true; + g_pending_raw = raw; + g_change_ms = now; + } else if ((now - g_change_ms) >= DEBOUNCE_MS) { + g_stable_raw = g_pending_raw; + g_pending = false; + const bool down = (g_stable_raw == LOW); + if (down && !g_stable_down) { + g_stable_down = true; + g_count++; + Serial.printf("Button press count=%lu raw=%d\n", (unsigned long)g_count, + g_stable_raw); + return true; + } + g_stable_down = down; + } + } else { + g_pending = false; } - if ((now - g_last_change_ms) < DEBOUNCE_MS) { - return false; - } - - if (raw_down == g_stable_down) { - return false; - } - - g_stable_down = raw_down; - if (!g_stable_down) { - return false; // 只计按下边沿 - } - - g_count++; - Serial.printf("Button press count=%lu\n", (unsigned long)g_count); - return true; + return false; } uint32_t button_count() { return g_count; } @@ -53,3 +63,5 @@ void button_reset_count() { } bool button_is_down() { return g_stable_down; } + +int button_raw_level() { return digitalRead(BTN_PIN); } diff --git a/src/main.cpp b/src/main.cpp index 86b5a26..6502bc1 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -14,7 +14,7 @@ void setup() { Serial.begin(460800); delay(200); Serial.println(); - Serial.printf("LVGL %d.%d.%d | Button sensor GPIO%d\n", lv_version_major(), + Serial.printf("LVGL %d.%d.%d | Tactile button GPIO%d\n", lv_version_major(), lv_version_minor(), lv_version_patch(), BTN_PIN); Serial.println("BOOT_OK"); @@ -39,16 +39,16 @@ void setup() { } void loop() { - if (button_poll_press()) { + const bool pressed = button_poll_press(); + + static bool last_down = false; + static int last_raw = -1; + const bool down = button_is_down(); + const int raw = button_raw_level(); + if (pressed || down != last_down || raw != last_raw) { + last_down = down; + last_raw = raw; ui_refresh_count(); - } else { - // 按下/松开时刷新状态字,但不重复计数 - static bool last_down = false; - const bool down = button_is_down(); - if (down != last_down) { - last_down = down; - ui_refresh_count(); - } } lv_timer_handler(); diff --git a/src/ui.cpp b/src/ui.cpp index a5d5e8c..ddebe01 100644 --- a/src/ui.cpp +++ b/src/ui.cpp @@ -17,6 +17,7 @@ static lv_obj_t *lbl_pin; static lv_obj_t *lbl_count; static lv_obj_t *lbl_hint; static lv_obj_t *lbl_state; +static lv_obj_t *lbl_raw; static lv_obj_t *btn_reset; static lv_obj_t *lbl_reset; @@ -39,6 +40,12 @@ void ui_refresh_count() { lv_obj_set_style_text_color(lbl_state, lv_color_hex(down ? 0x3DDC97 : COL_MUTED), 0); } + if (lbl_raw) { + const int lv = button_raw_level(); + lv_label_set_text_fmt(lbl_raw, "GPIO%d: %s", BTN_PIN, lv ? "HIGH" : "LOW"); + lv_obj_set_style_text_color(lbl_raw, + lv_color_hex(lv ? COL_MUTED : 0x3DDC97), 0); + } } static void on_reset(lv_event_t *e) { @@ -58,35 +65,41 @@ void ui_create() { lv_label_set_text(lbl_title, "Button"); lv_obj_set_style_text_color(lbl_title, lv_color_hex(COL_INK), 0); lv_obj_set_style_text_font(lbl_title, &lv_font_montserrat_28, 0); - lv_obj_align(lbl_title, LV_ALIGN_TOP_MID, 0, 6); + lv_obj_align(lbl_title, LV_ALIGN_TOP_MID, 0, 4); lbl_pin = lv_label_create(scr); - lv_label_set_text_fmt(lbl_pin, "SIG -> GPIO%d (press +1)", BTN_PIN); + lv_label_set_text_fmt(lbl_pin, "IO%d <-> switch <-> GND", BTN_PIN); lv_obj_set_style_text_color(lbl_pin, lv_color_hex(COL_MUTED), 0); lv_obj_set_style_text_font(lbl_pin, &lv_font_montserrat_14, 0); - lv_obj_align(lbl_pin, LV_ALIGN_TOP_MID, 0, 40); + lv_obj_align(lbl_pin, LV_ALIGN_TOP_MID, 0, 36); lbl_count = lv_label_create(scr); lv_label_set_text(lbl_count, "0"); lv_obj_set_style_text_color(lbl_count, lv_color_hex(COL_ACCENT), 0); lv_obj_set_style_text_font(lbl_count, &lv_font_montserrat_28, 0); - lv_obj_align(lbl_count, LV_ALIGN_TOP_MID, 0, 78); + lv_obj_align(lbl_count, LV_ALIGN_TOP_MID, 0, 68); lbl_hint = lv_label_create(scr); lv_label_set_text(lbl_hint, "count"); lv_obj_set_style_text_color(lbl_hint, lv_color_hex(COL_MUTED), 0); lv_obj_set_style_text_font(lbl_hint, &lv_font_montserrat_14, 0); - lv_obj_align(lbl_hint, LV_ALIGN_TOP_MID, 0, 116); + lv_obj_align(lbl_hint, LV_ALIGN_TOP_MID, 0, 104); lbl_state = lv_label_create(scr); lv_label_set_text(lbl_state, "IDLE"); lv_obj_set_style_text_color(lbl_state, lv_color_hex(COL_MUTED), 0); lv_obj_set_style_text_font(lbl_state, &lv_font_montserrat_20, 0); - lv_obj_align(lbl_state, LV_ALIGN_TOP_MID, 0, 142); + lv_obj_align(lbl_state, LV_ALIGN_TOP_MID, 0, 126); + + lbl_raw = lv_label_create(scr); + lv_label_set_text(lbl_raw, "GPIO22: HIGH"); + lv_obj_set_style_text_color(lbl_raw, lv_color_hex(COL_MUTED), 0); + lv_obj_set_style_text_font(lbl_raw, &lv_font_montserrat_14, 0); + lv_obj_align(lbl_raw, LV_ALIGN_TOP_MID, 0, 152); btn_reset = lv_button_create(scr); - lv_obj_set_size(btn_reset, UI_HOR_RES - 48, 48); - lv_obj_align(btn_reset, LV_ALIGN_TOP_MID, 0, 180); + lv_obj_set_size(btn_reset, UI_HOR_RES - 48, 44); + lv_obj_align(btn_reset, LV_ALIGN_TOP_MID, 0, 184); style_btn(btn_reset, COL_BTN); lv_obj_add_event_cb(btn_reset, on_reset, LV_EVENT_CLICKED, nullptr); lbl_reset = lv_label_create(btn_reset);