Что понадобится
| Что | Зачем |
|---|---|
| Плата RP2040 (Raspberry Pi Pico) | на неё ставим прошивку |
| Кабель USB — micro-USB или USB-C, не только для зарядки | по нему компьютер видит плату; «зарядные» кабели не подходят, это самая частая причина неудачи |
| Компьютер с Windows | всё делается с него |
| Архив с программами | скачайте на странице программ |
| Программа Thonny | простой редактор, созданный как раз для таких плат |
Ничего компилировать и настраивать не нужно. MicroPython — это готовый
интерпретатор: вы просто копируете текстовые файлы на плату и запускаете.
Шаг 1. Поставить Thonny
- Скачайте Thonny с сайта thonny.org (кнопка Download for Windows).
- Установите как обычную программу, все галочки по умолчанию.
- Запустите. Если предложит выбрать язык — выберите русский.
Шаг 2. Записать MicroPython на плату
Это разовая операция, дальше плата готова к работе.
- Скачайте файл прошивки MicroPython для Pico: на сайте micropython.org/download/RPI_PICO возьмите самый свежий файл с расширением
.uf2. - Отключите плату от компьютера, если она подключена.
- Нажмите и держите кнопку BOOTSEL на плате.
- Не отпуская кнопку, вставьте USB-кабель в компьютер. Отпустите кнопку.
- В Проводнике появится новый диск с названием
RPI-RP2. - Перетащите скачанный файл
.uf2на этот диск. - Плата сама перезагрузится, диск исчезнет. Это значит, что всё получилось.
Шаг 3. Подключить датчики и машинки
Пока не подключайте пиротехнику. Сначала только датчики, машинки и тумблер.
| Что | Куда | Зачем |
|---|---|---|
| Плата гироскопа SDA | пин 4 | данные I2C |
| Плата гироскопа SCL | пин 5 | такт I2C |
| Плата гироскопа VCC и GND | 3,3 В и земля | питание |
| Машинка руля направления | пин 6 | курс |
| Машинка руля высоты | пин 7 | тангаж |
| Машинки элеронов | пин 8 | крен |
| Тумблер взвода | пин 14 и земля | разрешение на пуск |
| Связь с Raspberry | пин 0 (TX) и 1 (RX) | курс от Raspberry |
Питание машинок берите отдельно и соедините землю с платой.
Четыре машинки от платы не запитать: просадка питания сбросит её прямо в полёте.
Шаг 4. Скопировать файлы на плату
- Распакуйте архив с программами в любую папку.
- В Thonny выберите Run → Select interpreter и укажите MicroPython (Raspberry Pi Pico). Порт оставьте автоматический.
- Внизу окна появится панель «Files» с двумя половинами: слева ваш компьютер, справа плата.
- Скопируйте на плату пять файлов:
control.py,imu.py,sequencer.py,system.py,flight_computer.py. Проще всего: выделить файлы слева, нажать правой кнопкой → Upload to / upload. - Проверьте, что все пять файлов видны в правой половине.
Шаг 5. Запустить и убедиться, что работает
- Откройте на плате файл
flight_computer.pyдвойным щелчком. - Нажмите зелёную кнопку Run.
- Внизу, в оболочке, пойдёт отчёт: сначала проверки на сценариях, потом таблица полёта.
Вы должны увидеть
проверок: 7, успешно: 7, провалено: 0. - Если так — плата и файлы в порядке. Нажимайте Stop.
Эти проверки не запускают ничего на железе: они прогоняют логику на числах.
Именно так и надо проверять прошивку до подключения пиротехники.
Шаг 6. Запуск «навсегда»
Чтобы прошивка работала без компьютера, файл должен называться main.py.
Тогда плата запускает его сама при подаче питания.
- На плате переименуйте
flight_computer.pyвmain.py. - Отключите USB и подайте питание от батареи.
- Плата начнёт работать сама. Ход событий идёт в отладочный вывод — если подключить USB, его видно в Thonny.
Порядок наземной отработки — не переставлять
- Проверки на компьютере без всякого железа.
- Плата с датчиками, без пиротехники. Наклонить плату рукой и посмотреть, в какую сторону уходят рули.
- Заряд без парашюта, на земле, корпус направлен вверх. Убедиться, что срабатывает именно тогда, когда должен.
- Полный автомат с парашютом, без двигателя.
- И только потом двигатель.
Разрыв цепи заряда с чекой обязателен. Все наземные проверки
делаются с вынутой чекой, а вставляется она перед самым пуском. Программная
нейтраль физический разрыв не заменяет — это разные вещи.
Если что-то не работает
| Что видно | В чём дело и что делать |
|---|---|
Компьютер не видит плату, диска RPI-RP2 нет | Кабель «только для зарядки». Возьмите другой кабель — это причина в половине случаев |
| Thonny пишет «не удалось подключиться» | Не выбран порт. В меню интерпретатора нажмите «Попробовать ещё раз» или выберите порт вручную |
ImportError: no module named control | Файл не скопирован на плату. Проверьте правую половину панели Files |
| Датчик не найден, ошибка WHO_AM_I | Перепутаны SDA и SCL либо нет питания. Проверьте четыре провода |
| Машинка дёргается или плата перезагружается | Машинки питаются от платы. Подайте им отдельное питание и соедините землю |
| Плата перезагружается каждые несколько секунд | Срабатывает сторожевой таймер: программа где-то зациклилась. Посмотрите вывод в оболочке |
| Рули уходят не в ту сторону | Переверните машинку или поменяйте знак в настройках. Это проверяется в шаге 2 наземной отработки |
Чего в прошивке пока нет
- Управления тангажом. Руль высоты стоит в нейтрали, высота держится оттриммировкой. Без контура по тангажу аппарат не удержит ни срыв, ни пикирование.
- Журнала полёта на флешку: после посадки данные из памяти пропадают.
- Ручного режима для оператора с очками.
- Проверки на реальном железе: числа регистров датчиков взяты из описания.