Améliorez votre guirlande de Noël avec une matrice LED activée par le mouvement
Noël est de retour, et que ce soit votre fête préférée de l'année ou vos sueurs froides, les décorations commencent à monter. Cette année, pourquoi ne pas incorporer une technologie de bricolage dans vos décorations pour les faire ressortir?
Dans ce projet, nous construirons une matrice LED 8 x 8 résistante aux intempéries et activée par le mouvement, pour moins de 20 $. Il a été conçu pour s’intégrer au centre d’une guirlande de porte de Noël standard, bien qu’il puisse être utilisé n’importe où dans la maison. Et comme il 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 tous les guides d'achat Arduino compatibles avec un microcontrôleur compatible Arduino: Quelle carte choisir? Guide d'achat Arduino: Quel conseil choisir? Il y a tellement de types de cartes Arduino que vous ne pouvez pas vous tromper Que 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 de 220 Ohm.
- Capteur de mouvement PIR.
- Nombreux kits de démarrage Arduino Que comprend un kit de démarrage Arduino? [MakeUseOf explique] Qu'est-ce qui est inclus dans un kit de démarrage Arduino? [MakeUseOf explique] J'ai déjà présenté le matériel open-source Arduino ici sur MakeUseOf, mais vous avez besoin de plus que de l'Arduino lui-même pour en créer quelque chose et pour commencer réellement. Les "kits de démarrage" Arduino sont… Lire la suite avec ceux-ci. J'ai acheté un multi-pack d'Amazon pour 10 $.
- 1 morceau de carton de prototypage.
- Celui utilisé ici était de 9 x 7 cm, bien que vous puissiez utiliser n'importe quelle taille.
- Batterie 7-12v.
- Un simple bloc-batterie est utilisé ici pour des raisons budgétaires, mais un chargeur de banque mobile Les meilleures banques d'alimentation Pokemon Go Les meilleures banques d'alimentation Pokemon Go Pokemon Go bat le diable de la batterie d'un téléphone. Extraire un peu plus de jus attrapant Pokemon de votre téléphone nécessite une banque de puissance. Mais quelle est la meilleure batterie sur le marché? 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.
- Tout ce que vous ferez, assurez-vous simplement que la boîte d’enceinte s’y glisse.
- Fer à souder et soudure.
Bien que cela ne soit pas strictement nécessaire car vous pouviez souder les composants directement sur le Nano, j'ai également trouvé une petite planche à pain très utile lors des tests. Un pistolet à colle chaude aide également à assembler toutes les pièces.
Ce projet nécessite beaucoup de soudure et peut sembler décourageant pour un débutant. Personnellement, je suis toujours très débutant dans le domaine de la soudure et j’ai trouvé que ce n’était pas aussi difficile et prend beaucoup de temps qu’il semble. Si vous débutez dans le domaine de la soudure, voici quelques conseils utiles: Apprenez à souder, avec ces astuces et projets simples Apprenez à souder, avec ces astuces et projets simples métal en fusion? Si vous voulez commencer à travailler avec l'électronique, vous devrez apprendre à souder. Laissez-nous vous aider. Lire la suite .
Si vous n’aimez vraiment pas l’idée de souder, ce projet est également envisageable avec les bandes de diodes électroluminescentes Projet Week-end: Construire un pixel géant LED Afficher pas cher, et tellement polyvalent. Aujourd'hui, nous allons les transformer en un grand affichage en pixels qui peut être accroché au mur. Lire la suite, ou une matrice de LED prête à l'emploi que vous pourriez avoir dans votre kit de démarrage. Quelques ajustements de code seront nécessaires si vous décidez de suivre cette voie.
Configurer l'Arduino
Nous commencerons par le schéma de circuit de l’Arduino et les fils que nous attacherons à notre capteur IRP et à notre matrice DEL.
À l'intérieur de la matrice
Maintenant, faisons notre matrice de 8 x 8 LED. C'est une bonne idée de commencer par créer une ligne et une colonne de la matrice, afin de vous assurer qu'elle se trouve exactement à l'endroit souhaité sur la carte de prototypage..
Sur la photo ci-dessus, toutes les DEL sont placées de manière à ce que les anodes (la jambe la plus longue et la plus positive) se trouvent vers le haut du protoboard. Ceci est important, car nous allons créer des colonnes d'anodes communes en les assemblant, ainsi que des rangées de cathodes communes (le segment court et négatif). Obtenir ceci maintenant sauvera des maux de tête plus tard!
Nous allons construire une matrice de cathode de rangée commune, ce diagramme montre comment tout est connecté.
Cela peut paraître un peu intimidant au début, mais la configuration est assez simple. Dans chaque rangée, toutes les cathodes sont reliées de droite à gauche, puis se fixent à l'une de nos broches Arduino. Après cela, nous faisons la même chose pour chaque colonne d'anodes. Ainsi, en fonction de la colonne d'alimentation et de la rangée reliées à la terre, nous pouvons allumer n'importe quelle LED de la matrice..
Que la soudure commence
Commencez par placer votre première rangée de DEL. 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 permettaient de maintenir le tout en place..
Maintenant, courbez une à une la patte de la cathode (courte) de chaque LED vers la gauche de manière à ce qu'elles se chevauchent toutes. Il est plus facile de commencer par le côté gauche et de travailler à droite. Si vous utilisez un plus gros morceau de protoboard, vous pouvez d'abord le souder sur le tableau et le connecter ensemble à l'aide des pads. Veillez à ne relier aucune des cathodes à d’autres lignes du tableau ni à aucune des anodes!
Répétez cette procédure pour les huit lignes et lorsque vous aurez terminé, vous devriez obtenir quelque chose qui ressemble à ceci:
Anodes Sautantes!
Les colonnes d'anodes sont un peu plus délicates. Dans le diagramme ci-dessus, les anodes se courbent chaque fois qu’elles croisent 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 les unes aux autres. Vous constaterez peut-être qu'utiliser un stylo pour plier les jambes aide beaucoup.
Faites cela 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 plots avec de la soudure. Vous devriez maintenant avoir quelque chose comme ça:
Toutes nos félicitations! La matrice de LED est terminée. Vérifiez soigneusement votre soudure à ce stade pour vous assurer qu'il n'y a pas de coupures et qu'aucune des colonnes ne touche les rangées. Ne vous inquiétez pas si cela ne semble pas joli, nous en avons juste besoin pour fonctionner! Vous pouvez maintenant vérifier chaque voyant individuellement en connectant 5v à n’importe laquelle des extrémités de la colonne et en reliant à la terre l’une des extrémités de la ligne..
Si tout va bien, connectez les fils de connexion à chaque colonne et à chaque rangée, puis connectez-les à votre Arduino comme indiqué dans le schéma ci-dessus..
Passons au codage
Ouvrez l'IDE Arduino et choisissez votre carte et votre port. Si vous êtes nouveau sur Arduino, consultez ce guide de démarrage. Démarrer avec Arduino: Guide du débutant Démarrer avec Arduino: Guide du débutant Arduino est une plate-forme de prototypage électronique à code source ouvert basée sur un matériel et un logiciel flexibles et faciles à utiliser. Il est destiné aux artistes, concepteurs, 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 ne le connaissez pas, mais il est disponible ici entièrement annoté pour vous 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 vide = 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, 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, 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, 0, ; const int noOfFrames = 5; const CHAR_MAP_NAME * charMap [noOfFrames] = & blank, & threedownthreein, & blank, & blank, & threedownthree; 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 < 8; y++) bool on = (*thisMap)[x][y]; if(on) pixels[x][y] = HIGH; else pixels[x][y] = LOW; currentCharIndex++; if(currentCharIndex>= noOfFrames) currentCharIndex = 0; void refreshScreen () pour (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) pirTrigger=false; pirCountdown = pirLockTime; if(pirTrigger==true && pirCountdown > 0) refreshScreen (); compte à rebours--; pirCountdown--; if (countDown <= 0) countDown = refreshSpeed; screenSetup();
Les parties importantes à comprendre sont:
le refreshSpeed variable. Cette variable détermine le délai d'actualisation de chaque écran. Un plus grand nombre signifie une attente plus longue.
Le const CHAR_MAP_NAMEs. C’est là que vous placez chaque carte de personnage (ou cadre s'il est plus facile de la concevoir ainsi) que vous souhaitez afficher..
le noOfFrames variable. Cela détermine le nombre d'images affichées en une seule fois. Notez que cela peut être différent du nombre de cartes de personnages. Par exemple si vous vouliez afficher “UN CHAT” il vous suffira de définir quatre cadres distincts: un blanc, un UNE, une C et un T.
Désormais, lorsque le détecteur de mouvement détecte un mouvement, l’écran de la DEL doit faire clignoter la DEL trois en bas et trois en haut à 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 peut être interrompu trop tôt ou trop longtemps. Essayez de changer le pirLockTime variable jusqu'à ce qu'il joue pour la quantité de temps que vous voulez.
Le processus d’ajout de chaque cadre à l’affichage LED peut être un peu fastidieux. Nous avons donc créé ce tableur pour faciliter la création de texte et d’images pour votre matrice LED (faites une copie de la feuille Google pour pouvoir ).
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 de DEL qui fonctionne, nous avons besoin d’un moyen de survivre aux conditions hivernales. Bien que cette méthode puisse ne pas résister à une tempête tropicale ou à un plongeon dans la piscine, elle devrait suffire à protéger tous les composants électroniques des éléments.
J'ai utilisé une boîte ronde Tupperware de 15 cm de diamètre et de 6 cm de profondeur, car elle convient parfaitement à mes composants. Dans le couvercle, coupez une fenêtre légèrement plus large que votre matrice LED et fixez-y un film plastique transparent, en veillant à ne laisser aucun espace pour le liquide. Un plastique solide provenant de certains emballages fonctionnerait mieux, mais c'est tout ce que j'avais. Vous pouvez également fixer des supports pour le protoboard, bien que les deux tâches puissent facilement être effectuées avec du ruban adhésif résistant et imperméable.
Ensuite, faites un petit trou sous la fenêtre, puis élargissez-la doucement et avec précaution jusqu'à ce que votre capteur PIR ne puisse plus que passer. Vous voulez qu'il soit aussi ajusté que possible.
Fixez votre capteur PIR et colmatez tous les espaces vides avec du ruban adhésif ou de la colle chaude..
Nettoyez le ruban adhésif ou la colle qui pourrait empêcher la boîte de se fermer correctement et ajoutez tous vos composants à la boîte avec votre batterie. Ici, un simple bloc-piles AA a été utilisé, branché 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 à suspendre la construction au centre de la couronne.
Et nous sommes faits
Une fois la boîte scellée, accrochez-la à votre guirlande de Noël et attendez la réaction de vos visiteurs face à votre accueil personnel high tech inférieur à 20 $! Vous pourriez même aller plus loin et créer de superbes décorations de bricolage. Décorations de Noël imprimées en 3D pour Perfect Geeky Holidays Décorations de Noël imprimées en 3D pour des vacances Geek idéales Pourquoi ne pas économiser de l'argent à Noël et imprimer en 3D des ornements festifs pour votre maison? Lisez plus pour ailleurs autour de la maison!
Dans le cadre de ce projet, nous avons construit à partir de zéro un système matriciel LED autonome, activé par le mouvement, qui peut survivre à l’extérieur, quelle que soit la météo. Cette construction sera utile longtemps après la fin des vacances dans d'autres projets, et la même technique pourrait être utilisée pour créer des enceintes peu onéreuses et résistantes aux intempéries pour d'autres projets..
Avez-vous construit quelque chose pour donner à votre Noël une touche de bricolage? Envisagez-vous des cadeaux de Noël sur le thème du bricolage cette année? Faites-nous savoir dans les commentaires ci-dessous!
Explorer plus sur: Arduino, Electronics.