Table des matières:
- Étape 1: Fixation, première étape
- Étape 2: Résolution du problème suivant
- Étape 3: Résoudre le dernier problème
- Étape 4: Esquisse Arduino
- Étape 5: Programmation de l'ESP-03 & Conclusions
Vidéo: PLUS DE PRINTEMPS EN AVANT : 5 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
Titre alternatif: Horloge IP, partie 3
Si vous l'aimez, je participe au concours Horloge.
Êtes-vous fatigué de devoir Spring Forward?
Êtes-vous fatigué de devoir Fall Back?
Et bien je le suis. J'ai ce vieux réveil qui a corrigé cela (pendant un moment) (voir photo) Il s'ajusterait automatiquement à l'heure d'été et (je pense) il a une batterie de secours au cas où vous perdriez de l'énergie. Malheureusement, il y a plusieurs années, les États-Unis ont décidé de changer les jours pour changer le temps. Alors maintenant, cette horloge doit être changée manuellement quatre fois par an ! Je l'utilise uniquement comme sauvegarde.
Donc, ce Lazy Old Geek (LOG) voulait l'horloge parfaite. Tout le monde est différent et les temps changent (Ha! Ha!) Et les idéaux changent. Voici mon horloge de chambre idéale.
Toujours visible la nuit. ATTENTION: pas de secondes clignotantes la nuit, c'est trop distrayant.
DST automatique (heure d'été). Je déteste devoir changer d'heure deux fois par an.
Affiche le jour de la semaine. Depuis que je suis VIEUX et que je ne m'en souviens plus.
Donc, j'aime les secondes du matin. L'annonce dit se gargariser pendant 30 secondes, donc j'aime une horloge qui affiche les secondes.
Pas de lumière bleue. Nous savons tous que la lumière bleue est mauvaise pour vous. Pas toujours vrai, voyez ceci:
www.instructables.com/id/Blue-Light-Proje…
Bon, c'est assez simple. De nombreuses horloges sont visibles la nuit et beaucoup ne sont pas bleues. Certaines sont des horloges « atomiques » qui s'ajustent à l'heure d'été. En fait, certaines de mes horloges « atomiques » doivent jouer avec les changements d'heure d'été.
Maintenant, la situation des secondes est plus spécifique. J'ai en fait conçu le mien pour le faire dans ce Instructable (même si j'ai remarqué que je ne l'ai pas très bien expliqué):
www.instructables.com/id/IP-Time-Clock-Par…
Cette horloge a duré environ quatre ans, relativement sans entretien jusqu'à il y a quelques mois, lorsqu'elle a cessé de fonctionner.
Étape 1: Fixation, première étape
Écran bleu de la mort, IP Clock (en fait c'est noir).
Technobabble:
Une brève description de l'horloge IP. Il utilise un microcontrôleur ESP-03, qui se connecte à Internet avec WiFi. J'ai soudé deux barrettes mâles de 2 mm sur l'ESP-03 pour qu'il se branche sur une prise du PCB.
Il utilise deux affichages à sept segments à 3 chiffres tels que:
Je ne me souviens pas s'il s'agissait d'une cathode ou d'une anode commune.
Un Max7219 pour piloter les écrans et les LED individuelles pour les jours de la semaine.
Pour plus de détails, veuillez consulter mon horloge IP partie 2 Instructable.
Eh bien, la première chose que j'ai essayée a été de reprogrammer l'ESP-03 (microcontrôleur), alors j'ai regardé mon Instructable et j'ai essayé, mais cela ne me laissait pas le programmer.
HISTOIRE NON PERTINENTE: D'accord, je suis un vieil homme, donc mon esprit vagabonde. L'une des raisons pour lesquelles je suis entré dans Instructables.com était qu'il avait d'excellents Instructables sur Arduino. C'était l'une des principales raisons pour lesquelles je suis entré dans Arduinos et j'ai appris à les utiliser. Les écrivains instructables ont des niveaux et des compétences différents, mais je peux souvent en trouver à un niveau que je peux comprendre. Alors merci Instructables pour m'avoir aidé au fil des ans.
Pour rendre la pareille, j'écris des Instructables qui, j'espère, aideront les autres.
Une deuxième raison pour laquelle j'écris Instructables est de m'aider à me rappeler comment j'ai fait des projets. En écrivant Instructables, j'essaie de fournir tous les détails pour faire ce que j'ai fait. Apparemment, je ne fais pas toujours du bon travail.
OK, j'ai mis l'horloge IP en veilleuse.
Ma théorie est que plus de lumière bleue m'a donné plus d'énergie (voir ci-dessus blueproject Instructable) et me concentrer pour revisiter ce problème. Ce que j'ai finalement compris, c'est que la méthode que j'utilisais pour programmer l'ESP-03 ne fonctionnait plus. J'ai écrit cela dans un autre Instructable:
www.instructables.com/id/2020-ESP8266/
Problème 1 résolu, je peux maintenant programmer des ESP-03 avec des croquis Arduino.
Étape 2: Résolution du problème suivant
Eh bien, j'ai programmé un ESP-03 avec mon ancien croquis Arduino, je l'ai mis dans mon horloge IP, ça ne fonctionnait toujours pas. La façon dont j'avais écrit le croquis, rien ne s'affichait jusqu'à ce qu'une connexion réussie à Internet et au serveur NTP (fournit l'heure exacte sur Internet) soit établie, j'avais donc un écran vide.
En utilisant le moniteur Arduino Serial, j'ai pu voir qu'il ne se connectait pas au serveur NTP.
REMARQUE: L'ESP-03 utilise un microcontrôleur ESP8266. L'un des avantages de l'ESP8266 est qu'il intègre le WiFi. En termes techniques, il peut se connecter à un hotspot WiFi ou à un routeur WiFi dont disposent de nombreux foyers, dont le mien.
Devenant assez technique ici, les nouveaux routeurs WiFi ont deux bandes passantes, 2,4 GHz et 5,0 GHz. (Voir l'image de mon routeur) J'aime les considérer comme la différence entre la radio AM et FM. (Vous vous en souvenez ?)
Une limitation de l'ESP8266 est qu'ils n'utilisent que la bande passante de 2,4 GHz.
Plus technique, lorsque vous vous connectez au WiFi, vous avez besoin d'un identifiant appelé SSID. C'est comme une station de radio individuelle, K Earth 101. Et pour des raisons de sécurité, vous avez également besoin d'un mot de passe.
Eh bien, de nombreux routeurs WiFi double bande (2,4 GHz et 5 GHz) utilisent le même SSID pour les deux bandes.
Quoi qu'il en soit, pour une raison quelconque, je ne pouvais pas connecter un ESP-03 à mon routeur. Il me semble me souvenir d'autres personnes ayant des problèmes similaires.
Bottom line: j'ai configuré un autre routeur qui avait des SSID séparés pour les bandes 2,4 et 5 GHz, par exemple, "mtslink24" et "mtslink50" et j'ai pu parler sur Internet. (Voir l'image)
AVERTISSEMENT: si vous avez un routeur double bande avec les mêmes SSID sur les deux bandes, il peut ne pas fonctionner avec les ESP8266.
Étape 3: Résoudre le dernier problème
Ce que je voyais, c'est que je ne pouvais toujours pas me connecter au serveur NTP. J'ai trouvé un autre Sketch pour voir si j'étais capable d'utiliser Internet et cela a fonctionné, donc le problème suivant semblait être la connexion au serveur NTP.
Eh bien, dans mon croquis d'origine, j'ai utilisé une adresse IP pour me connecter à un serveur NTP:
tf.nist.gov/tf-cgi/servers.cgi
J'ai donc essayé plusieurs IP de Boulder et FT. Collins qui sont assez proches de là où je suis. Aucun d'eux n'a fonctionné. J'ai joué un peu et j'ai réussi à faire fonctionner un croquis global, mais cela ne se verrouille peut-être qu'une fois sur cinq. A fait quelques recherches supplémentaires et trouvé quelque chose appelé pool.ntp.org. Apparemment, cela fait tourner un tas d'adresses IP, donc aucune adresse n'est surchargée et toutes devraient être actives.
Eh bien, je ne comprends pas très bien cette programmation WiFi, mais j'ai réussi à trouver un exemple que je pourrais adapter à mon croquis et le faire fonctionner. Hourra!
Étape 4: Esquisse Arduino
Ci-joint mon croquis de travail, Special.ino
Voici quelques commentaires à ce sujet:
C'est ici que vous mettez votre propre SSID et mot de passe. (Cela doit être 2,4 GHz.)
char ssid = "Votre SSID"; // réseau SSID (nom)
char pass = "Votre mot de passe SSID"; // mot de passe réseau
Utilisation de la liste de serveurs pool.ntp.org.
IPAddress timeServerIP; // adresse du serveur NTP time.nist.gov
const char* ntpServerName = "pool.ntp.org";
// obtenir un serveur aléatoire du pool WiFi.hostByName(ntpServerName, timeServerIP);
Deux fonctions DST:
void findChangeDates(); // Trouver les dates de changement printemps/automne
bool IsDST(); // Vérifie si c'est l'heure d'été
findChangeDates(); prend l'année en cours et détermine quels jours de mars et novembre sont les dates de changement
bool IsDST(); détermine si le jour actuel est l'heure d'été ou non
void digitalClockDisplay()
Eh bien, malheureusement, mon vieux cerveau ne peut plus comprendre cela. Ce que je pense, c'est d'éteindre l'affichage des secondes après 21h. et les rallume vers 5h du matin. Je trouve très ennuyeux de regarder une horloge quand je suis au lit et de voir les secondes s'écouler. Mais quand je me lève le matin, j'aime voir les secondes pour pouvoir « chronométrer » mon gargarisme.
Étape 5: Programmation de l'ESP-03 & Conclusions
J'utilise actuellement Arduino version1.8.12.
Le moyen le plus simple pour moi d'installer le matériel ESP8266 consiste à utiliser Board Manager en utilisant cette méthode:
github.com/esp8266/Arduino#installing-with…
Une fois installé, lors de la sélection de la carte, je sélectionne "Module générique ESP8266".
ATTENTION: Sur mon PC, il existe deux versions du « Module générique ESP8266 ». Celui de la catégorie « cartes ESP8266 » fonctionne, celui de Sparkfun ne fonctionne pas.
Eh bien, je suis paresseux. En fait, j'ai pris un ESP-03 et je l'ai programmé dans mon adaptateur ESP modifié à partir de:
www.instructables.com/id/2020-ESP8266/
Ce que j'aurais pu faire, c'est modifier mon PCB IP Clock 2 en fonction de ce schéma en ajoutant simplement quelques cavaliers.
De plus, j'ai modifié un adaptateur USB CP2102 pour que RTS soit connecté à la broche à côté de GND.
Avec ces modifications, c'est comme charger un croquis Arduino normal sans avoir à appuyer sur aucun bouton.
CONCLUSIONS: Eh bien, j'aime mon horloge IP. Il répond à tous mes critères. Malgré ce que montre la photo, les LED sont rouges pas blanches donc pas bleues.
Conseillé:
Tricoptère avec moteur inclinable avant. : 5 étapes (avec photos)
Tricopter avec moteur inclinable avant. : Il s'agit donc d'une petite expérience, qui, espérons-le, mènera à un tricopter/gyrocoptère hybride ? Il n'y a donc rien de vraiment nouveau à propos de ce tricopter, c'est fondamentalement le même que mon tricopter normal comme indiqué dans ce instructable. Cependant, il a été long
Cinématique avant avec Excel, Arduino et traitement : 8 étapes
Cinématique avant avec Excel, Arduino et traitement : la cinématique avant est utilisée pour trouver les valeurs de l'effecteur final (x, y, z) dans l'espace 3D
Comment installer un éclairage avant AGS-001 contrôlable dans une Game Boy Advance d'origine (pas de LOCA !): 5 étapes (avec photos)
Comment installer un éclairage avant AGS-001 contrôlable dans une Game Boy Advance d'origine (pas de LOCA !) : Vous cherchez à éclairer l'écran de votre ancien Game Boy Advance. Vous ne pouvez trouver ces kits IPS rétroéclairés de dernière génération nulle part, et les anciens kits AGS-101 sont en rupture de stock ou hors de prix. De plus, vous voulez pouvoir voir l'écran pendant que vous êtes dehors
Lampe d'ambiance de garde-boue avant : 5 étapes
Lampe d'ambiance pour garde-boue avant : après avoir eu un accident, je me suis retrouvé avec une voiture qui ne valait pas la peine d'être réparée ou mise au rebut. Comme la voiture occupait de l'espace dans mon jardin, j'ai fait preuve de créativité et l'ai transformée en meubles. Il s'agit d'un projet très simple que vous pouvez réaliser en utilisant simp
Comment désactiver JTAG avant de démarrer Atmegas 40DIP avec Arduino IDE Mightycore : 4 étapes
Comment désactiver JTAG avant de démarrer Atmegas 40DIP avec Arduino IDE Mightycore: Récemment, j'ai pu utiliser atmegas 40 DIP pour contrôler les systèmes industriels car ce type de microcontrôleur fournit de nombreuses E/S analogiques ou numériques, vous n'avez donc pas besoin d'extenseurs. L'atmegas32/ 644p/1284p incluent un moyen de télécharger le croquis que vous créez qui