Améliorez votre guirlande de Noël avec une matrice de LED activée par le mouvement

Cette guirlande de Noël DIY utilise une matrice Arduino et LED pour produire un affichage lumineux incroyable qui impressionnera vos amis et votre famille.

Cette guirlande de Noël DIY utilise une matrice Arduino et LED pour produire un affichage lumineux incroyable qui impressionnera vos amis et votre famille.
Publicité

Noël est de retour, et que ce soit vos vacances préférées de l'année ou que ça vous transpire, les décorations commencent à monter. Cette année, pourquoi ne pas intégrer une technologie de bricolage dans vos décorations pour les faire ressortir?

Dans le cadre de ce projet, nous construirons à partir de zéro une matrice LED 8 x 8 à l'épreuve des intempéries et activée par le mouvement ... pour moins de 20 $. Il est conçu pour s'insérer au centre d'une couronne de porte de Noël standard, bien qu'il puisse être utilisé n'importe où dans la maison. Et puisque c'est alimenté par batterie, n'importe où loin de la maison aussi!

Liste des pieces

Pour ce projet, vous aurez besoin de:

  • Arduino.
    • J'ai utilisé le Nano pour sa petite taille, mais vous pouvez utiliser presque n'importe quel microcontrôleur compatible Arduino Arduino Guide d'achat: Quel conseil devriez-vous obtenir? Guide d'achat Arduino: Quel conseil devriez-vous obtenir? Il y a tellement de différents types de cartes Arduino là-bas, vous seriez pardonné d'être confus. Lequel devriez-vous acheter pour votre projet? Laissez-nous vous aider, avec ce guide d'achat Arduino! Lire la suite .
  • 64 x LED rouges.
  • 8 résistances 220 Ohm.
  • Capteur de mouvement PIR.
    • De nombreux kits de démarrage Arduino Qu'est-ce qui est inclus dans un kit de démarrage Arduino? [MakeUseOf explique] Qu'est-ce qui est inclus dans un kit de démarrage Arduino? [MakeUseOf Explains] J'ai déjà présenté le matériel open-source Arduino ici sur MakeUseOf, mais vous aurez besoin de plus que de l'Arduino pour en faire quelque chose et commencer réellement. Arduino "kits de démarrage" sont ... Lire la suite viennent avec ceux-ci. J'ai acheté un multi-pack d'Amazon pour 10 $.
  • 1 morceau de panneau de prototypage.
    • Celui utilisé ici était 9 x 7 cm, mais vous pouvez utiliser n'importe quelle taille que vous voulez.
  • Batterie 7-12v.
    • Un pack de batterie simple est utilisé ici pour des raisons budgétaires, mais un chargeur de banque mobile Le meilleur Pokemon Go Power Banques Les meilleurs Pokemon Go Power Banques Pokemon Go bat le diable hors de la batterie d'un téléphone. Presser un peu plus de jus Pokemon-attraper de votre téléphone nécessite une banque de puissance. Mais quelle est la meilleure batterie là-bas? Lire Plus peut durer encore plus longtemps.
  • Assortiment de petits morceaux de fil.
  • Boîte Tupperware ou boîtier similaire résistant aux intempéries.
    • Assurez-vous qu'il sera assez grand pour contenir tous vos composants à l'intérieur!
  • Guirlande de Noël.
    • N'importe lequel fera, assurez-vous simplement que la boîte d'enceinte rentre dedans.
  • Fer à souder et à souder.

Bien que n'étant pas strictement nécessaire car vous pouvez souder les composants directement sur le Nano, j'ai également trouvé une petite carte de test très utile lors des tests. Un pistolet à colle chaude aide également à rassembler toutes les pièces.

guirlande de noël a mené des pièces de matrice

