Table des matières:

Horloge NeoPixel : 10 étapes (avec photos)
Horloge NeoPixel : 10 étapes (avec photos)

Vidéo: Horloge NeoPixel : 10 étapes (avec photos)

Vidéo: Horloge NeoPixel : 10 étapes (avec photos)
Vidéo: Les Leds Neopixel leurs utilisations 2024, Juillet
Anonim
Image
Image
Pièces électroniques requises
Pièces électroniques requises

*********************************************************************************************************

C'EST UNE INSCRIPTION AU CONCOURS MICRO CONTROLEUR, VEUILLEZ VOTER POUR MOI

********************************************************************************************************

J'ai construit un miroir infini NeoPixel il y a quelques années alors que j'étais en Thaïlande et que vous pouvez voir ICI.

Je l'ai fait à la dure, sans utiliser un Arduino mais un microprocesseur autonome, un PIC18F2550. Cela impliquait de creuser dans les registres et les timings du Micro pour écrire le code, dont certains contenaient de l'assembly.

C'est une grande connaissance à avoir et m'a été très utile car cela rend le travail avec Arduino un jeu d'enfant. La plupart du travail a été fait en utilisant des bibliothèques tierces alors qu'avant j'écrivais mon propre code de bibliothèque.

Cette horloge a été conçue pour émettre de la lumière de la périphérie sur le mur auquel elle est fixée à l'aide de LED RVB adressables individuellement WS2812B espacées de 144 par mètre. Cela m'a donné un diamètre d'horloge de 200 mm, quelque chose que je pouvais faire moi-même sur mon imprimante 3D.

Il a un effet saisissant, en particulier la nuit ou dans une pièce sombre, la lumière brille d'environ 500 mm donnant un éblouissement total de plus d'un mètre de diamètre. Les motifs sont incroyables.

L'horloge affiche les heures (bleu), les minutes (vert) et les secondes (rouge). La date est également affichée sur un écran à 8 chiffres et 7 segments et le jour de la semaine sous forme de liste.

L'horloge est contrôlée par smartphone via WiFi à l'aide de l'application Blynk et d'un serveur Blynk local fonctionnant sur un RPi 3.

L'utilisation d'un serveur local pour Blynk est facultative et cette configuration ne fait pas partie de cette instructable. Le Blynk hébergé sur le Web peut être utilisé après avoir créé un compte sur www.blynk.cc et téléchargé l'application.

Il y a beaucoup d'informations sur l'utilisation de Blynk sur leur site Web, donc cela ne fait pas partie de cette instructable.

À une étape ultérieure de cette instructable, il y a un code QR à scanner, vous aurez alors mon application sur votre téléphone.

