first commit
This commit is contained in:
54
labs/001_led_resistor_psu/README.md
Normal file
54
labs/001_led_resistor_psu/README.md
Normal file
@@ -0,0 +1,54 @@
|
||||
# Lab 001: LED + Resistor + Bench PSU
|
||||
|
||||
## Goal
|
||||
|
||||
Безопасно зажечь LED от лабораторного БП через последовательный резистор, выставить current limit и измерить напряжения.
|
||||
|
||||
## Required Components
|
||||
|
||||
- Bench power supply
|
||||
- Multimeter
|
||||
- Breadboard MB-102
|
||||
- LED
|
||||
- Resistor, начать с безопасного номинала после проверки набора
|
||||
- Dupont wires
|
||||
|
||||
## Expected Behavior
|
||||
|
||||
LED светится при правильной полярности и ограниченном токе. БП не должен уходить в current limit при исправной схеме и разумном резисторе.
|
||||
|
||||
## Pre-Flight Checklist
|
||||
|
||||
- Определить номинал резистора.
|
||||
- Выставить напряжение БП до подключения схемы.
|
||||
- Выставить малый current limit.
|
||||
- Проверить LED polarity.
|
||||
- Проверить мультиметром отсутствие короткого замыкания между `+` и `GND`.
|
||||
|
||||
## Safety Notes
|
||||
|
||||
- Не подключать LED без резистора.
|
||||
- Не начинать с высокого current limit.
|
||||
- Выключать выход БП перед изменением схемы.
|
||||
|
||||
## Expected Measurements
|
||||
|
||||
- Напряжение БП: TBD before run.
|
||||
- Падение напряжения на LED: expected depends on LED color.
|
||||
- Падение напряжения на резисторе: `Vres = Vpsu - Vled`.
|
||||
- Ток через LED: `I = Vres / R`.
|
||||
|
||||
## Actual Measurements
|
||||
|
||||
TODO: записать только реальные измерения.
|
||||
|
||||
## Debugging Checklist
|
||||
|
||||
- LED не светится: проверить полярность.
|
||||
- LED не светится: проверить rail continuity.
|
||||
- БП в current limit: искать short или слишком малый резистор.
|
||||
- Измерить напряжение на LED и резисторе отдельно.
|
||||
|
||||
## Conclusion
|
||||
|
||||
TODO: краткий вывод после выполнения.
|
||||
27
labs/001_led_resistor_psu/measurements.md
Normal file
27
labs/001_led_resistor_psu/measurements.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# Measurements
|
||||
|
||||
## Expected Measurements
|
||||
|
||||
| Point | Expected |
|
||||
| --- | --- |
|
||||
| PSU output voltage | TBD |
|
||||
| PSU current limit | Low, set before connecting |
|
||||
| LED voltage drop | Depends on LED color |
|
||||
| Resistor voltage drop | `Vpsu - Vled` |
|
||||
| LED current | `Vres / R` |
|
||||
|
||||
## Actual Measurements
|
||||
|
||||
TODO: добавить реальные значения после выполнения.
|
||||
|
||||
| Point | Actual |
|
||||
| --- | --- |
|
||||
| PSU output voltage | TBD |
|
||||
| PSU current limit | TBD |
|
||||
| LED voltage drop | TBD |
|
||||
| Resistor voltage drop | TBD |
|
||||
| Calculated current | TBD |
|
||||
|
||||
## Observations
|
||||
|
||||
TODO: светимость, нагрев, current limit, странные симптомы.
|
||||
17
labs/001_led_resistor_psu/notes.md
Normal file
17
labs/001_led_resistor_psu/notes.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Notes
|
||||
|
||||
## Bugs / Surprises
|
||||
|
||||
TODO: записать симптомы и debugging steps.
|
||||
|
||||
## Explanation
|
||||
|
||||
TODO: объяснить результат через Ohm's law, падения напряжения и current limit.
|
||||
|
||||
## Conclusion
|
||||
|
||||
TODO: что теперь понятно и что проверить дальше.
|
||||
|
||||
## Next Actions
|
||||
|
||||
TODO: следующий маленький шаг.
|
||||
18
labs/001_led_resistor_psu/schematic.md
Normal file
18
labs/001_led_resistor_psu/schematic.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# Schematic
|
||||
|
||||
## Expected Circuit
|
||||
|
||||
```text
|
||||
PSU + -> resistor -> LED anode
|
||||
LED cathode -> PSU -
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
- Резистор должен быть последовательно с LED.
|
||||
- Направление LED проверить перед включением.
|
||||
- Breadboard rails проверить мультиметром, не полагаться на маркировку.
|
||||
|
||||
## Actual Circuit
|
||||
|
||||
TODO: записать фактическое соединение после сборки.
|
||||
49
labs/002_breadboard_and_multimeter/README.md
Normal file
49
labs/002_breadboard_and_multimeter/README.md
Normal file
@@ -0,0 +1,49 @@
|
||||
# Lab 002: Breadboard And Multimeter
|
||||
|
||||
## Goal
|
||||
|
||||
Понять соединения breadboard MB-102 и научиться проверять rails, continuity, voltage и resistance мультиметром.
|
||||
|
||||
## Required Components
|
||||
|
||||
- Breadboard MB-102
|
||||
- Multimeter
|
||||
- Dupont wires
|
||||
- Resistors
|
||||
- Bench power supply, только после dry checks
|
||||
|
||||
## Expected Behavior
|
||||
|
||||
Мультиметр показывает continuity только там, где точки breadboard реально соединены. Power rails могут быть разделены посередине.
|
||||
|
||||
## Pre-Flight Checklist
|
||||
|
||||
- Проверить режим continuity.
|
||||
- Проверить сопротивление известного резистора.
|
||||
- Проверить, какие точки в одном ряду соединены.
|
||||
- Проверить rails вдоль всей длины breadboard.
|
||||
|
||||
## Safety Notes
|
||||
|
||||
- Не подавать питание, пока не понятна topology breadboard.
|
||||
- Перед включением БП проверить короткое замыкание между rails.
|
||||
|
||||
## Expected Measurements
|
||||
|
||||
- Continuity внутри одного connected row.
|
||||
- No continuity между разными rows.
|
||||
- Rails: TBD, зависит от конкретной breadboard.
|
||||
|
||||
## Actual Measurements
|
||||
|
||||
TODO: записать реальные continuity и rail checks.
|
||||
|
||||
## Debugging Checklist
|
||||
|
||||
- Если схема не питается, проверить split rails.
|
||||
- Если измерение странное, проверить режим мультиметра и положение щупов.
|
||||
- Если контакт нестабильный, заменить jumper или точку breadboard.
|
||||
|
||||
## Conclusion
|
||||
|
||||
TODO: краткий вывод после выполнения.
|
||||
27
labs/002_breadboard_and_multimeter/measurements.md
Normal file
27
labs/002_breadboard_and_multimeter/measurements.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# Measurements
|
||||
|
||||
## Expected Measurements
|
||||
|
||||
| Check | Expected |
|
||||
| --- | --- |
|
||||
| Same row continuity | Continuity |
|
||||
| Different rows continuity | No continuity |
|
||||
| Positive rail full length | TBD |
|
||||
| Negative rail full length | TBD |
|
||||
| Resistance of known resistor | Near nominal value |
|
||||
|
||||
## Actual Measurements
|
||||
|
||||
TODO: добавить реальные значения.
|
||||
|
||||
| Check | Actual |
|
||||
| --- | --- |
|
||||
| Same row continuity | TBD |
|
||||
| Different rows continuity | TBD |
|
||||
| Positive rail full length | TBD |
|
||||
| Negative rail full length | TBD |
|
||||
| Known resistor value | TBD |
|
||||
|
||||
## Observations
|
||||
|
||||
TODO: особенности конкретной breadboard.
|
||||
17
labs/002_breadboard_and_multimeter/notes.md
Normal file
17
labs/002_breadboard_and_multimeter/notes.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Notes
|
||||
|
||||
## Bugs / Surprises
|
||||
|
||||
TODO: записать неожиданные continuity results или плохие контакты.
|
||||
|
||||
## Explanation
|
||||
|
||||
TODO: объяснить реальную topology breadboard.
|
||||
|
||||
## Conclusion
|
||||
|
||||
TODO: что теперь известно о breadboard и мультиметре.
|
||||
|
||||
## Next Actions
|
||||
|
||||
TODO: следующий маленький шаг.
|
||||
13
labs/002_breadboard_and_multimeter/schematic.md
Normal file
13
labs/002_breadboard_and_multimeter/schematic.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# Schematic
|
||||
|
||||
## Expected Checks
|
||||
|
||||
```text
|
||||
Breadboard row continuity: probe A <-> probe B
|
||||
Power rail continuity: rail start <-> rail middle <-> rail end
|
||||
Short check: + rail <-> - rail
|
||||
```
|
||||
|
||||
## Actual Breadboard Map
|
||||
|
||||
TODO: записать, какие rails разделены и где нужны jumpers.
|
||||
52
labs/003_esp32_blink/README.md
Normal file
52
labs/003_esp32_blink/README.md
Normal file
@@ -0,0 +1,52 @@
|
||||
# Lab 003: ESP32 Blink
|
||||
|
||||
## Goal
|
||||
|
||||
Прошить ESP32 и выполнить простой blink на безопасном GPIO или встроенном LED, если он есть на конкретной dev board.
|
||||
|
||||
## Required Components
|
||||
|
||||
- ESP32 dev board
|
||||
- USB cable
|
||||
- Computer with Arduino Core or PlatformIO
|
||||
- Optional external LED + resistor
|
||||
- Multimeter
|
||||
|
||||
## Expected Behavior
|
||||
|
||||
ESP32 прошивается, запускает firmware, LED мигает с заданным периодом.
|
||||
|
||||
## Pre-Flight Checklist
|
||||
|
||||
- Определить точную модель ESP32 dev board.
|
||||
- Найти pinout и безопасные GPIO.
|
||||
- Не подключать 5V к GPIO.
|
||||
- Если используется external LED, поставить резистор последовательно.
|
||||
- Проверить, что питание идет только понятным способом.
|
||||
|
||||
## Safety Notes
|
||||
|
||||
- ESP32 GPIO strictly 3.3V.
|
||||
- External LED должен иметь резистор.
|
||||
- Не использовать boot strap pins без проверки pinout.
|
||||
|
||||
## Expected Measurements
|
||||
|
||||
- USB 5V на входе dev board: expected near 5V.
|
||||
- 3.3V rail на ESP32: expected near 3.3V.
|
||||
- GPIO blink level: low около 0V, high около 3.3V.
|
||||
|
||||
## Actual Measurements
|
||||
|
||||
TODO: записать реальные измерения.
|
||||
|
||||
## Debugging Checklist
|
||||
|
||||
- Если прошивка не загружается, проверить board/port/boot mode.
|
||||
- Если LED не мигает, проверить правильный GPIO.
|
||||
- Если external LED не светится, проверить полярность и резистор.
|
||||
- Измерить 3.3V rail и GPIO level мультиметром.
|
||||
|
||||
## Conclusion
|
||||
|
||||
TODO: краткий вывод после выполнения.
|
||||
26
labs/003_esp32_blink/firmware.md
Normal file
26
labs/003_esp32_blink/firmware.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# Firmware
|
||||
|
||||
## Preferred Starting Workflow
|
||||
|
||||
Start with Arduino Core or PlatformIO. ESP-IDF оставить на более поздний этап.
|
||||
|
||||
## Expected Behavior
|
||||
|
||||
- Configure selected GPIO as output.
|
||||
- Toggle GPIO with visible delay.
|
||||
- If using built-in LED, confirm whether active HIGH or active LOW.
|
||||
|
||||
## Physical Test Procedure
|
||||
|
||||
1. Прошить firmware.
|
||||
2. Наблюдать blink.
|
||||
3. Измерить GPIO low/high мультиметром.
|
||||
4. Записать board model, GPIO и actual behavior.
|
||||
|
||||
## Code
|
||||
|
||||
TODO: добавить минимальный blink sketch после выбора board/workflow.
|
||||
|
||||
## Actual Result
|
||||
|
||||
TODO: записать результат прошивки и наблюдения.
|
||||
25
labs/003_esp32_blink/measurements.md
Normal file
25
labs/003_esp32_blink/measurements.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# Measurements
|
||||
|
||||
## Expected Measurements
|
||||
|
||||
| Point | Expected |
|
||||
| --- | --- |
|
||||
| USB input | Near 5V |
|
||||
| ESP32 3.3V rail | Near 3.3V |
|
||||
| GPIO LOW | Near 0V |
|
||||
| GPIO HIGH | Near 3.3V |
|
||||
|
||||
## Actual Measurements
|
||||
|
||||
TODO: добавить реальные значения.
|
||||
|
||||
| Point | Actual |
|
||||
| --- | --- |
|
||||
| USB input | TBD |
|
||||
| ESP32 3.3V rail | TBD |
|
||||
| GPIO LOW | TBD |
|
||||
| GPIO HIGH | TBD |
|
||||
|
||||
## Observations
|
||||
|
||||
TODO: upload logs, LED behavior, reset/boot issues.
|
||||
17
labs/003_esp32_blink/notes.md
Normal file
17
labs/003_esp32_blink/notes.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Notes
|
||||
|
||||
## Bugs / Surprises
|
||||
|
||||
TODO: записать проблемы с flashing, GPIO, board selection или LED polarity.
|
||||
|
||||
## Explanation
|
||||
|
||||
TODO: объяснить связь firmware output mode, GPIO voltage и observed blink.
|
||||
|
||||
## Conclusion
|
||||
|
||||
TODO: что подтверждено о board и workflow.
|
||||
|
||||
## Next Actions
|
||||
|
||||
TODO: следующий маленький шаг.
|
||||
19
labs/003_esp32_blink/schematic.md
Normal file
19
labs/003_esp32_blink/schematic.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# Schematic
|
||||
|
||||
## Option A: Built-In LED
|
||||
|
||||
```text
|
||||
Computer USB -> ESP32 dev board
|
||||
Built-in LED GPIO: TBD by board model
|
||||
```
|
||||
|
||||
## Option B: External LED
|
||||
|
||||
```text
|
||||
ESP32 GPIO -> resistor -> LED anode
|
||||
LED cathode -> ESP32 GND
|
||||
```
|
||||
|
||||
## Actual Circuit
|
||||
|
||||
TODO: указать выбранный GPIO, resistor value и способ питания.
|
||||
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.
|
||||
51
labs/005_pwm_led_dimming/README.md
Normal file
51
labs/005_pwm_led_dimming/README.md
Normal file
@@ -0,0 +1,51 @@
|
||||
# Lab 005: PWM LED Dimming
|
||||
|
||||
## Goal
|
||||
|
||||
Управлять яркостью LED с ESP32 через PWM и проверить связь duty cycle с наблюдаемой яркостью.
|
||||
|
||||
## Required Components
|
||||
|
||||
- ESP32 dev board
|
||||
- LED
|
||||
- Resistor
|
||||
- Breadboard
|
||||
- Dupont wires
|
||||
- Multimeter
|
||||
|
||||
## Expected Behavior
|
||||
|
||||
LED меняет яркость при изменении PWM duty cycle. GPIO остается в пределах 0V..3.3V.
|
||||
|
||||
## Pre-Flight Checklist
|
||||
|
||||
- Выбрать безопасный PWM-capable GPIO.
|
||||
- Подключить LED только через резистор.
|
||||
- Проверить полярность LED.
|
||||
- Проверить common ground.
|
||||
|
||||
## Safety Notes
|
||||
|
||||
- ESP32 GPIO strictly 3.3V.
|
||||
- GPIO не должен питать нагрузку с большим током.
|
||||
- Не подключать LED без резистора.
|
||||
|
||||
## Expected Measurements
|
||||
|
||||
- GPIO low: около 0V.
|
||||
- GPIO high: около 3.3V.
|
||||
- Average voltage by multimeter may change with duty cycle, but exact reading depends on meter.
|
||||
|
||||
## Actual Measurements
|
||||
|
||||
TODO: записать реальные измерения.
|
||||
|
||||
## Debugging Checklist
|
||||
|
||||
- Если яркость не меняется, проверить GPIO и PWM channel.
|
||||
- Если LED не светится, проверить полярность и resistor path.
|
||||
- Если readings странные, помнить, что мультиметр усредняет PWM.
|
||||
|
||||
## Conclusion
|
||||
|
||||
TODO: краткий вывод после выполнения.
|
||||
22
labs/005_pwm_led_dimming/firmware.md
Normal file
22
labs/005_pwm_led_dimming/firmware.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# Firmware
|
||||
|
||||
## Expected Behavior
|
||||
|
||||
- Configure PWM on selected GPIO.
|
||||
- Sweep duty cycle from low to high.
|
||||
- Optional: print current duty cycle to serial.
|
||||
|
||||
## Physical Test Procedure
|
||||
|
||||
1. Start with low duty cycle.
|
||||
2. Observe LED brightness.
|
||||
3. Measure average voltage for several duty cycles.
|
||||
4. Record whether visual brightness matches expected trend.
|
||||
|
||||
## Code
|
||||
|
||||
TODO: добавить PWM firmware после выбора workflow.
|
||||
|
||||
## Actual Result
|
||||
|
||||
TODO: записать фактическое поведение.
|
||||
25
labs/005_pwm_led_dimming/measurements.md
Normal file
25
labs/005_pwm_led_dimming/measurements.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# Measurements
|
||||
|
||||
## Expected Measurements
|
||||
|
||||
| Duty Cycle | Expected Observation |
|
||||
| --- | --- |
|
||||
| 0% | LED off |
|
||||
| 25% | Dim |
|
||||
| 50% | Medium |
|
||||
| 100% | Brightest safe level |
|
||||
|
||||
## Actual Measurements
|
||||
|
||||
TODO: добавить реальные значения.
|
||||
|
||||
| Duty Cycle | Average Voltage | Observation |
|
||||
| --- | --- | --- |
|
||||
| 0% | TBD | TBD |
|
||||
| 25% | TBD | TBD |
|
||||
| 50% | TBD | TBD |
|
||||
| 100% | TBD | TBD |
|
||||
|
||||
## Observations
|
||||
|
||||
TODO: visual response, flicker, meter behavior.
|
||||
17
labs/005_pwm_led_dimming/notes.md
Normal file
17
labs/005_pwm_led_dimming/notes.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Notes
|
||||
|
||||
## Bugs / Surprises
|
||||
|
||||
TODO: записать PWM setup issues, wrong GPIO, unexpected brightness.
|
||||
|
||||
## Explanation
|
||||
|
||||
TODO: объяснить PWM как fast switching и duty cycle.
|
||||
|
||||
## Conclusion
|
||||
|
||||
TODO: что стало понятно о PWM.
|
||||
|
||||
## Next Actions
|
||||
|
||||
TODO: следующий маленький шаг.
|
||||
12
labs/005_pwm_led_dimming/schematic.md
Normal file
12
labs/005_pwm_led_dimming/schematic.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# Schematic
|
||||
|
||||
## Expected Circuit
|
||||
|
||||
```text
|
||||
ESP32 PWM GPIO -> resistor -> LED anode
|
||||
LED cathode -> ESP32 GND
|
||||
```
|
||||
|
||||
## Actual Circuit
|
||||
|
||||
TODO: указать GPIO, resistor value и LED polarity.
|
||||
52
labs/006_i2c_lcd_1602/README.md
Normal file
52
labs/006_i2c_lcd_1602/README.md
Normal file
@@ -0,0 +1,52 @@
|
||||
# Lab 006: I2C LCD 1602
|
||||
|
||||
## Goal
|
||||
|
||||
Подключить LCD 1602 с I2C-модулем к ESP32, найти I2C address и вывести тестовый текст.
|
||||
|
||||
## Required Components
|
||||
|
||||
- ESP32 dev board
|
||||
- LCD 1602 with I2C module
|
||||
- Dupont wires
|
||||
- Multimeter
|
||||
- Optional breadboard
|
||||
|
||||
## Expected Behavior
|
||||
|
||||
I2C scanner находит адрес LCD. После настройки адреса и contrast display показывает тестовый текст.
|
||||
|
||||
## Pre-Flight Checklist
|
||||
|
||||
- Проверить питание LCD-модуля и уровни I2C линий.
|
||||
- Проверить, не подтянуты ли SDA/SCL к 5V при подключении к ESP32.
|
||||
- Выбрать GPIO для SDA/SCL.
|
||||
- Соединить common ground.
|
||||
- Проверить contrast potentiometer на LCD backpack.
|
||||
|
||||
## Safety Notes
|
||||
|
||||
- ESP32 GPIO strictly 3.3V.
|
||||
- 5V pull-ups на SDA/SCL могут быть опасны для ESP32.
|
||||
- Не подключать 5V signals напрямую к GPIO.
|
||||
|
||||
## Expected Measurements
|
||||
|
||||
- LCD VCC: TBD by module choice.
|
||||
- SDA/SCL idle level: should be safe for ESP32, ideally near 3.3V.
|
||||
- GND continuity between ESP32 and LCD.
|
||||
|
||||
## Actual Measurements
|
||||
|
||||
TODO: записать реальные измерения и I2C address.
|
||||
|
||||
## Debugging Checklist
|
||||
|
||||
- Если scanner ничего не находит, проверить SDA/SCL order.
|
||||
- Если адрес найден, но текста нет, проверить contrast.
|
||||
- Если символы мусорные, проверить библиотеку и geometry `16x2`.
|
||||
- Измерить idle voltage на SDA/SCL.
|
||||
|
||||
## Conclusion
|
||||
|
||||
TODO: краткий вывод после выполнения.
|
||||
24
labs/006_i2c_lcd_1602/firmware.md
Normal file
24
labs/006_i2c_lcd_1602/firmware.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# Firmware
|
||||
|
||||
## Expected Behavior
|
||||
|
||||
- Run I2C scanner.
|
||||
- Record detected address.
|
||||
- Initialize LCD as `16x2`.
|
||||
- Print a short test message.
|
||||
|
||||
## Physical Test Procedure
|
||||
|
||||
1. Measure SDA/SCL idle voltage.
|
||||
2. Run I2C scanner.
|
||||
3. Adjust contrast.
|
||||
4. Print test text.
|
||||
5. Record address and actual behavior.
|
||||
|
||||
## Code
|
||||
|
||||
TODO: добавить I2C scanner и LCD test code после выбора workflow.
|
||||
|
||||
## Actual Result
|
||||
|
||||
TODO: записать scanner output и display result.
|
||||
27
labs/006_i2c_lcd_1602/measurements.md
Normal file
27
labs/006_i2c_lcd_1602/measurements.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# Measurements
|
||||
|
||||
## Expected Measurements
|
||||
|
||||
| Point | Expected |
|
||||
| --- | --- |
|
||||
| LCD VCC | TBD by module |
|
||||
| SDA idle | Safe for ESP32 |
|
||||
| SCL idle | Safe for ESP32 |
|
||||
| GND continuity | Continuity |
|
||||
| I2C address | TBD by scanner |
|
||||
|
||||
## Actual Measurements
|
||||
|
||||
TODO: добавить реальные значения.
|
||||
|
||||
| Point | Actual |
|
||||
| --- | --- |
|
||||
| LCD VCC | TBD |
|
||||
| SDA idle | TBD |
|
||||
| SCL idle | TBD |
|
||||
| GND continuity | TBD |
|
||||
| I2C address | TBD |
|
||||
|
||||
## Observations
|
||||
|
||||
TODO: contrast, backlight, characters, scanner output.
|
||||
17
labs/006_i2c_lcd_1602/notes.md
Normal file
17
labs/006_i2c_lcd_1602/notes.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Notes
|
||||
|
||||
## Bugs / Surprises
|
||||
|
||||
TODO: записать wrong address, blank display, 5V pull-up concern или wiring issues.
|
||||
|
||||
## Explanation
|
||||
|
||||
TODO: объяснить I2C address, SDA/SCL и common ground.
|
||||
|
||||
## Conclusion
|
||||
|
||||
TODO: что стало понятно о I2C и LCD.
|
||||
|
||||
## Next Actions
|
||||
|
||||
TODO: следующий маленький шаг.
|
||||
18
labs/006_i2c_lcd_1602/schematic.md
Normal file
18
labs/006_i2c_lcd_1602/schematic.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# Schematic
|
||||
|
||||
## Expected Circuit
|
||||
|
||||
```text
|
||||
ESP32 GND -> LCD GND
|
||||
ESP32 3.3V or 5V -> LCD VCC, only after checking module requirements
|
||||
ESP32 SDA GPIO -> LCD SDA
|
||||
ESP32 SCL GPIO -> LCD SCL
|
||||
```
|
||||
|
||||
## Important Check
|
||||
|
||||
Before connecting SDA/SCL to ESP32, verify I2C pull-up voltage. ESP32 GPIO must not receive 5V.
|
||||
|
||||
## Actual Circuit
|
||||
|
||||
TODO: указать VCC, SDA GPIO, SCL GPIO и I2C address.
|
||||
55
labs/007_transistor_switch/README.md
Normal file
55
labs/007_transistor_switch/README.md
Normal file
@@ -0,0 +1,55 @@
|
||||
# Lab 007: Transistor Switch
|
||||
|
||||
## Goal
|
||||
|
||||
Собрать транзисторный ключ для управления нагрузкой и понять, почему GPIO не должен напрямую питать более тяжелые нагрузки.
|
||||
|
||||
## Required Components
|
||||
|
||||
- Transistor from starter kit
|
||||
- Resistors
|
||||
- LED or small safe load
|
||||
- Bench power supply
|
||||
- ESP32 optional after bench-only test
|
||||
- Breadboard
|
||||
- Multimeter
|
||||
|
||||
## Expected Behavior
|
||||
|
||||
Малый управляющий сигнал включает или выключает ток через нагрузку. Нагрузка питается через отдельный путь, а GPIO управляет транзистором.
|
||||
|
||||
## Pre-Flight Checklist
|
||||
|
||||
- Определить тип транзистора и pinout.
|
||||
- Выбрать безопасную нагрузку.
|
||||
- Поставить resistor для LED/load, если нужен.
|
||||
- Поставить base/gate resistor, если применимо.
|
||||
- Проверить common ground при управлении от ESP32.
|
||||
|
||||
## Safety Notes
|
||||
|
||||
- Не подключать нагрузку напрямую к GPIO ESP32.
|
||||
- ESP32 GPIO strictly 3.3V.
|
||||
- Current limit на БП выставить до подключения.
|
||||
- Проверить pinout транзистора по datasheet.
|
||||
|
||||
## Expected Measurements
|
||||
|
||||
- Voltage on control pin/base/gate: TBD by circuit.
|
||||
- Load voltage changes between off/on states.
|
||||
- Current through load limited and expected.
|
||||
|
||||
## Actual Measurements
|
||||
|
||||
TODO: записать реальные измерения.
|
||||
|
||||
## Debugging Checklist
|
||||
|
||||
- Если нагрузка всегда off, проверить pinout и base/gate drive.
|
||||
- Если нагрузка всегда on, проверить wiring и transistor orientation.
|
||||
- Если ESP32 resets, проверить питание и common ground.
|
||||
- Если БП в current limit, искать short или неправильную нагрузку.
|
||||
|
||||
## Conclusion
|
||||
|
||||
TODO: краткий вывод после выполнения.
|
||||
25
labs/007_transistor_switch/measurements.md
Normal file
25
labs/007_transistor_switch/measurements.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# Measurements
|
||||
|
||||
## Expected Measurements
|
||||
|
||||
| State | Expected |
|
||||
| --- | --- |
|
||||
| Control off | Load off, low/no load current |
|
||||
| Control on | Load on, current within limit |
|
||||
| Common ground | Continuity if ESP32 controls circuit |
|
||||
|
||||
## Actual Measurements
|
||||
|
||||
TODO: добавить реальные значения.
|
||||
|
||||
| Point | Actual |
|
||||
| --- | --- |
|
||||
| Control voltage off | TBD |
|
||||
| Control voltage on | TBD |
|
||||
| Load voltage off | TBD |
|
||||
| Load voltage on | TBD |
|
||||
| Load current | TBD |
|
||||
|
||||
## Observations
|
||||
|
||||
TODO: switching behavior, heating, current limit.
|
||||
17
labs/007_transistor_switch/notes.md
Normal file
17
labs/007_transistor_switch/notes.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Notes
|
||||
|
||||
## Bugs / Surprises
|
||||
|
||||
TODO: записать pinout mistakes, always-on/off behavior или current limit events.
|
||||
|
||||
## Explanation
|
||||
|
||||
TODO: объяснить transistor as switch и разделение control path / load path.
|
||||
|
||||
## Conclusion
|
||||
|
||||
TODO: что стало понятно о транзисторном ключе.
|
||||
|
||||
## Next Actions
|
||||
|
||||
TODO: следующий маленький шаг.
|
||||
13
labs/007_transistor_switch/schematic.md
Normal file
13
labs/007_transistor_switch/schematic.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# Schematic
|
||||
|
||||
## Expected Low-Side Switch Shape
|
||||
|
||||
```text
|
||||
Supply + -> load -> transistor -> Supply GND
|
||||
Control signal -> resistor -> transistor control pin
|
||||
Controller GND -> Supply GND
|
||||
```
|
||||
|
||||
## Actual Circuit
|
||||
|
||||
TODO: указать тип транзистора, pinout, load, resistors и источник control signal.
|
||||
53
labs/008_wifi_status_display/README.md
Normal file
53
labs/008_wifi_status_display/README.md
Normal file
@@ -0,0 +1,53 @@
|
||||
# Lab 008: Wi-Fi Status Display
|
||||
|
||||
## Goal
|
||||
|
||||
Собрать маленький IoT status display: ESP32 подключается к Wi-Fi и показывает статус на LCD 1602 I2C.
|
||||
|
||||
## Required Components
|
||||
|
||||
- ESP32 dev board
|
||||
- LCD 1602 I2C
|
||||
- Dupont wires
|
||||
- Multimeter
|
||||
- Wi-Fi network credentials, not committed to repo
|
||||
|
||||
## Expected Behavior
|
||||
|
||||
ESP32 загружается, подключается к Wi-Fi, показывает connection status, IP или heartbeat на LCD.
|
||||
|
||||
## Pre-Flight Checklist
|
||||
|
||||
- Выполнить `003_esp32_blink`.
|
||||
- Выполнить `006_i2c_lcd_1602`.
|
||||
- Проверить I2C address.
|
||||
- Проверить SDA/SCL voltage safety.
|
||||
- Не commit-ить Wi-Fi credentials.
|
||||
|
||||
## Safety Notes
|
||||
|
||||
- ESP32 GPIO strictly 3.3V.
|
||||
- Проверить LCD I2C pull-up voltage.
|
||||
- Common ground обязателен.
|
||||
- Credentials хранить вне repo или в ignored local config.
|
||||
|
||||
## Expected Measurements
|
||||
|
||||
- ESP32 3.3V rail stable.
|
||||
- SDA/SCL idle levels safe for ESP32.
|
||||
- LCD powered as verified in Lab 006.
|
||||
|
||||
## Actual Measurements
|
||||
|
||||
TODO: записать реальные измерения и network behavior.
|
||||
|
||||
## Debugging Checklist
|
||||
|
||||
- Если Wi-Fi не подключается, проверить credentials и serial logs.
|
||||
- Если LCD пустой, вернуться к Lab 006.
|
||||
- Если ESP32 resets, проверить питание и brownout messages.
|
||||
- Если статус зависает, добавить timeout/reconnect logic.
|
||||
|
||||
## Conclusion
|
||||
|
||||
TODO: краткий вывод после выполнения.
|
||||
25
labs/008_wifi_status_display/firmware.md
Normal file
25
labs/008_wifi_status_display/firmware.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# Firmware
|
||||
|
||||
## Expected Behavior
|
||||
|
||||
- Initialize serial logging.
|
||||
- Initialize LCD.
|
||||
- Connect to Wi-Fi with timeout.
|
||||
- Show status: booting, connecting, connected, failed/retrying.
|
||||
- Avoid committing credentials.
|
||||
|
||||
## Physical Test Procedure
|
||||
|
||||
1. Confirm LCD works with known test message.
|
||||
2. Flash Wi-Fi firmware.
|
||||
3. Watch serial logs.
|
||||
4. Verify LCD status transitions.
|
||||
5. Record failures and reconnect behavior.
|
||||
|
||||
## Code
|
||||
|
||||
TODO: добавить firmware после выбора workflow и credential strategy.
|
||||
|
||||
## Actual Result
|
||||
|
||||
TODO: записать network status, LCD output и serial observations.
|
||||
25
labs/008_wifi_status_display/measurements.md
Normal file
25
labs/008_wifi_status_display/measurements.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# Measurements
|
||||
|
||||
## Expected Measurements
|
||||
|
||||
| Point | Expected |
|
||||
| --- | --- |
|
||||
| ESP32 3.3V rail | Stable near 3.3V |
|
||||
| LCD VCC | Same as verified in Lab 006 |
|
||||
| SDA idle | Safe for ESP32 |
|
||||
| SCL idle | Safe for ESP32 |
|
||||
|
||||
## Actual Measurements
|
||||
|
||||
TODO: добавить реальные значения.
|
||||
|
||||
| Point | Actual |
|
||||
| --- | --- |
|
||||
| ESP32 3.3V rail | TBD |
|
||||
| LCD VCC | TBD |
|
||||
| SDA idle | TBD |
|
||||
| SCL idle | TBD |
|
||||
|
||||
## Observations
|
||||
|
||||
TODO: Wi-Fi connection time, reconnect behavior, LCD messages.
|
||||
17
labs/008_wifi_status_display/notes.md
Normal file
17
labs/008_wifi_status_display/notes.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Notes
|
||||
|
||||
## Bugs / Surprises
|
||||
|
||||
TODO: записать Wi-Fi failures, LCD issues, power resets или credential problems.
|
||||
|
||||
## Explanation
|
||||
|
||||
TODO: объяснить boot/connect/display state flow.
|
||||
|
||||
## Conclusion
|
||||
|
||||
TODO: что стало понятно о простом IoT status device.
|
||||
|
||||
## Next Actions
|
||||
|
||||
TODO: следующий маленький шаг.
|
||||
14
labs/008_wifi_status_display/schematic.md
Normal file
14
labs/008_wifi_status_display/schematic.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# Schematic
|
||||
|
||||
## Expected Circuit
|
||||
|
||||
```text
|
||||
ESP32 GND -> LCD GND
|
||||
ESP32 safe VCC -> LCD VCC, based on Lab 006
|
||||
ESP32 SDA GPIO -> LCD SDA
|
||||
ESP32 SCL GPIO -> LCD SCL
|
||||
```
|
||||
|
||||
## Actual Circuit
|
||||
|
||||
TODO: указать GPIO, LCD VCC, I2C address и источник питания ESP32.
|
||||
24
labs/README.md
Normal file
24
labs/README.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# Labs
|
||||
|
||||
Лабораторные — основная единица обучения в этом репозитории.
|
||||
|
||||
Каждая лабораторная содержит:
|
||||
|
||||
- `README.md` — цель, компоненты, ожидаемое поведение, safety и checklist.
|
||||
- `schematic.md` — соединения и схема в текстовом виде.
|
||||
- `measurements.md` — expected и actual measurements.
|
||||
- `notes.md` — debugging notes, ошибки, выводы.
|
||||
- `firmware.md` — если в лабораторной есть код.
|
||||
|
||||
Правило: сначала фиксируем expected, затем собираем, измеряем и только потом обновляем actual.
|
||||
|
||||
## Current Sequence
|
||||
|
||||
1. `001_led_resistor_psu`
|
||||
2. `002_breadboard_and_multimeter`
|
||||
3. `003_esp32_blink`
|
||||
4. `004_button_pullup_pulldown`
|
||||
5. `005_pwm_led_dimming`
|
||||
6. `006_i2c_lcd_1602`
|
||||
7. `007_transistor_switch`
|
||||
8. `008_wifi_status_display`
|
||||
Reference in New Issue
Block a user