first commit
This commit is contained in:
52
labs/004_button_pullup_pulldown/README.md
Normal file
52
labs/004_button_pullup_pulldown/README.md
Normal file
@@ -0,0 +1,52 @@
|
||||
# Lab 004: Button Pull-Up / Pull-Down
|
||||
|
||||
## Goal
|
||||
|
||||
Собрать кнопку как цифровой вход ESP32 и сравнить pull-up и pull-down подходы.
|
||||
|
||||
## Required Components
|
||||
|
||||
- ESP32 dev board
|
||||
- Button, if available
|
||||
- Resistors
|
||||
- Breadboard
|
||||
- Dupont wires
|
||||
- Multimeter
|
||||
|
||||
## Expected Behavior
|
||||
|
||||
GPIO имеет стабильный уровень `0` или `1`, а при нажатии кнопки меняет состояние предсказуемо.
|
||||
|
||||
## Pre-Flight Checklist
|
||||
|
||||
- Уточнить, есть ли кнопки в наборе.
|
||||
- Выбрать безопасный GPIO.
|
||||
- Проверить, что на GPIO не попадет 5V.
|
||||
- Проверить common ground.
|
||||
- Проверить wiring до прошивки.
|
||||
|
||||
## Safety Notes
|
||||
|
||||
- ESP32 GPIO strictly 3.3V.
|
||||
- Не подключать GPIO напрямую к 5V.
|
||||
- Не оставлять input floating, если цель — стабильное чтение.
|
||||
|
||||
## Expected Measurements
|
||||
|
||||
- GPIO idle level: около 0V или 3.3V в зависимости от схемы.
|
||||
- GPIO pressed level: противоположный idle level.
|
||||
|
||||
## Actual Measurements
|
||||
|
||||
TODO: записать реальные измерения.
|
||||
|
||||
## Debugging Checklist
|
||||
|
||||
- Если input random, проверить pull-up/pull-down.
|
||||
- Если состояние не меняется, проверить button orientation.
|
||||
- Если ESP32 не boot-ится, проверить выбранный GPIO.
|
||||
- Измерить напряжение на GPIO в idle и pressed states.
|
||||
|
||||
## Conclusion
|
||||
|
||||
TODO: краткий вывод после выполнения.
|
||||
22
labs/004_button_pullup_pulldown/firmware.md
Normal file
22
labs/004_button_pullup_pulldown/firmware.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# Firmware
|
||||
|
||||
## Expected Behavior
|
||||
|
||||
- Configure GPIO as input.
|
||||
- Read button state.
|
||||
- Print state to serial or toggle LED.
|
||||
- Optional: compare external resistor with internal pull-up.
|
||||
|
||||
## Physical Test Procedure
|
||||
|
||||
1. Measure GPIO idle voltage.
|
||||
2. Press button and measure GPIO voltage.
|
||||
3. Run firmware and compare serial/LED state with measurements.
|
||||
|
||||
## Code
|
||||
|
||||
TODO: добавить firmware после выбора GPIO и workflow.
|
||||
|
||||
## Actual Result
|
||||
|
||||
TODO: записать фактическое поведение.
|
||||
21
labs/004_button_pullup_pulldown/measurements.md
Normal file
21
labs/004_button_pullup_pulldown/measurements.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# Measurements
|
||||
|
||||
## Expected Measurements
|
||||
|
||||
| State | Expected GPIO Voltage |
|
||||
| --- | --- |
|
||||
| Idle | TBD by pull-up/pull-down choice |
|
||||
| Pressed | Opposite of idle |
|
||||
|
||||
## Actual Measurements
|
||||
|
||||
TODO: добавить реальные значения.
|
||||
|
||||
| State | Actual GPIO Voltage |
|
||||
| --- | --- |
|
||||
| Idle | TBD |
|
||||
| Pressed | TBD |
|
||||
|
||||
## Observations
|
||||
|
||||
TODO: bounce, unstable readings, serial output.
|
||||
17
labs/004_button_pullup_pulldown/notes.md
Normal file
17
labs/004_button_pullup_pulldown/notes.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Notes
|
||||
|
||||
## Bugs / Surprises
|
||||
|
||||
TODO: записать floating input, bounce, wrong button orientation или boot issues.
|
||||
|
||||
## Explanation
|
||||
|
||||
TODO: объяснить pull-up/pull-down через defined default state.
|
||||
|
||||
## Conclusion
|
||||
|
||||
TODO: что стало понятно о digital input.
|
||||
|
||||
## Next Actions
|
||||
|
||||
TODO: следующий маленький шаг.
|
||||
21
labs/004_button_pullup_pulldown/schematic.md
Normal file
21
labs/004_button_pullup_pulldown/schematic.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# Schematic
|
||||
|
||||
## Pull-Down Option
|
||||
|
||||
```text
|
||||
3.3V -> button -> GPIO
|
||||
GPIO -> resistor -> GND
|
||||
ESP32 GND -> circuit GND
|
||||
```
|
||||
|
||||
## Pull-Up Option
|
||||
|
||||
```text
|
||||
3.3V -> resistor -> GPIO
|
||||
GPIO -> button -> GND
|
||||
ESP32 GND -> circuit GND
|
||||
```
|
||||
|
||||
## Actual Circuit
|
||||
|
||||
TODO: указать выбранный вариант, GPIO и resistor value.
|
||||
Reference in New Issue
Block a user