# Тренажер "Бесконечная Лестница" Система управления тренажером "Бесконечная лестница" на базе Arduino Mega 2560. ## Описание проекта Данный проект представляет собой систему управления тренажером с функциями: - Управление скоростью двигателя (0-100%) - Два режима тренировки: по времени и по дистанции - Отображение параметров на LCD дисплее 16x2 - Отображение скорости на LED матрице 8x MAX7219 - Локальное управление кнопками - Радиоуправление (7 кнопок) - Система безопасности с аварийной остановкой - Сохранение параметров в EEPROM ## Необходимое оборудование - Arduino Mega 2560 - LCD дисплей 16x2 с I2C модулем (адрес 0x27) - LED матрица 8x MAX7219 - Энкодер LPD3806-360BM-G5-24C - Драйвер двигателя с PWM управлением - Кнопки управления - Приемник радиоуправления ## Установка библиотек ### Способ 1: Через менеджер библиотек Arduino IDE 1. Откройте Arduino IDE 2. Перейдите в меню **Скетч** → **Подключить библиотеку** → **Управлять библиотеками...** 3. Установите следующие библиотеки: | Библиотека | Поиск в менеджере | Автор | |------------|-------------------|-------| | LiquidCrystal I2C | `LiquidCrystal I2C` | Frank de Brabander | | LedControl | `LedControl` | Eberhard Fahle | ### Способ 2: Ручная установка 1. Скачайте библиотеки: - [LiquidCrystal_I2C](https://github.com/johnrickman/LiquidCrystal_I2C) - [LedControl](https://github.com/wayoda/LedControl) 2. Распакуйте архивы в папку библиотек Arduino: - **Windows:** `C:\Users\<Пользователь>\Documents\Arduino\libraries\` - **Linux:** `~/Arduino/libraries/` - **macOS:** `~/Documents/Arduino/libraries/` 3. Перезапустите Arduino IDE ### Встроенные библиотеки (устанавливать не нужно) Следующие библиотеки входят в состав Arduino IDE: - `SPI.h` — для работы с SPI шиной (LED матрица) - `Wire.h` — для работы с I2C шиной (LCD дисплей) - `EEPROM.h` — для сохранения параметров ## Прошивка Arduino ### Шаг 1: Подготовка 1. Установите [Arduino IDE](https://www.arduino.cc/en/software) (версия 1.8.x или 2.x) 2. Установите необходимые библиотеки (см. выше) 3. Подключите Arduino Mega 2560 к компьютеру через USB кабель ### Шаг 2: Настройка Arduino IDE 1. Откройте файл `stairs_arduino.ino` в Arduino IDE 2. Выберите плату: **Инструменты** → **Плата** → **Arduino Mega or Mega 2560** 3. Выберите процессор: **Инструменты** → **Процессор** → **ATmega2560 (Mega 2560)** 4. Выберите порт: **Инструменты** → **Порт** → выберите COM-порт Arduino - **Windows:** `COM3`, `COM4` и т.д. - **Linux:** `/dev/ttyACM0` или `/dev/ttyUSB0` - **macOS:** `/dev/cu.usbmodem*` ### Шаг 3: Загрузка прошивки 1. Нажмите кнопку **Загрузка** (стрелка вправо) или используйте `Ctrl+U` 2. Дождитесь сообщения "Загрузка завершена" 3. Откройте **Монитор порта** (`Ctrl+Shift+M`) для проверки работы - Установите скорость: **115200 бод** ## Схема подключения ### Управление двигателем | Пин Arduino | Назначение | |-------------|------------| | 9 | PWM выход | | 19 | Enable выход | ### Кнопки локального управления | Пин Arduino | Назначение | |-------------|------------| | 22 | Выбор режима | | 23 | Увеличение параметра | | 24 | Уменьшение параметра | | 25 | Сброс параметров | | 26 | Старт | | 27 | Стоп | | 30 | Уменьшение скорости | | 31 | Увеличение скорости | | 29 | Аварийная кнопка (грибок) | | 32 | Лазерные датчики безопасности | ### Радиоуправление | Пин Arduino | Назначение | |-------------|------------| | 40 | Скорость + | | 41 | Скорость - | | 42 | Старт/Стоп | | 43 | Выбор режима | | 44 | Сброс | | 45 | Уменьшение | | 46 | Увеличение | ### Датчики | Пин Arduino | Назначение | |-------------|------------| | 2 | Энкодер A (INT0) | | 3 | Энкодер B (INT1) | | 33 | Концевой выключатель | ### Дисплеи | Пин Arduino | Назначение | |-------------|------------| | 20 (SDA) | LCD I2C данные | | 21 (SCL) | LCD I2C тактирование | | 51 (MOSI) | LED матрица DIN | | 52 (SCK) | LED матрица CLK | | 53 (SS) | LED матрица CS | ### Светодиоды статуса | Пин Arduino | Назначение | |-------------|------------| | 35 | Зеленый (работа) | | 36 | Красный (стоп) | | 37 | Аварийный | ## Устранение неполадок ### Arduino не определяется **Windows:** - Установите драйвер CH340 (для китайских клонов Arduino) - Проверьте диспетчер устройств **Linux:** - Добавьте пользователя в группу `dialout`: ```bash sudo usermod -a -G dialout $USER ``` - Перезагрузите компьютер ### Ошибка "avrdude: stk500v2_ReceiveMessage(): timeout" - Проверьте правильность выбора платы и порта - Попробуйте другой USB кабель - Нажмите кнопку Reset на Arduino перед загрузкой ### LCD дисплей не работает - Проверьте I2C адрес (может быть 0x27 или 0x3F) - Проверьте подключение SDA/SCL - Настройте контрастность потенциометром на I2C модуле ### LED матрица не работает - Проверьте подключение SPI (DIN, CLK, CS) - Проверьте питание матрицы (5V) ## Лицензия Проект разработан для КГЭУ (Казанский государственный энергетический университет).