Table des matières:

Lampe de suivi ISS : 5 étapes (avec photos)
Lampe de suivi ISS : 5 étapes (avec photos)

Vidéo: Lampe de suivi ISS : 5 étapes (avec photos)

Vidéo: Lampe de suivi ISS : 5 étapes (avec photos)
Vidéo: Prendre en photo l'ISS 2024, Novembre
Anonim
Lampe de suivi ISS
Lampe de suivi ISS
Lampe de suivi ISS
Lampe de suivi ISS

La plupart du temps, je me demande où est l'ISS qui regarde le ciel. Pour répondre à cette question, j'ai créé un objet physique pour savoir exactement où se trouve l'ISS en temps réel.

L'ISS Tracking Lamp est une lampe connectée à Internet qui suit en permanence l'ISS et affiche son emplacement à la surface de la Terre (imprimé en 3D).

Bonus: la lampe affiche également le côté ensoleillé de la Terre avec des Neopixels !??

Ainsi, dans ce Instructables, nous allons voir les différentes étapes pour construire cette lampe basée sur WEMOS D1 Mini, moteur pas à pas, servomoteur, laser et pièces 3D.

Je construis tout seul, à l'exception de la Terre imprimée en 3D, qui a été achetée sur Aliexpress.

Logiciel:

  • Code basé sur Arduino
  • API ISS Location: Open Notify - Current Location of the ISS (par Nathan Bergey)
  • Parsing data: ArduinoJson Library (par Benoit Blanchon)

CAO & Pièces:

  • Terre imprimée en 3D de 18cm de diamètre (acheté sur Aliexpress: ici)
  • Supports de moteur imprimés en 3D - conçus avec Fusion 360 et imprimés avec Prusa i3 MK2S
  • Tube en cuivre
  • Socle en béton, réalisé avec The French Vikings

Matériel:

  • Microcontrôleur: Wemos D1 Mini (antenne wifi intégrée)
  • Servo EMAX ES3352 MG
  • Moteur pas à pas 28byj-48 (avec la carte pilote ULN2003)
  • 10 NéoPixels LED
  • Laser de 405 nm de longueur d'onde
  • Interrupteur de fin de course
  • Alimentation 5V 3A

Étape 1: Modélisation de pièces dans Fusion 360 et impression

Modélisation de pièces dans Fusion 360 et impression
Modélisation de pièces dans Fusion 360 et impression
Modélisation de pièces dans Fusion 360 et impression
Modélisation de pièces dans Fusion 360 et impression
Modélisation de pièces dans Fusion 360 et impression
Modélisation de pièces dans Fusion 360 et impression

Pour monter tout le matériel, nous allons créer la base d'assemblage du noyau sur des pièces 3D. Les pièces sont disponibles sur Thingiverse ici.

Il y a 3 parties:

1) La Longitude du pas à pas de soutien

Cette pièce est faite pour le montage du moteur pas à pas, du WEMOS, de la bande Neopixels et du tube cuivre

2) Le commutateur de soutien

Cette pièce est destinée au montage du fin de course (à utiliser pour indiquer au stepper la latitude -0°/-180°). C'est vissé sur le dessus du stepper

3) La latitude du servo d'assistance

Cette pièce est faite pour le montage du servomoteur. Le Support Servo est monté sur le moteur pas à pas

Toutes les pièces ont été imprimées sur Prusa I3 MK2S, avec du filament PETG noir

Étape 2: Câblage et assemblage

Câblage et assemblage
Câblage et assemblage
Câblage et assemblage
Câblage et assemblage

Ce circuit aura une entrée d'alimentation 5V 3A (afin d'utiliser la même alimentation pour le driver pas à pas, le laser, les Neopixels et le WEMOS)

Par le croquis suivant, nous devons souder l'alimentation directement aux éléments ci-dessus en parallèle:

  • Pilote pas à pas
  • Laser
  • Bande Neopixels (NB: il y a 10 Neopixels en réalité, pas 8 comme le montre le croquis)
  • WEMOS

Ensuite, il faut connecter les différents éléments au WEMOS:

1) Le pilote pas à pas suivant cette liste:

  • IN1->D5
  • IN2->D6
  • IN3->D7
  • IN4->D8

2) Le servomoteur suivant:

Broche servo de données -> D1

3) La bande Neopixels suivante:

Broche Néopixels de données -> D2

4) Le fin de course suivant:

Les deux broches du commutateur vers le GND et le D3

Connectez l'interrupteur de fin de course de manière à ce que le circuit soit ouvert/interrompu lorsque nous appuyons sur l'interrupteur (ainsi le circuit est fermé lorsque rien n'appuie dessus). Ceci afin d'éviter toute fausse lecture due à un pic de tension.

Étape 3: Code Arduino - Obtenir la position de l'ISS en temps réel

Pour entraîner les deux moteurs à atteindre la position de l'ISS, nous devons obtenir la position de l'ISS en temps réel:

  • Pour cela, nous utiliserons d'abord l'API d'Open Notify Here
  • Ensuite, nous devons analyser les données pour obtenir une valeur simple de l'emplacement de l'ISS à l'aide de Parsing data: ArduinoJson Library (par Benoit Blanchon)

#include <ESP8266WiFi.h #include <ESP8266HTTPClient.h #include <ArduinoJson.h // Paramètres WiFi const char* ssid = "XXXXX"; const char* mot de passe = "XXXXX"; void setup() { Serial.begin(115200); WiFi.begin(ssid, mot de passe); while (WiFi.status()!= WL_CONNECTED) { delay(1000); Serial.println("Connexion…"); } }

Ce programme connecte le NodeMCU au WiFi, puis se connecte à l'API, récupère les données et les imprime par série.

boucle vide() {

if (WiFi.status() == WL_CONNECTED) // Vérifier l'état du WiFi {HTTPClient http; //Objet de la classe HTTPClient http.begin("https://api.open-notify.org/iss-now.json"); int httpCode = http. GET(); //Vérifiez le code renvoyé if (httpCode >0) { // Analyse const size_t bufferSize = JSON_OBJECT_SIZE(2) + JSON_OBJECT_SIZE(3) + 100; DynamicJsonBuffer jsonBuffer(bufferSize); JsonObject& root = jsonBuffer.parseObject(http.getString()); // Paramètres const char* message = root["message"]; const char* lon = root["iss_position"]["longitude"]; const char* lat = racine["iss_position"]["latitude"]; // Sortie sur le moniteur série Serial.print("Message:"); Serial.println(message); Serial.print("Longitude: "); Serial.println(lon); Serial.print("Latitude: "); Serial.println(lat); } http.end(); //Fermer la connexion } delay(50000); }

Étape 4: Code Arduino final

Le code Arduino suivant obtient l'emplacement de l'ISS pour déplacer le laser au bon endroit sur la surface de la Terre, et l'obtention de la position du soleil pour éclairer les néopixels concernés pour éclairer la surface de la Terre touchée par le soleil.

Bonus 1: Lorsque la lampe est allumée, pendant la phase d'initialisation, le laser pointera la position de la lampe (id: la position où se trouve le routeur)

Bonus 2: Lorsque l'ISS est à côté de l'emplacement de la lampe (+/- 2° long. et +/-2° lat.), tous les Neopixels clignoteront doucement

Étape 5: Profitez de votre traqueur ISS

Vous avez fabriqué une lampe de suivi ISS, profitez-en!

Concours d'auteur pour la première fois
Concours d'auteur pour la première fois
Concours d'auteur pour la première fois
Concours d'auteur pour la première fois

Premier prix du concours d'auteur pour la première fois

Conseillé: