7.1 KiB
7.1 KiB
Тренажер "Бесконечная Лестница"
Система управления тренажером "Бесконечная лестница" на базе 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
- Откройте Arduino IDE
- Перейдите в меню Скетч → Подключить библиотеку → Управлять библиотеками...
- Установите следующие библиотеки:
| Библиотека | Поиск в менеджере | Автор |
|---|---|---|
| LiquidCrystal I2C | LiquidCrystal I2C |
Frank de Brabander |
| LedControl | LedControl |
Eberhard Fahle |
Способ 2: Ручная установка
-
Скачайте библиотеки:
-
Распакуйте архивы в папку библиотек Arduino:
- Windows:
C:\Users\<Пользователь>\Documents\Arduino\libraries\ - Linux:
~/Arduino/libraries/ - macOS:
~/Documents/Arduino/libraries/
- Windows:
-
Перезапустите Arduino IDE
Встроенные библиотеки (устанавливать не нужно)
Следующие библиотеки входят в состав Arduino IDE:
SPI.h— для работы с SPI шиной (LED матрица)Wire.h— для работы с I2C шиной (LCD дисплей)EEPROM.h— для сохранения параметров
Прошивка Arduino
Шаг 1: Подготовка
- Установите Arduino IDE (версия 1.8.x или 2.x)
- Установите необходимые библиотеки (см. выше)
- Подключите Arduino Mega 2560 к компьютеру через USB кабель
Шаг 2: Настройка Arduino IDE
- Откройте файл
stairs_arduino.inoв Arduino IDE - Выберите плату: Инструменты → Плата → Arduino Mega or Mega 2560
- Выберите процессор: Инструменты → Процессор → ATmega2560 (Mega 2560)
- Выберите порт: Инструменты → Порт → выберите COM-порт Arduino
- Windows:
COM3,COM4и т.д. - Linux:
/dev/ttyACM0или/dev/ttyUSB0 - macOS:
/dev/cu.usbmodem*
- Windows:
Шаг 3: Загрузка прошивки
- Нажмите кнопку Загрузка (стрелка вправо) или используйте
Ctrl+U - Дождитесь сообщения "Загрузка завершена"
- Откройте Монитор порта (
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: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)
Лицензия
Проект разработан для КГЭУ (Казанский государственный энергетический университет).