Машинка 4x4 на Arduino з управлінням по WiFi з Android

Машинка 4x4

RC машинка може бути WiFi машинкою ...?

RC машинка це добре, але дешеві RC машинки мають обмежений діапазон і управляються лише певним пультом, що постачається в комплекті.

Я купив RC джип 4х4 з гнучкою підвіскою та позашляховими шинами приблизно за 30 доларів. Погравшись з машинкою, я вирішив, що її можна поліпшити за допомогою Wi-Fi та Android. Потративши трохи часу, я повністю видалив плату з машинки. Я заміряв напруги на цій платі та розробив систему управління двигуном за допомогою Arduino. Оригінальна система управління не використовує ШІМ для контролю швидкості. Машинка розрахована на переїзд через перешкоди на дуже низькій передачі, і, як наслідок, дуже повільно. У моїй же схемі використовується ШІМ.

Я використовую Arduino вже кілька місяців. Я також придбав asynclabs WiFi Shield для Duemilanoe Arduino, щоб експериментувати з WiFi. Він постачається з бібліотекою, що встановлюється в Arduino IDE. Я зміг зробити програму, яка дозволяє керувати двигунами та напрямком руху за допомогою WiFi.

За допомогою Visual Studio я розробив вікно програми, яке підключається до сервера автомобіля та дає йому команди. Потім після кількох спроб я написав додаток для Android, яке використовує акселерометр для управління машинкою.

Інструменти та елементи

Це загальний список інструментів і елементів, які використовувалися в цьому проекті. В документації Eagle вказані точні технічні характеристики використаних компонентів.

Arduino, Wi-Fi шилд і Motor шилд

Мультиметр
Паяльник
Припій
Викрутки
Розчин для травлення плат
Фольгований склотекстолит
Плоскогубці
Arduino
AsyncLabs WiFi Shield
Роз'єми RJ45
Драйвер двигуна з H-мостом
Конденсатори

Сендвіч з Arduino, Wi-Fi шилд і Motor шилд

Драйвер двигунів

Схема драйвера двигунів (мотор шилд)

Використовуючи Eagle, я розробив цю схему і зробив друковану плату для неї. Вона функціонує як драйвер двигунів і регулятор їх потужності для Arduino.
Це дозволяє використовувати стандартний 7.2В акумулятор для живлення основних і рульових двигунів та Arduino.

У цій схемі використовується подвійний інтегральний драйвер з Н-мостом SN754410 для управління двигунами. Виводи управління драйвера під'єднані до кабелю RJ45, який підключається до AsyncLabs WiFi Shield.

Arduino Shield

Схема Arduino Shield

Використовуючи бібліотеку SparkFun в Eagle, я розробив Arduino Shield, через який проходитимуть контакти з WiFi Shield і підключатимуться до драйвера двигуна через роз'єм RJ45 та 2 гвинтові клеми.

Цоколевка контактів RJ45 дуже важлива. Помилка в підключенні може призвести до непередбачуваних результатів, і доведеться переробляти плату.

Травлення друкованих плат

Цю тему було розкрито багато разів, і я не буду детально описувати її.  
Я використовую ЛУТ, і він мене влаштовує, а з досвідом дає чудові результати.

Розміщення електроніки

Для кріплення плати до корпусу використовувалися липучки. Мені пощастило, оскільки в моїй машинці було багато місця для електроніки під трубчастим каркасом.
Я забув сфотографувати з'єднання плати драйвера двигуна з іншими платами, однак вона добре стала і не зайняла багато місця в корпусі.

Розміщення електроніки

Програма

Мій код може бути не досить ефективним, але він працює.

Машинка

Мені вдалося зібрати CarServer на основі прикладу SocketServer, який я отримав разом з Wifi Shield AsynLabs.
Вам необхідно буде ввести інформацію про свою бездротову мережу в код Arduino. Коли машина ввімкнеться, дайте їй 15-45 секунд, щоб встановити з'єднання з маршрутизатором. Червоний світлодіод на WiFi Shield означає, що з'єднання встановлено.

Програма в Windows

Я зробив цю програму за допомогою C# та MS Visual Studio 2008. Я зробив гарне вікно, і автомобілем можна керувати стрілками.

Програма в Windows

Android

Чому б не керувати машинкою з телефону?

Таке питання виникло у мене приблизно через тиждень після покупки DroidX. Я почав експериментувати і врешті-решт використав Android SDK. Я знайшов аналогічні програми, де для управління використовується акселерометр. Дивлячись на ці програми, написав своє.

Вставити IP та порт, вказані в коді Arduino. Тримайте телефон горизонтально. Потім нахиліть його від себе, щоб їхати вперед, і до себе, щоб їхати назад. Використовуйте телефон як руль.
Це моє перше велике додаток для Android. У ньому досі є деякі помилки, але в основному воно працює нормально.

Керуйте у дворі машинкою 4x4 з WiFi!

Я чудово провів час, створюючи цей проект. Я отримав багато знань і нових навичок, і тепер у мене є машинка 4х4, якою можна керувати з телефону.

Мені потрібна камера для встановлення за лобовим склом, щоб бачити, куди їхати. Вона повинна бути з низьким енергоспоживанням, а також передавати відео сама по собі. (Я думаю, що Arduino впорається з цим).

Машинка 4x4 з Wi-Fi

Список радіоелементів

Обозначення Тип Номінал Кількість Примітка
Драйвер двигунів
IC1 Мікросхема SN754410 1
Лінійний регулятор 5 В 1
Біполярний транзистор
2N3904
1
C1, C2 Електролітичний конденсатор 2
Роз'єм 2 вивода 7
Роз'єм 8 виводів 1
Arduino Shield
U1 Плата Arduino 1
Т1 Біполярний транзистор
2N3904
1
R1 Резистор 1
U$3 Потенціометр 1
Роз'єм 2 вивода 2
U$1 Роз'єм RJ45-8PTH 1
U$2 Датчик температури 1

Оригінал статті

Прикреплені файли:

Top