Si está interesado en el lugar exacto en el que se encuentra la ISS (Estación Espacial Internacional), entonces este proyecto es para usted.
Dentro del dispositivo hay dos motores paso a paso que controlan la posición del láser. También se implementa la iluminación de esa parte de la Tierra en la que caen los rayos del sol.
Herramientas y materiales:
-Tierra impresa en 3D con un diámetro de 18 cm;
-3D impresora;
-Tubo de cobre;
-Teja de hormigón;
-Módulo Wemos D1 Mini con Wi-Fi;
- Servocontrolador EMAX ES3352 MG;
-Motor de pasos 28BYJ-48 con placa de conductor ULN2003;
-10 LEDs NeoPixels;
-Láser con una longitud de onda de 405 nm;
- Interruptor de límite;
- Fuente de alimentación 5V 3A;
Paso uno: impresión 3D
Para ensamblar todo el equipo, necesita imprimir los detalles del marco. Puede descargar archivos para imprimir aqui.
El marco tiene tres partes:
-base - para montar un motor paso a paso, WEMOS, cinta Neopixels y tubo de cobre.
- la parte central para instalar el interruptor de límite;
- La parte superior es para montar un servomotor.
Paso dos: conectar y construir
Para la alimentación, se suministrará un voltaje de 5V 3A. La alimentación se suministra desde el conector al controlador de pasos, láser, LED y el módulo Wemos.
A continuación, debe establecer una conexión con Wemos:
1) conductor de paso
IN1-> D5
IN2-> D6
IN3-> D7
IN4-> D8
2) Servomotor
Pin de servo de datos -> D1
3) LEDs
Pin Neopixels -> D2
4) Interruptor de límite
Dos pines del interruptor en GND y D3
Paso tres: código
Para que dos motores se muevan sincrónicamente con la ISS, debe obtener la posición de la ISS en tiempo real:
Para hacer esto, primero usaremos la API de Abrir notificar aquí
Luego, debe analizar los datos para obtener el valor de ubicación de ISS mediante el análisis de datos: Biblioteca ArduinoJson
#include 0) {// Análisis
const size_t bufferSize = JSON_OBJECT_SIZE (2) + JSON_OBJECT_SIZE (3) + 100;
DynamicJsonBuffer jsonBuffer (bufferSize);
JsonObject & root = jsonBuffer.parseObject (http.getString ()); // parámetros
const char * mensaje = raíz ["mensaje"];
const char * lon = root ["iss_position"] ["longitud"];
const char * lat = root ["posición_emision"] ["latitud"]; // Salida al monitor en serie
Serial.print ("Mensaje:");
Serial.println (mensaje);
Serial.print ("Longitud:");
Serial.println (lon);
Serial.print ("Latitud:");
Serial.println (lat);
}
http.end (); // Cerrar conexión
}
retraso (50000);
}
Código siguiente Arduino le permite obtener la ubicación de la ISS para mover el láser a la ubicación deseada en la superficie de la Tierra y obtener la posición del Sol para iluminar los LED correspondientes en la superficie de la Tierra, iluminados por el Sol.
ISS_Tracker_Final.ino
Todo esta listo.