Inhaltsverzeichnis:
- Schritt 1: Wie es funktioniert
- Schritt 2: Materialien und Werkzeuge
- Schritt 3: Schaltpläne
- Schritt 4: Auf einer Prototypenplatine montieren
- Schritt 5: Programmieren Sie die Schaltung
- Schritt 6: Löten
Video: Programmierbare LED: 6 Schritte (mit Bildern)
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:21
Inspiriert von verschiedenen LED-Throwies, blinkenden LEDs und ähnlichen instructables wollte ich meine Version einer LED machen, die von einem Mikrocontroller gesteuert wird. Die Idee ist, die LED-Blinksequenz umprogrammierbar zu machen. Diese Umprogrammierung kann mit Licht und Schatten erfolgen, z. B. Sie könnten Ihre Taschenlampe verwenden. Dies ist mein erstes instructable, Kommentare oder Korrekturen sind willkommen. Update 12.08.2008: Es gibt jetzt ein Kit im Tinker Store. Hier ist ein Video der Neuprogrammierung. Entschuldigung für die Qualität.
Schritt 1: Wie es funktioniert
Als Ausgang dient eine LED. Als Eingang habe ich einen LDR verwendet, einen lichtabhängigen Widerstand. Dieser LDR ändert seinen Widerstand, wenn er mehr oder weniger Licht empfängt. Der Widerstand wird dann als analoger Eingang für den ADC (Analog-Digital-Wandler) des Mikroprozessors verwendet.
Der Controller verfügt über zwei Betriebsmodi, einen zum Aufzeichnen einer Sequenz, den anderen zum Abspielen der aufgezeichneten Sequenz. Sobald der Controller innerhalb einer halben Sekunde zwei Helligkeitsänderungen (dunkel, hell, dunkel oder umgekehrt) wahrnimmt, wechselt er in den Aufnahmemodus. Im Aufnahmemodus wird der Eingang des LDR mehrmals pro Sekunde gemessen und auf dem Chip gespeichert. Ist der Speicher erschöpft, schaltet der Controller zurück in den Wiedergabemodus und beginnt mit der Wiedergabe der aufgenommenen Sequenz. Da der Speicher dieses winzigen Controllers mit 64 Byte (ja, Bytes!) sehr begrenzt ist, kann der Controller 400 Bit aufzeichnen. Das ist Platz genug für 10 Sekunden mit 40 Samples pro Sekunde.
Schritt 2: Materialien und Werkzeuge
Materialien- 2 x 1K Widerstand- 1 x LDR (Light Dependent Resistor), z. B. M9960- 1 x Niederstrom-LED, 1.7V, 2ma- 1 x Atmel ATtiny13v, 1KB Flash RAM, 64 Bytes RAM, 64 Bytes EEPROM, [email protected] 1 x CR2032, 3V, 220mAhTools- Lötkolben - Lötdraht - Steckbrett - AVR-Programmierer - 5V Netzteil - MultimeterSoftware - Eclipse - CDT-Plugin - WinAVRKosten sollten ohne die Tools insgesamt unter 5 $ liegen. Ich habe den ATtiny13v verwendet, weil diese Version dieser Controller-Familie mit 1,8 V betrieben werden kann. Dadurch ist es möglich, die Schaltung mit einer sehr kleinen Batterie zu betreiben. Um es sehr lange laufen zu lassen, habe ich mich für eine Schwachstrom-LED entschieden, die bereits bei 2mA die volle Helligkeit erreicht.
Schritt 3: Schaltpläne
Einige Anmerkungen zum Schaltplan. Der Reset-Eingang ist nicht angeschlossen. Dies ist nicht die beste Vorgehensweise. Besser wäre es, einen 10K-Widerstand als Pull-Up zu verwenden. Aber ohne funktioniert es bei mir gut und es spart einen Widerstand. Um die Schaltung so einfach wie möglich zu halten, habe ich den internen Oszillator verwendet. Das heißt, wir sparen einen Quarz und zwei kleine Kondensatoren. Der interne Oszillator lässt den Controller mit 1,2MHz laufen, was für unseren Zweck mehr als genug Geschwindigkeit ist. Wenn Sie sich entscheiden, eine andere Stromversorgung als 5V zu verwenden oder andere LEDs zu verwenden, müssen Sie den Widerstand R1 berechnen. Die Formel lautet: R = (Stromversorgung V - LED V) / 0,002A = 1650 Ohm (Stromversorgung = 5V, LED V = 1,7V). Bei Verwendung von zwei Niederstrom-LEDs anstelle von einer sieht die Formel wie folgt aus: R = (Stromversorgung V - 2 * LED V) / 0,002 A = 800 Ohm. Bitte beachten Sie, dass Sie die Berechnung anpassen müssen, wenn Sie einen anderen LED-Typ wählen. Der Wert des Widerstands R2 hängt vom verwendeten LDR ab. 1KOhm funktioniert bei mir. Vielleicht möchten Sie ein Potentiometer verwenden, um den besten Wert zu finden. Die Schaltung sollte in der Lage sein, Lichtveränderungen bei normalem Tageslicht zu erkennen. Um Strom zu sparen, wird PB3 nur dann auf hoch gesetzt, wenn eine Messung durchgeführt wird. Update: Der Schaltplan war irreführend. Unten ist eine korrekte Version. Danke, dave_chatting.
Schritt 4: Auf einer Prototypenplatine montieren
Wenn Sie Ihre Schaltung testen möchten, ist ein Steckbrett sehr praktisch. Sie können alle Teile zusammenbauen, ohne etwas löten zu müssen.
Schritt 5: Programmieren Sie die Schaltung
Der Controller kann in verschiedenen Sprachen programmiert werden. Am häufigsten werden Assembler, Basic und C verwendet. Ich habe C verwendet, da es meinen Anforderungen am besten entspricht. Ich war vor zehn Jahren an C gewöhnt und konnte einen Teil des Wissens wieder aufleben lassen (naja, nur einiges …). Um Ihr Programm zu schreiben, empfehle ich Eclipse mit dem CDT-Plugin. Holen Sie sich Eclipse hier https://www.eclipse.org/ und das Plugin hier https://www.eclipse.org/cdt/. Um die C-Sprache in AVR-Mikrocontroller zu kompilieren, benötigen Sie einen Cross-Compiler. Zum Glück gibt es einen Hafen des berühmten GCC. Es heißt WinAVR und ist hier https://winavr.sourceforge.net/ zu finden. Ein sehr gutes Tutorial zum Programmieren von AVR-Controllern mit WinAVR finden Sie hier https://www.mikrocontroller.net/articles/AVR-GCC- Lernprogramm. Tut mir leid, es ist auf Deutsch, aber Sie können Tausende von Tutorial-Seiten zu diesem Thema in Ihrer Sprache finden, wenn Sie danach suchen. Nachdem Sie Ihren Quellcode kompiliert haben, müssen Sie die Hex-Datei auf die Steuerung übertragen. Dies kann durch Anschließen Ihres PCs an die Schaltung über ISP (im Systemprogrammierer) oder über dedizierte Programmierer erfolgen. Ich habe einen dedizierten Programmierer verwendet, da er die Schaltung etwas einfacher macht, indem einige Drähte und ein Stecker eingespart werden. Der Nachteil ist, dass Sie jedes Mal, wenn Sie Ihre Software aktualisieren möchten, den Controller zwischen der Schaltung und dem Programmierer austauschen müssen. Mein Programmierer kommt von https://www.myavr.de/ und verwendet USB zum Anschluss an mein Notebook. Es gibt viele andere und Sie können es sogar selbst bauen. Für die Übertragung selbst habe ich ein Programm namens avrdude verwendet, das Teil der WinAVR-Distribution ist. Eine Beispiel-Befehlszeile kann wie folgt aussehen:
avrdude -F -p t13 -c avr910 -P com4 -U flash:w:flickled.hex:iAnbei erhalten Sie den Quellcode und die kompilierte Hex-Datei.
Schritt 6: Löten
Wenn Ihre Schaltung auf dem Steckbrett funktioniert, können Sie es löten.
Dies kann auf einer Leiterplatte (Printed Cicuit Board), auf einer Prototypenplatine oder sogar ohne Platine erfolgen. Ich habe mich dafür entschieden, darauf zu verzichten, da die Schaltung nur aus wenigen Komponenten besteht. Wenn Sie mit Löten nicht vertraut sind, empfehle ich Ihnen, zuerst nach einem Löt-Tutorial zu suchen. Meine Lötfähigkeiten sind ein bisschen eingerostet, aber ich denke, Sie verstehen die Idee. Ich hoffe, dass es Ihnen gefallen hat. Alex
Empfohlen:
Bewegungsaktivierte Cosplay Wings mit Circuit Playground Express - Teil 1: 7 Schritte (mit Bildern)
Bewegungsaktivierte Cosplay-Flügel mit Circuit Playground Express - Teil 1: Dies ist Teil 1 eines zweiteiligen Projekts, in dem ich Ihnen meinen Prozess zur Herstellung eines Paars automatisierter Feenflügel zeige. Der erste Teil des Projekts ist der Mechanik der Flügel, und der zweite Teil macht es tragbar und fügt die Flügel hinzu
DIY Circuit Activity Board mit Büroklammern - HERSTELLER - STEM: 3 Schritte (mit Bildern)
DIY Circuit Activity Board mit Büroklammern | HERSTELLER | STEM: Mit diesem Projekt können Sie den Weg des elektrischen Stroms ändern, um durch verschiedene Sensoren zu laufen. Mit diesem Design können Sie zwischen dem Aufleuchten einer blauen LED oder dem Aktivieren eines Summers wechseln. Sie haben auch die Wahl, einen lichtabhängigen Widerstand mit
Beginnen Sie mit Light Painting (kein Photoshop): 5 Schritte (mit Bildern)
Beginnend mit Light Painting (kein Photoshop): Ich habe vor kurzem eine neue Kamera gekauft und einige ihrer Funktionen untersucht, als ich im Internet auf Light Painting oder Langzeitbelichtung gestoßen bin. Die meisten von uns werden die Grundform des Lightpaintings mit einem Foto in einer Stadt mit einer Straße gesehen haben
So erstellen Sie eine Android-App mit Android Studio: 8 Schritte (mit Bildern)
So erstellen Sie eine Android-App mit Android Studio: In diesem Tutorial lernen Sie die Grundlagen zum Erstellen einer Android-App mit der Android Studio-Entwicklungsumgebung. Da Android-Geräte immer häufiger werden, wird die Nachfrage nach neuen Apps nur zunehmen. Android Studio ist ein einfach zu bedienendes (ein
Erste Schritte mit Python: 7 Schritte (mit Bildern)
Erste Schritte mit Python: Programmieren ist großartig! Es ist kreativ, macht Spaß und gibt Ihrem Gehirn ein mentales Training. Viele von uns wollen etwas über Programmieren lernen, aber überzeugen sich selbst davon, dass wir es nicht können. Vielleicht hat es zu viel Mathematik, vielleicht der Jargon, der erschreckend herumgeworfen wird