Подготовка среды разработки

Эта страница — стартовая для всего раздела «Код». Здесь:

  • настраиваем Arduino IDE под нашу плату;

  • даём сводную карту пинов — её используют все остальные тестовые скетчи;

  • фиксируем общие параметры (баудрейт, библиотеки).

Примечание

Сборка кубсата уже выполнена по схеме из инструкции, и разводка фиксирована. Все тестовые скетчи в этом разделе работают с теми же пинами, что и финальная прошивка main_full_arduino — перетыкать провода для проверки отдельного модуля не нужно.

Установка Arduino IDE

  1. Скачайте и установите Arduino IDE (подойдёт версия 1.8.x или 2.x).

  2. Подключите Arduino Nano по USB к компьютеру.

  3. Tools Board Arduino AVR Boards Arduino Nano.

  4. Tools Processor — выберите процессор согласно плате (см. подраздел про клоны ниже).

  5. Tools Port — выберите COM-порт, к которому подключена плата.

Грабли с китайскими клонами Nano

Большинство недорогих Arduino Nano — это клоны на чипе CH340. Две вещи, из-за которых первый запуск чаще всего не работает:

  • Драйвер CH340. Если Windows/macOS не видит COM-порт, поставьте драйвер CH340 (инструкция и установщики).

  • Old Bootloader. Если IDE компилирует, но не может загрузить скетч и ругается avrdude: stk500_getsync(), переключите процессор: Tools Processor ATmega328P (Old Bootloader).

Сводная карта пинов CubeSat

Все скетчи раздела «Код» написаны под эту карту. Она же зафиксирована в финальной прошивке main_full_arduino.

Модуль

Пин(ы) Nano

Назначение

SD-карта (microSD)

D4

Chip Select (CS)

nRF24L01+

D9 / D10

CE / CSN

WS2812 LED-лента

D6

Сигнал данных (DIN)

Активный зуммер

D3

Управление (LOW = звук)

GPS NEO-6M

D0 (RX0)

Аппаратный UART, 9600 бод

Шина I²C (BME280, CCS811, MPU9250)

A4 / A5

SDA / SCL

Шина SPI (SD + nRF)

D11 / D12 / D13

MOSI / MISO / SCK

Питание модулей 3.3 В

3V3

Только для nRF24L01+

Питание остальных

5V

SD, BME280, CCS811, MPU9250, LED, buzzer, GPS

I²C-адреса модулей

Модуль

Адрес

Примечание

BME280

0x76

У некоторых клонов 0x77

CCS811

0x5A

При ADD к VCC0x5B

MPU9250

0x68 или 0x69

Зависит от уровня на AD0

Параметры радио (nRF24L01+)

  • Канал: 76

  • Pipe: TBOY1

  • Скорость: 250 kbps

  • AutoAck: выключен (вещание один-ко-многим)

  • Размер пакета: 32 байта (фиксированный)

Стандартный баудрейт

  • Модульные тесты (BME280, CCS811, MPU, SD, I²C scanner и т.д.) — Serial.begin(115200). Соответственно, в Serial Monitor нужно поставить 115200.

  • Финальная прошивка main_fullSerial.begin(9600). Это не выбор стиля: на этой скорости работает GPS NEO-6M, а его поток NMEA идёт по тому же RX0, поэтому Nano и Serial Monitor вынужденно делят одну скорость. Подробности — на странице GPS.

Если в мониторе вместо текста идут «кракозябры» — почти всегда неправильно выставлен баудрейт.

Установка библиотек

Через Tools Manage Libraries… поставьте по одной нужные библиотеки. Каждая страница тестов ниже отдельно перечисляет, что ей нужно. Сразу все ставить не обязательно — но удобно один раз сделать в начале.

Библиотека

Автор / источник

Где используется

Adafruit BME280 Library

Adafruit

BME280

Adafruit Unified Sensor

Adafruit

Зависимость BME280

Adafruit CCS811 Library

Adafruit

CCS811

Adafruit BusIO

Adafruit

Зависимость CCS811

RF24

TMRh20

nRF24L01+

TinyGPSPlus

Mikal Hart

GPS NEO-6M

SD, SPI, Wire

встроены в Arduino IDE

SD, шины SPI/I²C

Мини-проверка готовности

  • Плата определяется в IDE (есть выбранный COM-порт).

  • Порт не занят другими программами (закройте PuTTY/Serial Monitor других IDE).

  • Пустой скетч (File Examples 01.Basics BareMinimum) компилируется и заливается без ошибок.

Если эти три пункта проходят — переходите к странице Первичная проверка платы.