Ce projet nécessite beaucoup de soudure et, en tant que débutant, cela peut sembler décourageant. Personnellement, je suis toujours un débutant dans le soudage et j'ai trouvé que ce n'était pas aussi difficile ou prenait beaucoup de temps. Si vous êtes aussi nouveau à la soudure ici sont quelques bons conseils pour aider à apprendre comment souder, avec ces simples conseils et projets apprendre à souder, avec ces conseils simples et projets Êtes-vous un peu intimidé par la pensée d'un fer chaud et métal en fusion? Si vous voulez commencer à travailler avec l'électronique, vous aurez besoin d'apprendre à souder. Laissez-nous vous aider. Lire la suite .

Si vous n'êtes pas vraiment intéressé par l'idée de la soudure, ce projet est également possible avec les bandes LED. Projet Weekend: Construire un projet géant à LED Pixel Display Weekend: Construire un écran géant LED Pixel J'aime les pixels LED: lumineux, facile à contrôler, pas cher, et si polyvalent. Aujourd'hui, nous allons les transformer en un grand écran de pixels qui peut être accroché au mur. Lire la suite, ou une matrice LED ready-made que vous pourriez avoir dans votre kit de démarrage. Certains ajustements de code seront nécessaires si vous décidez d'emprunter cette route.

Configuration de l'Arduino

Nous allons commencer avec le schéma de circuit pour l'Arduino et les fils que nous allons attacher à notre capteur PIR et à la matrice LED.

guirlande fritzing

À l'intérieur de la matrice

Maintenant, pour faire notre matrice 8 x 8 LED. C'est une bonne idée de commencer par créer une ligne et une colonne de la matrice, pour être sûr que c'est exactement là où vous le voulez sur le tableau de prototypage.

tester où placer les leds

Sur la photo ci-dessus, toutes les LED sont placées de telle sorte que les anodes (la jambe la plus longue et la plus positive) soient dirigées vers le haut du protoboard. Ceci est important, car nous allons créer des colonnes d'anodes communes en les joignant ensemble, et des rangées de cathodes communes (la jambe négative plus courte). Obtenir ceci maintenant sauvera des maux de tête plus tard!

Nous allons construire une matrice de cathode commune, ce diagramme montre comment tout est connecté.

doub diag

Cela peut sembler un peu intimidant au début, mais c'est une configuration assez simple. Dans chaque rangée, toutes les cathodes sont jointes de la droite vers la gauche, puis attachées à l'une de nos broches Arduino. Après cela, nous faisons la même chose pour chaque colonne d'anodes. De cette façon, en fonction de la colonne à laquelle nous appliquons la puissance, et de la ligne que nous rejoignons, nous pouvons allumer n'importe quelle LED dans le tableau.

Laisser la soudure commencer

Commencez par placer votre première rangée de LED. Assurez-vous que toutes les anodes sont tournées vers le haut et retournez-les. J'ai trouvé que l'ajout d'une autre LED dans chaque coin, et la fixation d'un autre morceau de protoboard sur le dessus à l'aide d'un cordon élastique a aidé à maintenir tout en place.

proto élastique

Maintenant, un à un, pliez la jambe cathodique (courte) de chaque DEL vers la gauche de sorte qu'elles se chevauchent toutes les unes avec les autres. Il est plus facile de commencer par le côté gauche et de travailler correctement. Si vous utilisez un plus grand morceau de protoboard, vous pouvez d'abord les souder sur la carte et les connecter ensemble en utilisant les pads. Veillez à ne pas joindre l'une des cathodes à d'autres lignes sur le tableau ou l'une des anodes!

soudure de pli de cathode

Répétez ce processus pour toutes les huit lignes, et quand vous avez terminé, vous devriez avoir quelque chose qui ressemble à ceci:

image des rangs finis

Sauter des anodes!

Les colonnes d'anodes sont un peu plus délicates. Dans le diagramme ci-dessus, les anodes se courbent chaque fois qu'elles traversent une rangée de cathodes. C'est parce qu'ils ne peuvent pas toucher les lignes du tout. Nous devons plier les anodes sur les rangées de cathodes et les attacher l'une à l'autre. Vous pouvez constater que l'aide d'un stylo pour plier les jambes aide beaucoup.

