Радиоуправляемый автомобиль с Wi-Fi - Qi включен
Компоненты и расходные материалы
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 8 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 5 | ||||
| × | 1 |
Необходимые инструменты и машины
| ||||
| ||||
| ||||
|
Приложения и онлайн-сервисы
|
Об этом проекте
Что вы построите в этом проекте?
Это проект, который шаг за шагом покажет вам, как создать радиоуправляемую машину с Wi-Fi, которая будет автоматически заряжаться по беспроводной сети, когда она припаркована.
Как это работает?
Мозгом проекта является Arduino MKR1000, который подключается через Wi-Fi к вашему мобильному устройству. Плата Arduino питается от литий-полимерной батареи 3,7 В. Для управления двигателем используется драйвер двигателя L293DNE. Однако для работы требуется не менее 4,5 В. Мы повысим напряжение с 3,7 В до 5 В с помощью повышающего модуля преобразователя мощности (преобразует низкое напряжение в более высокое), и таким образом драйвер двигателя будет питаться от 5 В.
Для зарядки аккумулятора на плате Arduino MKR1000 имеется автоматическая система зарядки Li-Po аккумуляторов. Когда подключен внешний источник (5 В постоянного тока), аккумулятор, подключенный к плате, заряжается. Итак, IDT P9025AC-R-EVK - Qi 5W Приемник будет подключен к плате Arduino как внешний источник (5 В постоянного тока). Когда автомобиль припаркован над зарядной станцией (это IDT P9038-R-EVK - Qi 5W Передатчик), аккумулятор зарядится.
Система управления имеет два скоростных режима:быстрый и медленный.
Как его построить?
Аппаратная часть
Припаяйте провода к полюсам двигателя и на плате приемника IDT (вывод OUT с красным проводом и контакт GND с черным проводом). Для этого вам понадобится паяльник и 6 проводов.
Изготовление электронной схемы. Вы можете использовать макетную плату для создания своей схемы или припаять все соединения.
ВНИМАНИЕ! Используйте Li-Po аккумулятор на 3,7 В с емкостью не менее 700 мАч! В противном случае аккумулятор может перегреться и взорваться!
Регулировка CN6009. Модуль повышающего преобразователя мощности до 5В. Чтобы отрегулировать выходное значение CN6009, используйте отвертку. Обязательно проверьте выходное напряжение (подключив вольтметр к контактам OUT + и OUT-).
Подключение приемника IDT Wireless Power Qi 5W. Возьмите кусок пластика (например, пластиковую карту), чтобы сделать подставку для беспроводного приемника питания на днище автомобиля. Затем при помощи силикона приклеиваем к днищу автомобиля деталь из пластика и ресивер. Наконец, подключите красный провод приемника IDT к контакту VIN Arduino, а черный провод - к контакту GND.
Обеспечение устойчивости автомобиля. Закрепите стяжками аккумулятор и макетную плату к автомобилю.
Программная часть - соединение Wi-Fi
Для этой части просто скопируйте код. В файле кода введите SSID и пароль вашей сети (строки 12, 13 в файле кода). Вам нужно следовать инструкциям по комментариям. Код в настоящее время настроен для работы с сетями WPA / WPA2. Если вы хотите подключиться к WEP или открытой сети, следуйте инструкциям в комментариях кода (строки 34–37).
Как им пользоваться?
Шаг 1. Подключение к Arduino MKR1000
Для управления автомобилем требуется соединение Wi-Fi. Этого можно добиться двумя способами. Первый - включить точку доступа Wi-Fi на мобильном устройстве и подключить плату к точке доступа. Второй - подключить мобильное устройство и плату Arduino к одному и тому же маршрутизатору Wi-Fi. Обязательно укажите параметры SSID и пароля вашего маршрутизатора в файле кода, который будет загружен на плату Arduino.
Примечание. Лучше использовать первый метод (точка доступа Wi-Fi), потому что таким образом вы можете управлять своим автомобилем без маршрутизатора.
Шаг 2. Получение IP-адреса Arduino MKR1000
Если плата Arduino подключена к точке доступа вашего мобильного устройства, перейдите в настройки точки доступа Wi-Fi и там вы увидите IP-адрес вашей платы (например, 192.168.1.1).
Если плата Arduino подключена к маршрутизатору Wi-Fi, вам необходимо проверить это в настройках маршрутизатора.
Светодиод на автомобиле указывает на успешное подключение к указанной сети и активацию сервера.
Шаг 3. Доступ к веб-серверу Arduino MKR1000
Перейдите в браузер и в поле URL введите IP-адрес вашего Arduino.
Шаг 4. Подключение зарядной базы
Подключите передатчик IDT P9038-R-EVK - Qi 5 Вт к розетке с помощью адаптера постоянного тока 5 В
Шаг 5. Удачи!
Время зарядки !!
Тест-драйв:
Гербер-файлы PCBWeb
Код
- Arduino_IDT_Wi-Fi_Car.ino
Arduino_IDT_Wi-Fi_Car.ino Arduino
Замените пример и пароль в строках 12-13 на ваш ssid и пароль соответственно.#include#include const int motor1Control =2; // Правый motorconst int motor2Control =3; // Левый моторconst int motor1Input1 =4; const int motor1Input2 =5; const int motor2Input1 =8; const int motor2Input2 =9; const int wifiLed =10; // Для индикации успешного подключения к Wi-Fichar ssid [] ="example"; // Введите SSID (имя) вашей сети char pass [] ="пароль"; // Введите свой сетевой пароль int keyIndex =0; // Введите номер индекса вашего сетевого ключа (необязательно - требуется только для WEP) int status =WL_IDLE_STATUS; String readString; WiFiServer server (80); // Определяем порт serverString speedMode ="fast"; void setup () {pinMode (motor1Control, OUTPUT); pinMode (motor2Control, ВЫХОД); pinMode (мотор1Вход1, ВЫХОД); pinMode (мотор1Вход2, ВЫХОД); pinMode (мотор2Вход1, ВЫХОД); pinMode (мотор2Вход2, ВЫХОД); pinMode (Wi-Fi, ВЫХОД); // Попытка подключиться к сети Wi-Fi:while (status! =WL_CONNECTED) {// Подключиться к сети WPA / WPA2. Измените эту строку, если используете открытую сеть или сеть WEP:// Для сети WEP замените на:status =WiFi.begin (ssid, keyIndex, pass); // Для открытой сети замените на:status =WiFi.begin (ssid); status =WiFi.begin (ssid, pass); // ждем 10 секунд подключения:delay (10000); } // Запускаем веб-сервер server.begin (); // Указываем, что на сервере работает digitalWrite (wifiLed, HIGH);} void loop () {// Слушать входящих клиентов WiFiClient client =server.available (); if (client) {// http-запрос заканчивается пустой строкой boolean currentLineIsBlank =true; в то время как (client.connected ()) {если (client.available ()) {char c =client.read (); // Если вы дошли до конца строки (получили // символ новой строки) и строка пуста, HTTP-запрос завершен, // поэтому вы можете отправить ответ if (readString.length () <100 ) {// сохраняем символы в строку readString + =c; } if (c =='\ n') {// отправляем стандартный HTTP-заголовок ответа client.println ("HTTP / 1.1 200 OK"); client.println ("Content-Type:text / html"); client.println (); client.println (""); client.println (""); client.println ("<заголовок>"); client.println ("<стиль>"); client.println ("a.button {-webkit-appearance:button;"); client.println ("- moz-внешний вид:кнопка;"); client.println ("внешний вид:кнопка;"); client.println ("высота:400 пикселей;"); client.println ("высота строки:400 пикселей;"); client.println ("выравнивание текста:центр;"); client.println ("украшение текста:нет;"); client.println ("размер шрифта:100 пикселей;"); client.println ("цвет:начальный;}"); client.println (""); client.println (""); client.println ("<тело>"); // Кнопка для перемещения вперед client.println (" FORWARDS "); client.println ("
"); // Кнопка поворота влево client.println (" ВЛЕВО "); // Кнопка остановки автомобиля client.println (" STOP " ); // Кнопка поворота вправо client.println (" ВПРАВО "); client.println ("
"); // Кнопка для перемещения назад client.println (" НАЗАД "); client.println ("
"); client.println ("
"); // Кнопка для перемещения назад client.println ("РЕЖИМЫ СКОРОСТИ
"); client.println (" БЫСТРО а> "); client.println (" SLOW "); client.println ("