ВАЖНО: В момента се използват следните два файла:
| Файл | Описание |
|---|---|
sender-pwm/sender-pwm.ino |
Предавател (джойстик контролер) |
wireless-drive-pwm_2/wireless-drive-pwm_2.ino |
Приемник (кола с мотори) |
┌─────────────────┐ RF 433MHz ┌─────────────────┐
│ ПРЕДАВАТЕЛ │ ================► │ ПРИЕМНИК │
│ (Джойстик) │ │ (Кола) │
└─────────────────┘ └─────────────────┘
Системата използва RF 433MHz радио комуникация за безжично управление на кола с 4 меканум колела.
| Пин | Функция |
|---|---|
| A0 | Потенциометър 1 (Y-ос: напред/назад) |
| A1 | Потенциометър 2 (X-ос: ляво/дясно) |
| A2 | Бутон |
| 12 | TX (данни към RF предавател) |
- Чете стойности от джойстика (0-1023)
- Пакетира данните в 6 байта
- Изпраща пакета през RF модула
- Повтаря на всеки 10ms (~100 пакета/сек)
- Център: 512
- Deadzone: ±50 (от 462 до 562)
- Ако джойстика е в тази зона → СТОП
| Мотор | Позиция | PWM Пин | Посока Пин |
|---|---|---|---|
| M1 | Долу Дясно | 3 | 2 |
| M2 | Горе Дясно | 5 | 8 |
| M3 | Горе Ляво | 11 | 13 |
| M4 | Долу Ляво | 6 | 12 |
| Пин | Функция |
|---|---|
| 4 | RX (данни от RF приемник) |
- Получава пакет от предавателя
- Декодира стойностите на джойстика
- Определя посоката на движение
- Управлява 4-те мотора съответно
| Джойстик | Действие |
|---|---|
| ↑ Напред | Всички мотори напред |
| ↓ Назад | Всички мотори назад |
| ← Ляво | Странично плъзгане наляво |
| → Дясно | Странично плъзгане надясно |
| Джойстик | Действие |
|---|---|
| ↗ Напред-Дясно | Диагонално напред-дясно |
| ↖ Напред-Ляво | Диагонално напред-ляво |
| ↘ Назад-Дясно | Диагонално назад-дясно |
| ↙ Назад-Ляво | Диагонално назад-ляво |
| Параметър | Стойност |
|---|---|
| RF Скорост | 4000 bps |
| Serial Baud Rate | 115200 |
| Изпращане на пакети | ~100/сек |
| Timeout (при загуба на сигнал) | 250ms |
| Минимална скорост (PWM) | 80 (от 0-255) |
| Максимална скорост (PWM) | 255 (от 0-255) |
Скоростта на моторите е пропорционална на позицията на джойстика:
Напред (0)
↑
| Бърза скорост (PWM 255)
|
| Средна скорост (~PWM 160)
|
═══════════════════ Deadzone (462-562) → СТОП
|
| Средна скорост (~PWM 160)
|
| Бърза скорост (PWM 255)
↓
Назад (1023)
- В центъра (deadzone 462-562): Моторите са спрени
- Леко отклонение: Ниска скорост (PWM ~80)
- Пълно отклонение: Максимална скорост (PWM 255)
RH_ASK(RadioHead ASK библиотека)SPI(вградена)
- Инсталирай RadioHead библиотеката в Arduino IDE
- Качи
sender-pwm.inoна Arduino-то с джойстика - Качи
wireless-drive-pwm_2.inoна Arduino-то в колата - Свържи хардуера според пиновете по-горе
- Отвори Serial Monitor на 115200 baud за дебъгване
За да включиш подробен изход в Serial Monitor:
// В sender-pwm.ino или wireless-drive-pwm_2.ino
const bool DEBUG_MODE = true; // Промени от false на true
⚠️ Внимание: Debug режимът добавя латентност! Изключи го за нормална употреба.
- PWM пинове 5 и 6 са преместени от 9 и 10, защото RH_ASK използва Timer1
- Timer0 (пинове 5, 6) и Timer2 (пинове 3, 11) работят нормално
- При загуба на сигнал за повече от 250ms, моторите спират автоматично
Тези файлове НЕ се използват в момента, но са налични за справка:
sender/sender.ino- Стара версия на предавателяsender-manchester/sender-manchester.ino- Версия с Manchester кодиране- Други тестови файлове за отделни мотори
Последна актуализация: 03.02.2026