Faites ceci pour chaque rangée d'anodes, et attachez une résistance à chaque anode supérieure. Vous trouverez probablement plus facile de placer la résistance dans le trou suivant du protoboard et de joindre les pads en utilisant de la soudure. Vous devriez maintenant avoir quelque chose comme ça:

soudage fini

Toutes nos félicitations! La matrice LED est complète. Vérifiez soigneusement votre soudure à ce stade pour vous assurer qu'il n'y a pas de pauses et qu'aucune des colonnes ne touche les rangées. Ne vous inquiétez pas si ce n'est pas joli, nous en avons juste besoin pour travailler! Vous pouvez vérifier chaque LED individuellement en attachant 5v à l'une des extrémités de la colonne, et la relier à l'une des extrémités de la ligne.

matrice de test

Si tout va bien, attachez les fils de raccordement à chaque colonne et chaque rangée, et attachez-les à votre Arduino comme indiqué dans le diagramme ci-dessus.

Obtenons le codage

Ouvrez l'IDE Arduino et choisissez votre carte et votre port. Si vous êtes nouveau sur Arduino, consultez ce guide de démarrage. Premiers pas avec Arduino: Guide du débutant Premiers pas avec Arduino: un guide pour débutants Arduino est une plate-forme de prototypage électronique open source basée sur un matériel et un logiciel flexibles et faciles à utiliser. Il est destiné aux artistes, designers, amateurs et toute personne intéressée par la création d'objets ou d'environnements interactifs. Lire la suite

Entrez ce code dans l'éditeur. C'est un code assez dense si vous n'êtes pas familier avec lui, mais il est disponible ici entièrement annoté pour aider à comprendre comment cela fonctionne.

