Table des matières:

Tracker de phase lunaire sans fil : 6 étapes (avec photos)
Tracker de phase lunaire sans fil : 6 étapes (avec photos)

Vidéo: Tracker de phase lunaire sans fil : 6 étapes (avec photos)

Vidéo: Tracker de phase lunaire sans fil : 6 étapes (avec photos)
Vidéo: [Guide Complet] Comment prendre en photo la Lune en gros plan ? 2024, Novembre
Anonim
Traqueur de phase lunaire sans fil
Traqueur de phase lunaire sans fil
Traqueur de phase lunaire sans fil
Traqueur de phase lunaire sans fil
Traqueur de phase lunaire sans fil
Traqueur de phase lunaire sans fil
Traqueur de phase lunaire sans fil
Traqueur de phase lunaire sans fil

Le tracker de phase lunaire est un petit appareil semi-portable qui vous permet de collecter des informations critiques sur la Lune. L'appareil rapporte des paramètres tels que l'éclairage visible, la phase, le lever et le réglage de la lune, etc.

Cet appareil est essentiel pour tous ceux qui s'intéressent à la science ou à l'astronomie et fournit une excellente décoration de bureau et est certainement un sujet de conversation.

Le projet est assez simple et nécessite un appareil connecté à Internet tel qu'un ESP32, mais vous pouvez toujours adapter le code pour qu'il fonctionne avec un bouclier WiFi, un bouclier Ethernet ou tout autre appareil connecté à Internet que vous pourriez avoir. Le Lunar Phase Tracker a été conçu pour fonctionner avec des batteries lithium-polymère et un écran E-ink très économe en énergie qui fournit non seulement un écran magnifique à regarder, mais conserve également la dernière image même en cas de coupure de courant !

Étape 1: Inscription aux informations sur l'astronomie

Inscription aux informations sur l'astronomie
Inscription aux informations sur l'astronomie
Inscription aux informations sur l'astronomie
Inscription aux informations sur l'astronomie

