🏭 Система ориентации флаконов
Конвейер (цепочка флаконов)
Вход
Датчик флакона
Захват
Датчик метки
Выход
Флакон: ---
Метка: ---
В очереди: 0
На конвейере: 0
Ожидание
0
✅ Обработано
0
❌ Ошибок
0°
🎯 Текущий угол
Лог событий
Управление
START DELAY:
1000
HOLD DELAY:
500
STOP DELAY:
300
Направление:
Целевой угол:
180°
Интервал:
3000
Реализм:
🔧 Аппаратные компоненты
| Компонент | Назначение | Пин Arduino |
|---|---|---|
| Шаговый двигатель 28BYJ-48 | Вращение флакона | 8,9,10,11 |
| Сервопривод | Зажим/освобождение | 13 |
| Датчик метки TCRT5000 | Обнаружение чёрной метки | A0 |
| Датчик флакона TCRT5000 | Обнаружение наличия флакона | 7 |
| Кнопки: ENTER, PLUS, MINUS | Навигация и настройка | 4,5,6 |
| ЖК-дисплей 1602 I2C | Отображение информации | I2C (0x27) |
Схема подключения стандартна для Arduino.
📺 Интерфейс пользователя
START DELAY
Задержка перед вращением (0–5000 мс)
HOLD DELAY
Время доворота (0–2000 мс)
STOP DELAY
Пауза перед освобождением (0–1000 мс)
Целевой угол
Конечная ориентация метки (0–360°)
🎯 Калибровка датчика метки
- На экране CAL нажать +.
- Измерить фон (без метки) → 50 значений.
- Измерить метку → 50 значений.
- Порог = (фон + метка) / 2.
- Результат сохраняется в EEPROM.
Пример: фон=720, метка=280 → порог=500
💾 Сохранение в EEPROM
Энергонезависимость
Все настройки сохраняются при отключении питания.
Контрольная сумма
Защита от повреждения данных.
Автосохранение
Каждое изменение сразу записывается.
⚙️ Алгоритм работы
1. Обнаружение
2. Зажим
3. START DELAY
4. Поиск метки
5. Доворот
6. STOP DELAY
7. Освобождение
8. Выход
✨ Ключевые возможности
- Непрерывный поток флаконов
- Случайное положение метки у каждого
- Ориентация в заданный угол
- Сохранение настроек в EEPROM
- Калибровка датчика метки
- Счётчики обработанных/ошибок