const int row[8] = { 2, 3, 4, 5, 6, 7, 8, 9 }; const int col[8] ={ 10, 11, 12, 14, 15, 16, 17, 18 }; int pirPin = 19; int pirState = LOW; int val = 0; bool pirTrigger = false; const int pirLockTime = 12000; int pirCountdown = pirLockTime; int pixels[8][8]; const int refreshSpeed = 500; int countDown = refreshSpeed; int currentCharIndex = 0; typedef bool CHAR_MAP_NAME[8][8]; const CHAR_MAP_NAME blank = { {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, }; const CHAR_MAP_NAME threedownthreein = { {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, }; const int noOfFrames = 5; const CHAR_MAP_NAME *charMap[noOfFrames] ={ &blank, &threedownthreein, &blank, &blank, &threedownthreein }; void setup(){ for (int i=0;i<8;i++){ pinMode(row[i], OUTPUT); pinMode(col[i], OUTPUT); //motion sensor pinMode(pirPin, INPUT); digitalWrite(col[i], LOW); } } void screenSetup(){ const CHAR_MAP_NAME *thisMap = charMap[currentCharIndex]; for (int x = 0; x< 8; x++) { for (int y = 0; y =noOfFrames){ currentCharIndex = 0; } } void refreshScreen(){ for (int currentRow = 0; currentRow< 8; currentRow++){ digitalWrite(row[currentRow], LOW); for (int currentCol = 0; currentCol< 8; currentCol++){ int thisPixel = pixels[currentRow][currentCol]; digitalWrite(col[currentCol], thisPixel); if (thisPixel == HIGH) { digitalWrite(col[currentCol], LOW); } } digitalWrite(row[currentRow], HIGH); } } void loop(){ val = digitalRead(pirPin); if (val == HIGH){ pirTrigger = true; } else if (val == LOW && pirCountdown 0) { refreshScreen(); countDown--; pirCountdown--; if(countDown<= 0) { countDown = refreshSpeed; screenSetup(); } } } 

Les parties importantes à comprendre sont:

La variable refreshSpeed Cette variable détermine la durée d'actualisation de chaque écran. Un plus grand nombre signifie une attente plus longue.

Le const CHAR_MAP_NAME s. C'est là que vous mettez chaque carte de caractères (ou l'image s'il est plus facile de penser ainsi) que vous voulez afficher.

La variable noOfFrames . Cela détermine le nombre d'images affichées dans une partie complète. Notez qu'il peut être différent du nombre de cartes de caractères. Par exemple, si vous voulez afficher "A CAT", vous n'aurez besoin que de définir quatre cadres distincts: vide, A, C et T.

Maintenant, lorsque le capteur de mouvement détecte un mouvement, l'écran LED doit faire clignoter la LED trois vers le bas et trois dans le coin supérieur gauche. S'il ne s'affiche pas correctement, vérifiez à nouveau votre câblage pour vous assurer que tout est au bon endroit! Lorsque vous ajoutez votre propre image ou message, il se peut qu'il soit interrompu trop tôt ou que vous jouiez trop longtemps. Essayez de modifier la variable pirLockTime jusqu'à ce qu'elle soit lue pendant la durée souhaitée.

Le processus d'ajout de chaque image à l'affichage LED peut être un peu fastidieux, nous avons donc créé cette feuille de calcul pour faciliter la création de texte et d'images pour votre matrice LED (faites une copie de la feuille Google pour pouvoir l'éditer ).

En utilisant la feuille de calcul, vous pouvez copier vos créations directement dans le code.

Faites-le Braver les éléments

Maintenant que nous avons une matrice LED fonctionnelle, nous avons besoin d'un moyen pour survivre à l'hiver. Bien que cette méthode ne résiste pas à une tempête tropicale ou ne soit pas plongée dans la piscine, elle devrait suffire à protéger tous les composants électroniques contre les éléments.

J'ai utilisé une boîte Tupperware ronde de 15 cm de diamètre et de 6 cm de profondeur, car elle convient parfaitement à mes composants. Coupez une fenêtre dans le couvercle légèrement plus grande que votre matrice de LED, et attachez-y un film plastique transparent, en veillant à ne laisser aucun espace pour le liquide. Un plastique robuste de certains emballages fonctionnerait mieux, mais c'était tout ce que j'avais. Vous pouvez également attacher quelques montures pour le protoboard, bien que les deux travaux pourraient facilement être faits avec le ruban imperméable fort.

preuve de temps

Ensuite, faites un petit trou sous la fenêtre, puis élargissez-le lentement et soigneusement jusqu'à ce que votre capteur PIR ne puisse que passer. Vous voulez qu'il s'adapte aussi confortablement que possible.

trou de coupe

Attachez votre capteur PIR, et remplissez les lacunes que vous pouvez voir avec du ruban adhésif ou de la colle chaude.

colle pir

Nettoyez toute bande ou colle qui pourrait empêcher la fermeture correcte de la boîte et ajoutez tous vos composants à la boîte avec votre batterie. Ici, une simple batterie AA a été utilisée, branchée directement sur la broche VCC du Nano. Quelques petits morceaux de liège ont été ajoutés à l'extérieur de l'enceinte pour aider à accrocher la construction au centre de la couronne.

Et nous sommes faits

Une fois la boîte scellée, suspendez-la avec votre couronne de Noël et attendez que vos visiteurs réagissent à votre accueil personnalisé de haute technologie de 20 $! Vous pouvez même aller plus loin et créer des décorations de bricolage impressionnantes Décorations de Noël imprimées en 3D pour des vacances geek parfaites Décorations de Noël imprimées en 3D pour des vacances geek parfaites Pourquoi ne pas vous épargner de l'argent pour Noël et imprimer des décorations festives pour votre maison? Lire la suite pour ailleurs autour de la maison aussi!

fini guirlande guirlande de Noël

Dans ce projet, nous avons construit à partir de rien un système de matrice LED autonome, qui est activé par le mouvement et qui peut survivre à l'extérieur dans toutes les conditions météorologiques, sauf les plus intempestives. Cette construction sera utile longtemps après la fin de la saison des fêtes dans d'autres projets, et la même technique pourrait être utilisée pour créer des enclos à l'épreuve des intempéries bon marché pour d'autres projets aussi.

Avez-vous construit quelque chose pour donner à votre Noël une touche DIY? Envisagez-vous des cadeaux de Noël sur le thème de bricolage cette année? Faites-nous savoir dans les commentaires ci-dessous!

In this article