Coche de radiocontrol con Wi-Fi - Qi habilitado
Componentes y suministros
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 8 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 5 | ||||
| × | 1 |
Herramientas y máquinas necesarias
| ||||
| ||||
| ||||
|
Aplicaciones y servicios en línea
|
Acerca de este proyecto
¿Qué construirás en este proyecto?
Este es un proyecto que le mostrará paso a paso cómo crear un coche RC controlado por Wi-Fi que se recargará automáticamente de forma inalámbrica mientras está estacionado.
¿Cómo funciona?
El cerebro del proyecto es el Arduino MKR1000 y está conectado a través de Wi-Fi con su dispositivo móvil. La placa Arduino funciona con una batería Li-Po de 3,7 V. Para el control del motor se utiliza un controlador de motor L293DNE. Sin embargo, necesita al menos 4.5V para funcionar. Incrementaremos el voltaje de 3.7V a 5V con un módulo convertidor de potencia Step-up boost (convierte el voltaje bajo en más alto) y de esta manera el controlador del motor se alimentará con 5V.
Para cargar la batería, la placa Arduino MKR1000 cuenta con un sistema de carga automática para baterías Li-Po. Cuando se conecta una fuente externa (5 VCC) de energía, la batería que está conectada a la placa se está cargando. Entonces, el IDT P9025AC-R-EVK:Qi 5W El receptor se conectará a la placa Arduino como fuente externa (5 V CC). Cuando el coche aparca sobre la estación de carga (que es el IDT P9038-R-EVK - Qi 5W ) Transmisor), la batería se cargará.
El sistema de control presenta dos modos de velocidad:Rápido y Lento.
¿Cómo construirlo?
Pieza de hardware
Suelde los cables en los polos del motor y en la placa del receptor IDT (clavija OUT con cable rojo y clavija GND con cable negro). Para este paso, necesitará un soldador y 6 cables.
Realización del circuito electrónico. Puede utilizar una placa de pruebas para crear su circuito o, si no, puede soldar todas las conexiones.
PRECAUCIÓN:Utilice una batería Li-Po de 3,7 V con al menos 700 mAh de capacidad. De lo contrario, la batería podría sobrecalentarse y explotar.
Ajuste del CN6009. Módulo convertidor de potencia elevador a 5V. Para ajustar el valor de salida de CN6009, utilice un destornillador. Asegúrese de verificar el voltaje de salida (conectando un voltímetro a los pines OUT + y OUT-).
Conexión del receptor Qi 5W de potencia inalámbrica IDT. Tome un trozo de plástico (por ejemplo, una tarjeta de plástico) para hacer una base para el receptor de energía inalámbrico en la parte inferior del automóvil. Luego pegue la pieza de plástico y el receptor a la parte inferior del automóvil con silicona. Finalmente, conecte el cable rojo del Receptor IDT al pin VIN del arduino y el cable negro al pin GND.
Establecimiento del vehículo. Sujete con ataduras la batería y el tablero al vehículo.
Parte del software:conexión Wi-Fi
Para esta parte, simplemente copie el código. En el archivo de código, ingrese el SSID y la contraseña de su red (líneas 12, 13 en el archivo de código). Necesita seguir las instrucciones de comentarios. El código está configurado actualmente para funcionar con redes WPA / WPA2. Si desea conectarse a un WEP o una red abierta siga las instrucciones en los comentarios del código (líneas 34-37).
¿Cómo se usa?
Paso 1:Conexión al Arduino MKR1000
Controlar el vehículo requiere una conexión Wi-Fi. Puede lograrlo de dos maneras. El primero es habilitar el punto de acceso Wi-Fi en su dispositivo móvil y conectar la placa al punto de acceso. El segundo es conectar su dispositivo móvil y la placa Arduino al mismo enrutador Wi-Fi. Asegúrese de completar la configuración de SSID y contraseña de su enrutador en el archivo de código que se cargará en la placa Arduino.
Nota:Es mejor utilizar el primer método (punto de acceso Wi-Fi) porque de esta manera puede controlar su vehículo sin la necesidad de un enrutador.
Paso 2:Obtener la dirección IP del Arduino MKR1000
Si la placa Arduino está conectada al punto de acceso de su dispositivo móvil, vaya a la configuración del punto de acceso Wi-Fi y allí verá la dirección IP de su placa (por ejemplo, 192.168.1.1).
Si la placa Arduino está conectada a una ruta Wi-Fi, entonces debe verificarlo desde la configuración del enrutador.
El LED del automóvil indica una conexión exitosa a la red especificada y la activación del servidor.
Paso 3:Acceder al servidor web del Arduino MKR1000
Vaya a su navegador y en el cuadro de URL escriba la dirección IP de su Arduino.
Paso 4:Conexión de la base de carga
Conecte el transmisor IDT P9038-R-EVK - Qi de 5 W a un enchufe de pared con un adaptador de 5 V CC.
Paso 5:¡Diviértete!
¡¡Tiempo de carga !!
Prueba de manejo:
Archivos Gerber de PCBWeb
Código
- Arduino_IDT_Wi-Fi_Car.ino
Arduino_IDT_Wi-Fi_Car.ino Arduino
Reemplace el ejemplo y la contraseña en las líneas 12-13 con su ssid y contraseña respectivamente.#include#include const int motor1Control =2; // Derecha motorconst int motor2Control =3; // Izquierda motorconst int motor1Input1 =4; const int motor1Input2 =5; const int motor2Input1 =8; const int motor2Input2 =9; const int wifiLed =10; // Para indicar una conexión Wi-Fi correctachar ssid [] ="ejemplo"; // Complete el SSID de su red (nombre) char pass [] ="contraseña"; // Complete su contraseña de redint keyIndex =0; // Ingrese su clave de red Número de índice (Opcional - necesario solo para WEP) int status =WL_IDLE_STATUS; String readString; WiFiServer server (80); // Defina el puerto del serverString speedMode ="fast"; void setup () {pinMode (motor1Control, OUTPUT); pinMode (motor2Control, SALIDA); pinMode (motor1Input1, OUTPUT); pinMode (motor1Input2, OUTPUT); pinMode (motor2Input1, OUTPUT); pinMode (motor2Input2, OUTPUT); pinMode (wifiLed, SALIDA); // Intente conectarse a la red Wifi:while (status! =WL_CONNECTED) {// Conéctese a la red WPA / WPA2. Cambie esta línea si usa una red abierta o WEP:// Para una red WEP, reemplace con:status =WiFi.begin (ssid, keyIndex, pass); // Para red abierta, reemplace con:status =WiFi.begin (ssid); status =WiFi.begin (ssid, pass); // esperar 10 segundos para la conexión:delay (10000); } // Inicie el servidor web server.begin (); // Indica que el servidor está ejecutando digitalWrite (wifiLed, HIGH);} void loop () {// Escucha a los clientes entrantes WiFiClient client =server.available (); if (cliente) {// una solicitud http termina con una línea en blanco boolean currentLineIsBlank =true; while (cliente.conectado ()) {if (cliente disponible ()) {char c =cliente.read (); // Si ha llegado al final de la línea (recibió un carácter // de nueva línea) y la línea está en blanco, la solicitud http ha finalizado, // entonces puede enviar una respuesta si (readString.length () <100 ) {// almacena caracteres en la cadena readString + =c; } if (c =='\ n') {// envía un encabezado de respuesta http estándar client.println ("HTTP / 1.1 200 OK"); client.println ("Tipo de contenido:texto / html"); cliente.println (); client.println (""); cliente.println (""); client.println (" "); client.println (" "); client.println ("un.button {-webkit-apariencia:botón;"); client.println ("- apariencia-moz:botón;"); client.println ("apariencia:botón;"); client.println ("altura:400px;"); client.println ("altura de línea:400px;"); client.println ("text-align:center;"); client.println ("decoración de texto:ninguna;"); client.println ("tamaño de fuente:100px;"); client.println ("color:inicial;}"); cliente.println (""); client.println (""); client.println (" "); // Botón para avanzar client.println (" FORWARDS "); client.println ("
"); // Botón para girar a la izquierda client.println (" IZQUIERDA "); // Botón para detener el coche client.println (" STOP " ); // Botón para girar a la derecha client.println (" RIGHT "); cliente.println ("
"); // Botón para retroceder client.println (" HACIA ATRÁS "); client.println ("
"); client.println ("
"); // Botón para retroceder client.println ("MODOS DE VELOCIDAD
"); client.println (" FAST "); client.println (" SLOW "); client.println ("