Cette étape est absolument essentielle (bien qu'ennuyeuse) car nous utilisons une API en ligne pour recueillir nos informations. Bien qu'il soit possible de calculer les phases de la lune, l'éclairage, etc., c'est une tâche fastidieuse de le faire. L'API que nous utilisons fournit des informations à jour à partir de la station météorologique en direct et des systèmes de surveillance afin que les données que nous recevons soient des résultats du monde réel et non des valeurs calculées.

Rendez-vous sur Weather Underground, cliquez sur « s'inscrire » et remplissez toutes vos informations. Le compte est totalement gratuit et vos appels API le sont aussi tant que vous ne demandez pas trop de résultats par minute ou ne dépassez pas 500 requêtes par jour. Assurez-vous de mettre cette page dans vos favoris, vous pourrez toujours revenir plus tard et utiliser l'API pour les statistiques météorologiques et d'autres informations intéressantes. Une fois que vous avez créé votre compte, allez sur le site API, cliquez sur "acheter la clé" et sélectionnez le plan gratuit, il vous suffit de saisir quelques détails et vous aurez des problèmes avec un identifiant de clé devoloper. Cet identifiant vous est propre et doit rester confidentiel. J'ai fourni ma clé dans l'exemple de code Arduino que nous verrons un peu plus tard. Vous êtes plus que bienvenu pour utiliser mon identifiant de clé à des fins de test, mais je vous recommande fortement de vous inscrire pour le vôtre.

Une fois que vous avez votre identifiant unique, vous pouvez vous diriger vers les informations de l'API d'astronomie, qui sont honnêtement très nues. Vous trouverez un exemple simple qui ressemble à ceci:

api.wunderground.com/api/8c6dc2e5c6f36de9/a…

Cette URL est extrêmement importante car c'est elle qui nous délivre toutes les informations dont nous avons besoin pour réaliser notre projet. Allez-y, cliquez sur le lien, vous verrez des résultats pour Sydney tels que la phase de la lune, l'éclairage et d'autres bonnes informations. Jetez un œil à l'URL, nous verrons Sydney, Australie et un long code qui commence par "8c6dcwe…". Ce code est votre identifiant de clé que nous avons récupéré plus tôt. Changez ce code avec votre identifiant unique et voyez comment cela fonctionne, vous devriez obtenir exactement le même résultat. Essayez de jouer avec les emplacements. Pour ma part en Afrique du Sud, j'utilise Johannesburg et ZA.

Étape 2: Composants

Composants
Composants
Composants
Composants
Composants
Composants

Alors maintenant pour les choses intéressantes. Nous aurons besoin de quelques composants, pas beaucoup et aucun d'entre eux n'est extrêmement coûteux et j'ai fourni des liens Amazon pour les composants que j'ai utilisés. N'oubliez pas que si vous maîtrisez bien la programmation, n'hésitez pas à utiliser n'importe quel écran ou appareil Internet dont vous disposez. Pour ma construction, j'ai utilisé les éléments suivants:

Écran Waveshare E-Ink SPI 4.2" SPI

  • Carte de développement ESP32 (générique)
  • Adafruit Power Boost 500
  • Batterie Lipo 5000mAh
  • Stripboard (Protoboard)

Vous aurez bien sûr besoin des outils de base tels que:

  • Fer à souder
  • Souder
  • Multimètre
  • Étriers
  • Foret pour séparer les pistes sur protoboard
  • Câble
  • Cisailles à fil
  • Colle (la colle chaude fonctionnera)
  • Ordinateur portable avec Arduino IDE installé

Le seul outil avancé dont vous pourriez avoir besoin est une imprimante 3D pour fabriquer le boîtier. Si vous n'en avez pas, c'est bien, fabriquez votre boîtier avec du bois et des scies à main ou tout ce dont vous disposez. Et oui, mon imprimante 3D est vieille et poussiéreuse lol.

Étape 3: Le logiciel informatique

Avant de pouvoir commencer à travailler sur le circuit et la programmation, nous aurons d'abord besoin de la version la plus récente de l'IDE Arduino qui peut être trouvée ici.

Puisque nous utilisons l'ESP32 avec le noyau Arduino, nous devrons installer ce noyau sur l'IDE Arduino. Suivez ce guide simple de Github qui vous montre quel logiciel et quelle configuration vous devrez faire pour pouvoir utiliser votre carte de développement ESP32 dans l'IDE Arduino.

Nous aurons également besoin de deux bibliothèques supplémentaires pour faire fonctionner notre système. La première est une bibliothèque Arduino JSON qui nous permet de lire et d'analyser les requêtes JSON, ce qui est exactement ce que nous obtenons de Weather Underground. Vous pouvez télécharger ces deux bibliothèques depuis ma Dropbox personnelle ou ci-dessous. Une fois que vous avez les fichiers, extrayez-les et placez-les dans le dossier de votre bibliothèque Arduino. Il est généralement situé dans C:\Users\YOUR_NAME\Documents\Arduino\libraries. Assurez-vous de redémarrer votre IDE, sinon Arduino ne récupérera pas les nouveaux ajouts. Le code principal Arduino SRC se trouve également dans ce dossier. La bibliothèque contient également une version modifiée de l'échantillon fourni à partir des écrans Waveshare. Les fichiers ont été modifiés pour fonctionner sur le module ESP32 avec leurs GPIO et j'ai implémenté une nouvelle "police" qui contient toutes les images des différentes phases de la lune.

Étape 4: Le circuit

Le circuit
Le circuit
Le circuit
Le circuit
Le circuit
Le circuit

D'accord, le circuit pour cela est extrêmement simple et ne nécessite que quelques composants et fils.

L'idée générale est que nous avons un circuit chargeur Lipo, un convertisseur boost pour nous donner 5V puis le kit de développement ESP32 qui fait chuter la tension à 3,3V. Ce 3,3 V est également utilisé pour l'écran Waveshare E-Ink. Oui, c'est légèrement inefficace en raison de l'augmentation puis de la diminution avec un régulateur linéaire, mais l'ESP32 fonctionne sur une plage de tension très horrible. Quelque part autour de 2,5 - 3,6 V. Cela ne convient pas aux projets de batteries, en particulier ceux qui utilisent des cellules lithium-polymère.

Le câblage de base est le suivant:

  • Convertisseur Boost 5V sortie Vin & GND sur ESP32 Dev Kit
  • ESP32 3.3V 3.3V & GND E-Ink Display
  • Affichage E-Ink ESP32 PIN 18 CLK
  • ESP32 PIN 23 DIN/MOSI E-Ink Display
  • ESP32 PIN 5 CS/SS E-Ink Display
  • ESP32 PIN 32 DC E-Ink Display
  • Affichage E-Ink ESP32 PIN 33 RST
  • Affichage E-Ink ESP32 PIN34 OCCUPÉ

Vous pouvez voir que le câblage est très simple et que mes cartes de bricolage n'ont pris qu'environ 15 minutes à construire. Assurez-vous de vérifier les courts-circuits avec un multimètre avant de fournir l'alimentation.

J'ai également retiré les LED de mon ESP32 et de ma carte Lipo Boost pour économiser environ 40 mA d'énergie en mode veille. Cela aidera les batteries à durer un peu plus longtemps. Vous pouvez implémenter un interrupteur d'alimentation, un circuit d'économie d'énergie, une déconnexion automatique, etc. si vous le souhaitez. Vous pouvez développer ce projet et le rendre aussi complexe que vous le souhaitez.

Étape 5: Le code

Le code
Le code
Le code
Le code
Le code
Le code
Le code
Le code

Le code se trouve dans le dossier fourni à l'étape 3 ou vous pouvez télécharger le fichier.ino ci-dessous. Vous devrez installer les bibliothèques associées comme mentionné à l'étape 3 pour que tout fonctionne ensemble. Il n'y a pas grand chose à dire pour cette étape car le code est fourni en état de marche. Assurez-vous de mettre votre SSID et votre mot de passe réseau avant de tester le programme, vous pouvez toujours exécuter le scan ESP32 WiFi pour détecter tous les réseaux sans fil à proximité, mais dans mon programme, les informations réseau sont définies en code et en code uniquement. Peut-être que vous pouvez le modifier pour demander à quel réseau vous souhaitez vous connecter:)

Le code est assez simple et je vais passer du temps à le commenter et à le peaufiner dans les prochaines semaines. Nous nous connectons essentiellement à un réseau, dans mon cas, mon réseau domestique. Nous essayons ensuite de nous connecter à Weather Underground et de recevoir le texte JSON de la page Web. La bibliothèque ArduinoJSON est ensuite utilisée pour extraire. ou analyser le code JSON en tableaux ou chaînes de caractères qui nous permettent de manipuler les valeurs avant de les afficher à l'utilisateur. Le dernier morceau de code est strictement destiné à la programmation de l'interface graphique et a été effectué par essais et erreurs. J'ai regardé l'affichage, incrémenté ou décrémenté une position d'actif et exécuté à nouveau le code jusqu'à ce que je sois satisfait de la taille de la police, de la mise en page et des images.

J'ai mis en place une routine de sommeil profond pour l'ESP32 afin d'économiser de l'énergie. La valeur par défaut est de 60 secondes, mais je vous suggère de modifier la valeur à quelque chose comme une heure ou deux, car les mises à jour ne se produisent pas avant au moins quelques heures. L'exemple accepte les secondes, alors assurez-vous de faire les conversions correctement.

J'ai également utilisé le programme The Dot Factory pour générer des tableaux hexadécimaux pour une nouvelle police. Cette police est utilisée pour générer les "images" des phases de la lune. Si vous souhaitez modifier le fichier de polices, assurez-vous d'utiliser le programme mentionné ci-dessus pour la génération. C'est un peu déroutant car la bibliothèque E-Ink n'est pas bien documentée et la plupart de mon succès est dû aux essais et erreurs. Lorsque je passerai plus de temps avec ce code, je mettrai à jour l'Instructable pour fournir plus d'informations sur mes découvertes.

La police utilisée pour les phases de lune doit être faite selon une disposition ASCII standard. Si vous ouvrez font24 dans le dossier EPD-master, vous pouvez voir la mise en page où le 1er graphique est identifié par un espace blanc, le second est un "!" (signe d'exclamation) et ainsi de suite. Vous verrez que je tire la police associée en utilisant le numéro 3 ou un symbole de hashtag dans le dernier bit de code (fonction getLunarChar). En effet, Arduino attend la norme ASCII de 32 à 127. Étant donné que nous utilisons des polices qui n'ont rien à voir avec les polices réelles et plutôt une matrice graphique de phase de lune, nous devons nous assurer que le caractère ASCII fait référence à notre image de phase de lune choisie. Cela signifie que l'utilisation d'un ! signe, notre police de phase lunaire nous montre le deuxième graphique de phase de lune dans cette liste. Si vous regardez la police de phase lunaire, vous verrez tout un tas de phases de lune, toutes avec des niveaux d'éclairage différents. À l'avenir, j'ajouterai plus de code pour utiliser tous les graphiques que nous avons implémentés. Pour le moment, nous n'en utilisons que quelques-uns, mais les graphiques sont déjà implémentés dans la police de phase lunaire et ont juste besoin d'être implémentés dans le code pour l'utiliser.

Étape 6: Assemblage final

L'assemblage final
L'assemblage final
L'assemblage final
L'assemblage final
L'assemblage final
L'assemblage final

La dernière partie de la construction et la plus satisfaisante, est le processus d'assemblage. J'ai conçu et imprimé en 3D un boîtier qui s'adapte à ma planche. Le projet est très DIY, il n'y a pas de PCB professionnels ou une seule disposition standard. Pour la plupart, la boîte que j'ai utilisée est assez grande pour accueillir tout chargeur lipo ou convertisseur boost que vous choisissez d'utiliser. Tant qu'ils fournissent les mêmes fonctionnalités de base mentionnées dans ce Instructable, tout devrait bien se passer.

J'ai utilisé 4 vis pour maintenir ensemble les moitiés supérieure et inférieure du boîtier et de la colle chaude pour monter mes circuits de bricolage. J'ai utilisé de très petites gouttes de colle pour maintenir la batterie mais si j'avais eu plus de temps, j'aurais fait un support personnalisé pour toute l'électronique.

J'ai également décidé de faire un trou pour un bouton-poussoir de verrouillage à l'arrière. Cela déconnecte la batterie du convertisseur boost, ce qui est utile si vous ne prévoyez pas de faire fonctionner l'appareil 24h / 24 et 7j / 7. Malheureusement, le convertisseur boost utilise toujours de l'énergie même si votre ESP32 est en mode veille prolongée.

Dans l'ensemble, je suis très satisfait du résultat. J'ai beaucoup appris en utilisant l'ESP32 et je peux me voir l'utiliser pour une variété de projets à l'avenir.

Si vous avez des questions, n'hésitez pas à demander, je serai plus que disposé à vous aider et si vous trouvez des erreurs dans ce Instructable alors s'il vous plaît faites le moi savoir.

EDIT: J'ai en fait usiné un petit boîtier CNC au lieu de la version imprimée en 3D, ce que vous voyez dans les images présentées.

EDIT: Dans les images présentées, nous voyons une pleine lune avec un éclairage à 99%. D'où le cercle blanc, au fur et à mesure que la lune passe par ses phases typiques, l'image de la lune changera en conséquence. D'autres images seront téléchargées au fur et à mesure que la lune progresse dans ses phases afin que vous puissiez obtenir une représentation des graphiques.

Défi spatial
Défi spatial
Défi spatial
Défi spatial

Finaliste du défi spatial

Conseillé: