first commit
This commit is contained in:
51
.gitignore
vendored
Normal file
51
.gitignore
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
# Arduino build files
|
||||
*.elf
|
||||
*.hex
|
||||
*.bin
|
||||
*.eep
|
||||
|
||||
# Build directories
|
||||
build/
|
||||
.build/
|
||||
Release/
|
||||
Debug/
|
||||
|
||||
# Arduino IDE
|
||||
*.arduino-cache/
|
||||
.arduino15/
|
||||
|
||||
# PlatformIO
|
||||
.pio/
|
||||
.pioenvs/
|
||||
.piolibdeps/
|
||||
|
||||
# VSCode Arduino extension
|
||||
.vscode/c_cpp_properties.json
|
||||
.vscode/arduino.json
|
||||
.vscode/launch.json
|
||||
|
||||
# IDE settings
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
|
||||
# OS files
|
||||
.DS_Store
|
||||
.DS_Store?
|
||||
._*
|
||||
.Spotlight-V100
|
||||
.Trashes
|
||||
ehthumbs.db
|
||||
Thumbs.db
|
||||
|
||||
# Backup files
|
||||
*.bak
|
||||
*.orig
|
||||
*.tmp
|
||||
|
||||
# Log files
|
||||
*.log
|
||||
|
||||
# Local configuration
|
||||
secrets.h
|
||||
config_local.h
|
||||
175
README.md
Normal file
175
README.md
Normal file
@@ -0,0 +1,175 @@
|
||||
# Тренажер "Бесконечная Лестница"
|
||||
|
||||
Система управления тренажером "Бесконечная лестница" на базе 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)
|
||||
|
||||
## Лицензия
|
||||
|
||||
Проект разработан для КГЭУ (Казанский государственный энергетический университет).
|
||||
2568
stairs_arduino.ino
Normal file
2568
stairs_arduino.ino
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user