L'application dispose de commandes pour afficher l'horloge ou les modèles (avec un retour LCD sur l'application), la possibilité de définir votre fuseau horaire où que vous soyez dans le monde et d'obtenir l'heure via un serveur NTP. Il peut également être mis en veille.

Il existe un module d'horloge en temps réel avec batterie de secours fournissant des fonctions d'heure/date à l'Arduino.

Le micrologiciel du NodeMCU-E12 dans l'horloge peut être mis à jour sans fil (OTA).

Commençons maintenant……

Étape 1: Outils requis

Un bon fer à souder et de la soudure

pinces à dénuder

petits coupe-fils

petite pince à long bec

petite scie pour couper la planche vero

couteau de passe-temps tranchant

les ciseaux

colle à papier

Étape 2: Pièces électroniques requises

Pièces électroniques requises
Pièces électroniques requises
Pièces électroniques requises
Pièces électroniques requises

1 x module NodeMCE-12E d'ICI

1 x module d'horloge RTC ICI

1 module Max7219 à 8 chiffres et 7 segments ici

1 x prise d'alimentation CC ici

2 x leviers de niveau (requis car Arduino est de 3,3 V et l'affichage RTC et 7 segments est de 5 V) ici

68 LED d'une bande LED WS2812B 114/mtr ici.

Alimentation DC 5v 10A ici.

Résistance 10kOhm 1/4W.

Au besoin fil de raccordement.

Carte Vero d'environ 77 mm x 56 mm pour assembler tous les modules et les câbler.

J'ai en fait utilisé un décaleur de niveau Adafruit pour les lignes I2c du module RTC car il était censé être sûr pour I2c !!

Cependant, je pense que la plupart des décaleurs de niveau logique bidirectionnel de 3,3 V à 5 V devraient fonctionner.

Couper la bande LED a gaspillé une LED car les pastilles pour souder les deux extrémités de la bande de 60 LED étaient nécessaires et les pastilles sont nécessaires sur la bande de 7 LED.

Étape 3: Pièces imprimées

Pièces imprimées
Pièces imprimées
Pièces imprimées
Pièces imprimées
Pièces imprimées
Pièces imprimées

Il y a trois pièces imprimées en 3D; le corps de l'horloge principale, le couvercle avant et le couvercle de la batterie à l'arrière.

Le couvercle de la batterie pourrait être omis.

Il y a aussi un « masque » imprimé sous la couverture avec les jours de la semaine dessus. Je l'ai imprimé sur du papier ordinaire. J'ai fourni un fichier.dwg et un fichier.dxf de cela.

Il y a 2 couvertures avant disponibles, l'une n'a pas de nom dessus, juste au cas où vous ne pourriez pas éditer la pièce.

Mon imprimante 3D (buse de 0,4 mm) avait les paramètres suivants avec Slic3r:

hauteur de la première couche = 0,2 mm

hauteur des couches = 0,2 mm

température du lit = 60 C

température de la buse = 210 C

périmètres verticaux = 2

coques horizontales = 3

remplissage = étoiles rectilignes à 45 degrés

pas de bord

pas de support matériel

Il est fortement recommandé d'avoir une méthode de nivellement du lit

Fichiers imprimés en 3D et dessin de masque ici:

Étape 4: Remplir le fichier d'assemblage

Ci-dessous un fichier IGS de l'ensemble complet pour toute personne souhaitant modifier l'horloge.

Étape 5: Installation des bibliothèques

INSTALLER LES CARTES ESP

Vous aurez besoin de l'IDE Arduino. L'installation de cela ne fait pas partie de cette instructable mais peut être téléchargée ICI.

Une fois l'IDE Arduino installé, si ce n'est déjà fait, vous devrez copier/coller le texte ci-dessous dans la zone de texte sous Fichier> Préférences - URL du gestionnaire de cartes supplémentaires:

arduino.esp8266.com/stable/package_esp8266com_index.json

Redémarrez l'IDE.

Après avoir fait cela, allez dans Outils>Carte>Gestionnaire de cartes. Laissez-le terminer la mise à jour et vous devriez voir la version communautaire ESP8266 dans la liste des cartes installées.

INSTALLER DES BIBLIOTHÈQUES

Installez toutes les bibliothèques dans votre dossier Documents/Arduino/Libraries comme d'habitude, à l'exception de celles installées par le gestionnaire de carte.

Après avoir installé les bibliothèques, redémarrez Arduino IDE, accédez à Sketch> Inclure la bibliothèque> Gérer les bibliothèques, laissez-le terminer la mise à jour, vous devriez voir vos nouvelles bibliothèques dans la liste.

RTClib - disponible iciAdafruit_NeoPixel - disponible ici

HCMAX7219 d'ici

Blynk - disponible ici. suivez ATTENTIVEMENT les instructions d'installation.

Tous les autres « includes » dans le fichier NeoPixelClock sont soit installés par le gestionnaire de carte, soit fournis avec l'installation de l'IDE Arduino.

Étape 6: Installation du micrologiciel

À ce stade, c'est une bonne idée de tout câbler ensemble sur une planche à pain à des fins de test.

Vérifiez soigneusement tout le câblage avant de connecter l'alimentation 5v et/ou le câble USB.

Accédez à votre dossier Sketch Documents> Arduino.

Créez un dossier "NeopixelClock".

placez le fichier.ino ci-dessous dans le dossier.

Ouvrez l'IDE Arduino.

Configurez l'IDE pour afficher les numéros de ligne, allez dans Fichier> Préférences et cochez la case "Afficher les numéros de ligne", cliquez sur OK.

Connectez votre carte NodeMCU à un port USB.

Allez dans Outils> Carte et sélectionnez NodeMCU 1.0 (module ESP-12E)

Allez dans Outils>Port et sélectionnez le port auquel votre carte est connectée.

INSTALLER LE FIRMWARE OTA

Pour utiliser la mise à jour OTA, vous devez d'abord graver un micrologiciel spécial sur le NodeMCU.

allez dans Fichier>Exemples>ArduinoOTA>BasicOTA.

un programme se chargera dans l'IDE, remplissez la partie pour ssid avec le SSID de votre routeur. Vous pouvez voir ce nom si vous passez votre souris sur l'icône WiFi dans la barre d'état système.

Remplissez le mot de passe avec votre mot de passe réseau (généralement écrit au bas du routeur sans fil.

Téléchargez maintenant sur votre carte NodeMCU via USB.

Une fois terminé, appuyez sur le bouton de réinitialisation de la carte NodeMCU.

INSTALLER LE FIRMWARE NEOPIXELCLOCK

Allez dans Fichier> Carnet de croquis> NeoPixelClock et ouvrez le fichier NeoPixelClock.

Remplissez votre 'auth', 'ssid' et 'pass' devraient être à la ligne 114.

Noter; comment obtenir le jeton d'autorité est expliqué à l'étape suivante

Vous pouvez également définir votre fuseau horaire local à la ligne 121, cela peut être n'importe quel 1/4 d'heure entre -12 et +14 selon les fuseaux horaires du monde entier. Cela peut également être défini dans l'application si vous préférez. Il est actuellement fixé pour le Queensland, en Australie.

Au numéro de ligne 332, vous devez définir l'adresse IP de votre serveur local si vous l'utilisez.

Une note sur le port du serveur local. En raison d'une récente mise à jour du logiciel Blynk, le port est désormais 8080 et non 8442.

Si vous utilisez le nouveau logiciel mis à jour, modifiez-le.

Ou si vous utilisez le serveur Web Blynk, commentez la ligne 332 et décommentez la ligne 333.

C'est tout le montage qui doit être fait.

Téléchargez maintenant ceci sur votre carte NodeMCU via USB.

Une fois le téléchargement terminé, débranchez le câble USB de la carte.

Vous verrez sous Outils> Port un nouveau port (ressemble à une adresse IP), sélectionnez-le comme port pour communiquer avec le NodeMCU pour les futures mises à jour que vous pourriez faire.

Si tout s'est bien passé, l'horloge devrait démarrer, sinon appuyez sur le bouton « reset » du module NodeMCU.

Remarque: j'ai remarqué que parfois cela ne démarre pas la première fois, j'ai trouvé que le fait de débrancher l'alimentation et de se reconnecter fonctionnait la plupart du temps. Je travaille sur une solution pour que ce problème ne démarre pas correctement.

Étape 7: Application pour smartphone

Application pour smartphone
Application pour smartphone
Application pour smartphone
Application pour smartphone

Pour commencer à l'utiliser:

1. Téléchargez l'application Blynk: https://j.mp/blynk_Android ou https://j.mp/blynk_iOS si elle n'est pas déjà installée.

2. ouvrez l'application ou connectez-vous, si nouveau, vous devrez créer un compte.

REMARQUE, ce n'est pas la même chose que le compte en ligne.

3. Appuyez sur l'icône QR dans l'application en haut et pointez l'appareil photo sur le code QR ci-dessus, ou ouvrez le lien ci-dessous -

tinyurl.com/yaqv2czw

4. un code d'autorité doit être envoyé à votre adresse e-mail désignée, que vous devez mettre dans le code Arduino où indiqué dans une étape ultérieure. Si vous appuyez sur l'icône en forme de noix, vous pourrez à nouveau envoyer un e-mail si nécessaire.

Comme mentionné précédemment, vous devez créer un compte en ligne sur www. Blynk.cc. avant de faire cela.

Excusez-moi pour le flou, je ne peux pas tester cela car j'ai déjà l'application et je n'utilise pas le serveur Web.

Étape 8: Construire l'assemblage de la carte Vero

Construire l'assemblage de la carte Vero
Construire l'assemblage de la carte Vero
Construire l'assemblage de la carte Vero
Construire l'assemblage de la carte Vero
Construire l'assemblage de la carte Vero
Construire l'assemblage de la carte Vero

J'ai décidé de mettre toutes les planches et modules sur un morceau de planche vero.

Cela permet de garder tout propre et bien rangé.

Le schéma peut être vu dans le fichier.pdf ci-dessous.

Les en-têtes de la carte ont été retirés après les tests, j'ai câblé tous les périphériques directement sur la carte vero car il n'y avait pas assez de place pour les en-têtes et les connecteurs associés.

Désolé, je n'ai pas pris de photos du dessous de la planche, mais cela ne devrait pas être trop difficile à comprendre. Vous pouvez même améliorer ma mise en page. Gardez la carte Vero de la même taille sinon elle ne s'adaptera pas à la base imprimée en 3D.

Avec les décaleurs de niveau logique, le LV (+3,3v) passe à 3,3v sur l'une des broches 3v du module Arduino, le HV (+5v) passe à la broche VIN sur la carte Arduino.

Tous les motifs proviennent de toutes les broches Arduino GND et doivent être tous reliés entre eux pour éviter les boucles.

Câblez en utilisant quelque chose comme un fil monoconducteur isolé de calibre 26, l'isolation en PTFE serait bonne car elle ne fond pas.

Vérifiez soigneusement tout votre câblage 2 ou 3 fois.

Parcourez-le avec un multimètre réglé pour vérifier la continuité, vérifiez que tous les Gnds sont connectés au VIN GND.

Vérifiez toutes les connexions +5v sur le module RTC, les deux broches HV des modules de décalage de niveau et la broche VIN +5v sur le module NodeMCU.

Bonne idée de vérifier tous les autres câblages aussi.

Étape 9: Assemblage de l'horloge

Assemblage d'horloge
Assemblage d'horloge
Assemblage d'horloge
Assemblage d'horloge
Assemblage d'horloge
Assemblage d'horloge

Une fois que vous avez imprimé les pièces, nettoyez les clignotants et les bosses et les bosses avec un couteau bien aiguisé.

Parce que je n'avais que du filament bleu et noir, j'ai peint l'intérieur des cavités LED avec de la peinture modèle argentée.

Je pense que cela devrait aider à mieux refléter la lumière et également à empêcher le saignement de la lumière à travers les murs vers les cavités adjacentes.

L'assemblage de la carte vero doit être câblé:

à la bande LED +5v, Gnd et DIN de l'assemblage de la carte vero.

à l'affichage à 7 segments de l'assemblage de la carte vero.

à la prise CC de l'assemblage de la carte vero.

Un fil à la bande LED séparée à 7 voies (DIN) de l'extrémité (numéro 60) de la bande LED principale à 60 voies (DOUT).

J'ai uniquement soudé les données (DOUT) à partir de l'extrémité (LED numéro 60) de la bande LED à 60 voies, le +5v et Gnd pour la bande LED à 7 voies que j'ai câblée à partir de l'assemblage de la carte vero.

pour éviter les courts-circuits, j'ai placé un petit morceau de carte mince entre le début et la fin de la bande LED à 60 voies car ils étaient très proches.

Mesurez et coupez tous les fils aux longueurs appropriées, j'ai ajouté 5 ou 6 mm pour donner un peu de marge.

Je n'ai pas retiré le papier de support adhésif des bandes LED, cela aurait rendu difficile la mise en place dans la base et très difficile à retirer si besoin.

J'ai trouvé les bandes bien ajustées et bien ajustées, puis poussez jusqu'au fond de la cavité.

Placez l'assemblage de la carte Vero dans la cavité, il y a des entretoises pour le maintenir hors du fond de 2 mm.

Placez l'affichage 8 voies 7 segments dans la cavité, il y a des montants pour le montage.

La prise CC s'insère bien dans sa cavité, soudez les fils à l'intérieur des étiquettes. Retirez l'étiquette latérale si vous le souhaitez.

Tous les fils doivent être soigneusement posés dans les cavités prévues.

Enfin, passez la prise d'alimentation de l'alimentation à travers le trou et insérez-la dans la prise CC, poussez le câble dans la rainure prévue en dessous.

Vérifiez soigneusement tout votre câblage 2 ou 3 fois. Voir le schéma de câblage ci-dessous.

Étape 10: Montage du capot avant pour terminer

Le bloc de base a plusieurs petites chevilles dépassant de la bague extérieure, celles-ci doivent s'aligner avec les trous du couvercle avant.

Le masque en papier doit être imprimé en noir, découpé et collé sur la couverture avant avec quelque chose comme un bâton de colle.

Les trous seront percés à travers le papier lorsqu'il sera, avec le couvercle avant, pressé sur la base.

Nous sommes tous prêts à partir, branchez-le, l'horloge devrait démarrer automatiquement, si ce n'est pas le cas, comme je l'ai découvert plusieurs fois, débranchez le courant et rebranchez-le.

Si vous n'avez pas de batterie dans le module RTC, vous devrez régler l'heure et la date.

Faites-le avec l'application, réglez le fuseau horaire avec la commande haut/bas, puis appuyez sur le bouton 'SET NTP TIME'.

Vous verrez dans le terminal de l'application si cela réussit ou non, sinon réessayez.

Lorsque DONE est affiché, vous pouvez appuyer sur le bouton Clock et l'horloge devrait fonctionner et afficher l'heure, la date et le jour de la semaine.

Les motifs peuvent être exécutés en appuyant sur le bouton Patterns, cela peut être interrompu à tout moment en appuyant à nouveau sur le bouton Clock ou le bouton Patterns.

La luminosité des LED de l'horloge et de l'affichage à 7 segments peut être ajustée pour la luminosité avec les curseurs associés.

Toutes les LED peuvent être éteintes en appuyant sur le bouton d'arrêt de l'horloge.

Accrochez-le au mur et la lumière brillera vers l'extérieur sur le mur, particulièrement belle dans une pièce sombre.

Toutes les questions, je serai seulement heureux d'essayer d'y répondre.

PROFITEZ et n'oubliez pas de voter pour moi.

************************************************** ************************************************** ***** C'EST UNE INSCRIPTION AU CONCOURS MICRO CONTROLLER, VEUILLEZ VOTER POUR MOI ************************************* ************************************************** **************************

Conseillé: