Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

DIY LED-Herz-Fotorahmen – Arduino-Projekt

In diesem Arduino-Projekt zeige ich Ihnen, wie Sie mit Arduino einen fantastischen LED-Herz-Fotorahmen erstellen können. Sie können sich das folgende Video ansehen oder den geschriebenen Artikel unten lesen, um weitere Details zu erhalten.

Auf den ersten Blick sieht es aus wie ein gewöhnlicher Fotorahmen, aber sobald Sie den Schalter auf der Rückseite betätigen, verwandelt es sich in einen außergewöhnlichen Fotorahmen. Das Bauen dieses Arduino-Projekts macht sehr viel Spaß und es kann ein perfektes Valentinstags-, Geburtstags- oder Jubiläumsgeschenk für Ihre Lieben sein. Beginnen wir also mit dem Bau

Vorbereitung des Fotorahmens


Zuerst brauchen wir einen einfachen 18 x 13 cm großen Fotorahmen und eine auf die Größe des Rahmens zugeschnittene Faserplatte, auf der Löcher zum Einsetzen der LEDs gemacht werden. Dann müssen wir eine Herzform mit 32 LEDs zeichnen und drucken, die als Muster verwendet wird. Wir werden die Löcher für die LEDs mit einem Bohrer machen.

Sobald wir mit dem Bohren der Löcher fertig sind, beginnen wir mit dem Einsetzen der LEDs. Wir müssen alle LEDs auf der gleichen Seite einsetzen, wobei die Anode oder das längere Kabel nach außen zeigen, damit wir sie biegen und später die Anoden aller LEDs zusammenlöten können.

Nachdem wir alle LEDs gelötet haben, sollten wir überprüfen, ob alle ordnungsgemäß funktionieren. Dazu müssen wir den positiven 5-Volt-VCC-Pin über einen 220-Ohm-Widerstand mit den Anoden der LEDs verbinden und mit dem Ground-Pin jede LED prüfen, ob sie aufleuchtet.

Schaltpläne


Hier sind die Schaltpläne dieses Projekts und darunter finden Sie eine vollständige Liste der für dieses Projekt benötigten Komponenten. Wir werden also den Arduino Nano und die beiden TLC5940-ICs zur Steuerung der LEDs verwenden. Der TLC5940 ist ein 16-Kanal-LED-Treiber mit PWM-Ausgängen. Weitere Informationen zum Anschließen und Verwenden dieses ICs mit dem Arduino finden Sie in meinem speziellen Arduino- und TLC5940-Tutorial.

Für dieses Arduino-Projekt benötigte Komponenten


Sie können die Komponenten von einer der folgenden Websites beziehen:

  • Arduino-Nano………………………..
  • Ultrahelle rote LEDs …………… 
  • Wechseln………………………………….. 
  • Netzbuchse …………………………… 
  • DC 5V>1A Adapter……………….. 
  • 2 x TLC5940 LED-Treiber……….
  • 2 x 2K-Widerstände ……………………..
  • 1uF &0,1uF Kondensatoren ……………

Zusammenbau


Hier setzen wir zuerst die IC-Sockel und die Stiftleisten ein und löten sie auf die Prototyping-Leiterplatte, damit wir die ICs und den Arduino Nano daran befestigen können. Wir brauchen auch zwei zusätzliche Stiftleisten mit ein paar Steckplätzen für die Stromversorgung oder die 5-Volt-VCC- und die Erdungsstifte sowie zwei Kondensatoren zur Entkopplung.

Wir müssen beim Anschließen der Komponenten sehr vorsichtig sein, da es mit so vielen Drähten sehr chaotisch werden kann, wenn wir etwas falsch anschließen. An dieser Stelle müssen wir den Arduino-Code hochladen, um sicherzustellen, dass wir alles richtig angeschlossen haben.

Arduino-Code


Werfen wir einen Blick auf den Arduino-Code, den ich für dieses Projekt erstellt habe. Wir werden also die TLC5940-Bibliothek von Alex Leone verwenden. Sobald wir diese Bibliothek heruntergeladen und installiert haben, müssen wir die Datei tlc_config.h ändern und den Wert der Variablen NUM_TLCS auf die Anzahl der in Reihe geschalteten TLC5940-ICs ändern, und in unserem Fall ist dieser Wert 2

Damit können wir nun ganz einfach alle LEDs von 0 bis 31 ansprechen. Zu Beginn müssen wir auch einige Variablen definieren, die für das Programm benötigt werden. Im Setup-Bereich müssen wir die TLCs initiieren und im Loop-Bereich das Programm erstellen. Ich habe das Programm mithilfe der switch-Anweisung in 9 verschiedene Stufen oder Lichtshows der LEDs gegliedert.

Schauen wir uns zum Beispiel die erste Stufe an. Wir generieren zufällige INT-Werte von 0 bis 31 und verwenden sie als Adressen für die LEDs. Die Funktion Tlc.set() wird verwendet, um einzustellen, welche LED wir leuchten lassen. Der erste Parameter ist die Adresse der LED und der zweite Parameter ist der Helligkeitswert der LED oder der PWM-Wert, der zwischen 0 und 4095 liegt. Dies wird jedoch die LED nicht sofort zum Leuchten bringen, sondern nur festlegen, was Die LED leuchtet als nächstes auf, wenn die Funktion Tlc.update() ausgeführt wird. Mit dieser „if“-Anweisung aktivieren wir die zweite Stufe, nachdem 8 zufällige LEDs aufleuchten. Schauen wir uns nun ein weiteres Beispiel an, sagen wir Stufe 3. Mit dieser „for“-Schleife setzen wir alle 32 LEDs so, dass sie aufleuchten, wenn die Tlc.update()-Funktion ausgeführt wird. Nach einer halben Sekunde Verzögerung mit der Funktion Tlc.clear() löschen und schalten wir alle LEDs aus. Auf ähnliche Weise können Sie den Code ändern und selbst weitere Lichtshows hinzufügen.

/* LED Heart Photo Frame - Arduino Project * Program made by Dejan Nedelkovski, * www.HowToMechatronics.com */ /* TLC5940 Library by Alex Leone, https://code.google.com/archive/p/tlc5940arduino/ * You need to modify tlc_config.h located in the TLC5940 library * and change the value of the variable NUM_TLCS to the numbers of TLC5940 ICs connected */ #include "Tlc5940.h" int stage = 0; int randomNumber; int count = 0; int brightness = 3500; int brightUp = 50; int dir=1; void setup() { Tlc.init(); } void loop() { switch(stage) { //-----Stage 1 case 0: randomNumber = (int)random(0,31); Tlc.set(randomNumber,4095); delay(1500); Tlc.update(); if(count >= 8) { stage = 1; count = 0; } else { ++count; } break; //-----Stage 2 case 1: delay(75); for(int i=31;i>=0;i--) { Tlc.set(i,4095); delay(100); Tlc.update(); } delay(500); Tlc.clear(); Tlc.update(); stage = 2; delay(500); break; //-----Stage 3 case 2: for(int i=0;i<=31;i++) { Tlc.set(i,4095); } Tlc.update(); delay(500); Tlc.clear(); Tlc.update(); delay(350); if(count > 6) { stage = 3; count = 0; } else { ++count; } break; //-----Stage 4 case 3: for (int i=0;i<=15;i++) { Tlc.set(i,4095); Tlc.set(31-i,4095); Tlc.update(); delay(70); } delay(50); for (int i=15;i>=0;i--) { Tlc.set(i,0); Tlc.set(31-i,0); Tlc.update(); delay(70); } for (int i=15;i>=0;i--) { Tlc.set(i,4095); Tlc.set(31-i,4095); Tlc.update(); delay(70); } for (int i=0;i<=15;i++) { Tlc.set(i,0); Tlc.set(31-i,0); Tlc.update(); delay(70); } delay(50); Tlc.clear(); Tlc.update(); delay(100); if(count > 1) { stage = 4; count = 0; } else { ++count; } break; //-----Stage 5 case 4: for (int i=15;i>=count;i--) { Tlc.set(32-i,4095); Tlc.update(); delay(5); Tlc.set(32-i-1,0); Tlc.update(); delay(5); Tlc.set(i,4095); Tlc.update(); delay(5); Tlc.set(i+1,0); Tlc.update(); delay(50); } if(count > 15) { Tlc.set(16,4095); Tlc.update(); delay(2000); stage = 5; count = 0; } else { ++count; } break; //-----Stage 6 case 5: for (int i=0;i<=31;i++) { Tlc.set(i,brightness); Tlc.update(); } Tlc.update(); brightness = brightness + brightUp; if (brightness>=3500) { brightUp=-50; ++count; } if (brightness<=150) { brightUp=50; } if(count > 6) { stage = 6; count = 0; brightness = 3500; Tlc.clear(); Tlc.update(); } delay(40); break; //-----Stage 7 case 6: for (int i=0;i<=30;i+=2) { Tlc.set(i,4095); Tlc.set(i+1,0); } Tlc.update(); delay(500); for (int i=0;i<=30;i+=2) { Tlc.set(i,0); Tlc.set(i+1,4095); } Tlc.update(); delay(500); if(count > 20) { stage = 7; count = 0; } else { ++count; } break; //-----Stage 8 case 7: for(int i=31;i>=16;i--) { Tlc.clear(); Tlc.update(); delay(2); Tlc.set(i,4095); Tlc.set(i+1,2000); Tlc.set(i+2,1000); Tlc.set(i+3,500); Tlc.set(i+4,300); Tlc.set(i+5,200); Tlc.set(i+6,100); Tlc.set(i+7,50); Tlc.set(i+8,0); Tlc.set(i-16,4095); Tlc.set(i-15,2000); Tlc.set(i-14,1000); Tlc.set(i-13,500); Tlc.set(i-12,300); Tlc.set(i-11,200); Tlc.set(i-10,100); Tlc.set(i+-9,50); Tlc.set(i-8,0); Tlc.update(); delay(50); } if(count > 8) { for(int i=31;i>=0;i--) { Tlc.set(i,4095); Tlc.update(); delay(50); } stage = 8; count = 0; } else { ++count; } break; //-----Stage 9 case 8: for(int i=31;i>=0;i--) { Tlc.set(i+8,4095); Tlc.set(i+7,2000); Tlc.set(i+6,1000); Tlc.set(i+5,500); Tlc.set(i+4,300); Tlc.set(i+3,200); Tlc.set(i+2,100); Tlc.set(i+1,50); Tlc.set(i,0); Tlc.update(); delay(50); } for(int i=31;i>=0;i--) { Tlc.set(i,4095); } Tlc.update(); delay(10); if(count > 8) { delay(8000); Tlc.clear(); Tlc.update(); stage = 0; count = 0; } else { ++count; } break; } } Codesprache:Arduino (arduino)

Letzter Schliff


Sobald wir mit der Programmierung fertig sind und wissen, dass alles gut funktioniert, müssen wir die LEDs an der Faserplatte befestigen, und das habe ich mit einer Klebepistole gemacht. Dann müssen wir mit einer Klebepistole und 4 weiteren zugeschnittenen Faserplatten eine Abdeckbox für die Elektronik herstellen.

Jetzt müssen nur noch die vom Schalter kommenden Stromleitungen und die Strombuchse, die in die Faserplatte des Bilderrahmens eingeführt werden, angeschlossen werden, das Foto hinzugefügt, die gesamte Schachtel am Bilderrahmen befestigt werden und fertig!

Hier können Sie sich das komplette Demo-Video des LED-Herz-Fotorahmens ansehen.

Fühlen Sie sich frei, Fragen im Kommentarbereich unten zu stellen!


Herstellungsprozess

  1. DIY LUMAZOID Arduino Music Visualiser
  2. DIY Infrarot-Herzschlagsensor mit Arduino
  3. Audiofrequenzdetektor
  4. Arduino mit Bluetooth zur Steuerung einer LED!
  5. Tech-TicTacToe
  6. DIY Voltmeter mit Arduino und einem Nokia 5110 Display
  7. Arduino-Vierbeiner
  8. Arduino-Countdown-Timer
  9. Arduino RGB-Farbmischer
  10. DIY Arduino RADIONICS-Behandlungsmaschine