Skip to content

Repository files navigation

🚗 Безжично Управление на Кола с Меканум Колела

📁 Активни Файлове

ВАЖНО: В момента се използват следните два файла:

Файл Описание
sender-pwm/sender-pwm.ino Предавател (джойстик контролер)
wireless-drive-pwm_2/wireless-drive-pwm_2.ino Приемник (кола с мотори)

🎮 Как Работи Системата

Общ Преглед

┌─────────────────┐     RF 433MHz     ┌─────────────────┐
│   ПРЕДАВАТЕЛ    │ ================► │    ПРИЕМНИК     │
│   (Джойстик)    │                   │     (Кола)      │
└─────────────────┘                   └─────────────────┘

Системата използва RF 433MHz радио комуникация за безжично управление на кола с 4 меканум колела.


📡 Предавател (sender-pwm.ino)

Пинове

Пин Функция
A0 Потенциометър 1 (Y-ос: напред/назад)
A1 Потенциометър 2 (X-ос: ляво/дясно)
A2 Бутон
12 TX (данни към RF предавател)

Как Работи

  1. Чете стойности от джойстика (0-1023)
  2. Пакетира данните в 6 байта
  3. Изпраща пакета през RF модула
  4. Повтаря на всеки 10ms (~100 пакета/сек)

Deadzone (Мъртва Зона)

  • Център: 512
  • Deadzone: ±50 (от 462 до 562)
  • Ако джойстика е в тази зона → СТОП

🚙 Приемник (wireless-drive-pwm_2.ino)

Пинове на Моторите

Мотор Позиция PWM Пин Посока Пин
M1 Долу Дясно 3 2
M2 Горе Дясно 5 8
M3 Горе Ляво 11 13
M4 Долу Ляво 6 12

RF Приемник

Пин Функция
4 RX (данни от RF приемник)

Как Работи

  1. Получава пакет от предавателя
  2. Декодира стойностите на джойстика
  3. Определя посоката на движение
  4. Управлява 4-те мотора съответно

🕹️ Управление

Основни Движения

Джойстик Действие
↑ Напред Всички мотори напред
↓ Назад Всички мотори назад
← Ляво Странично плъзгане наляво
→ Дясно Странично плъзгане надясно

Диагонални Движения

Джойстик Действие
↗ Напред-Дясно Диагонално напред-дясно
↖ Напред-Ляво Диагонално напред-ляво
↘ Назад-Дясно Диагонално назад-дясно
↙ Назад-Ляво Диагонално назад-ляво

⚡ Технически Параметри

Параметър Стойност
RF Скорост 4000 bps
Serial Baud Rate 115200
Изпращане на пакети ~100/сек
Timeout (при загуба на сигнал) 250ms
Минимална скорост (PWM) 80 (от 0-255)
Максимална скорост (PWM) 255 (от 0-255)

📊 Аналогово PWM Управление

Скоростта на моторите е пропорционална на позицията на джойстика:

         Напред (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 (вградена)

Стъпки

  1. Инсталирай RadioHead библиотеката в Arduino IDE
  2. Качи sender-pwm.ino на Arduino-то с джойстика
  3. Качи wireless-drive-pwm_2.ino на Arduino-то в колата
  4. Свържи хардуера според пиновете по-горе
  5. Отвори 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

About

Wireless car drive with a joystick over radio transmitted signal

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages