Inhaltsverzeichnis:

Arduino LED-Tastenfeld, das die Verarbeitung von Animationen steuert - Gunook
Arduino LED-Tastenfeld, das die Verarbeitung von Animationen steuert - Gunook

Video: Arduino LED-Tastenfeld, das die Verarbeitung von Animationen steuert - Gunook

Video: Arduino LED-Tastenfeld, das die Verarbeitung von Animationen steuert - Gunook
Video: LED-Ampel mit einem Taster steuern. Arduino mit Tinkercad programmieren 2024, November
Anonim
Image
Image
Arduino LED-Tastenfeld, das die Verarbeitung von Animationen steuert
Arduino LED-Tastenfeld, das die Verarbeitung von Animationen steuert
Arduino LED-Tastenfeld, das die Verarbeitung von Animationen steuert
Arduino LED-Tastenfeld, das die Verarbeitung von Animationen steuert

WasDieses Tastenfeld wird aus einer Leiterplatte und anderen von Sparkfun hergestellten Komponenten hergestellt. Angetrieben wird es von einem Arduino Mega. Jeder Knopf ist schön weich und angenehm zu drücken, und er hat eine RGB-LED im Inneren! Ich habe ihn verwendet, um Animationen zu steuern, die ich in Processing codiert habe. Das Tastenfeld sendet jedes Mal, wenn eine Taste gedrückt wird, eine Nachricht, welche Taste es war. Die Verarbeitung empfängt diese Meldungen und ändert Variablen in der Skizze, je nachdem, was gedrückt wurde.

Wieso den

LEDs sind cool. Es macht Spaß, Knöpfe zu drücken. Animierte geometrische Muster sind schön. Ich wollte alle drei kombinieren. Ich nahm dieses Projekt mit auf eine Party, projizierte die Bilder an die Wand und ließ die Leute mit den Knöpfen spielen. Es könnte auch von einem VJ performanter verwendet werden, ähnlich wie ein Midi-Controller, aber mehr DIY.

Wie

Dieses Projekt besteht aus vier Hauptteilen.

Das angehängte Youtube-Video gibt einen guten Einblick, wie das Tastenfeld zusammenpasst. Dieses Instructable deckt das sowie den Arduino- und Verarbeitungscode ab - (zusätzliche Videos für diese sind in Arbeit)

  1. Zusammensetzen des Tastenfelds - Beginnt in Schritt 1

    Dabei werden die Bauteile vorbereitet und mit der Leiterplatte verlötet

  2. Der Arduino-Code - Beginnt in Schritt 10

    Dazu benötigen wir ein Verständnis des Matrix-Scannings, das ich besprechen werde.

  3. Der Verarbeitungscode - Beginnt in Schritt 24

    Es gibt hier endlose Möglichkeiten, ich werde ein Beispiel durchsprechen, das ich bisher gemacht habe.

  4. Den Arduino dazu bringen, Nachrichten an Processing zu senden - Schritt 16 zum Senden, Schritt 30-31 zum Empfangen

    Das ist nett und einfach, es sendet die Nachricht über eine serielle Verbindung.

Niveau

Ich versuche, meine Tutorials so zu schreiben, dass jemand, der überhaupt keine Kenntnisse hat, zumindest mitmachen kann. Es kann hilfreich sein, sich zunächst einige Einführungs-Tutorials zur Verarbeitung anzusehen. Ich würde mit dem YouTube-Kanal von Daniel Shiffman beginnen.

Code

Der gesamte Code (Arduino und Processing) befindet sich hier auf meinem Github.

Credits

Ich habe eine Menge von diesem Tutorial gelernt https://learn.sparkfun.com/tutorials/button-pad-ho… und ein Großteil des Arduino-Codes stammt von dort, obwohl ich ihn so bearbeitet habe, dass er etwas anders funktioniert als alle Beispiele dort.

Schritt 1: Die Komponenten

Die Komponenten!
Die Komponenten!
Die Komponenten!
Die Komponenten!
Die Komponenten!
Die Komponenten!
Die Komponenten!
Die Komponenten!
  • 16 x 5 mm RGB-LEDs (nicht adressierbar, nur normale gemeinsame Kathoden)
  • 16 x 1N4148 Dioden
  • Silikon-Tastenfeld
  • Tastenfeld PCB
  • Arduino Mega
  • Überbrückungskabel

(Es gibt auch eine Menge Sachen, die Sie von Sparkfun bekommen können, um das Ganze etwas ordentlicher unterzubringen, aber das habe ich nicht getan)

Schritt 2: Bereiten Sie die Dioden vor

Bereiten Sie die Dioden vor
Bereiten Sie die Dioden vor
Bereiten Sie die Dioden vor
Bereiten Sie die Dioden vor
Bereiten Sie die Dioden vor
Bereiten Sie die Dioden vor

Biegen Sie jede Diode und schieben Sie sie dann durch die Platine.

Die Beine stehen auf der Knopfseite ab, was wir nicht wollen. Nehmen Sie also die Diode wieder heraus und schneiden Sie die Beine kurz. (Sie haben vielleicht ein paar Scheren, mit denen Sie die Beine bündig mit dem Brett schneiden können, während es noch drin ist, was Ihnen das Leben erleichtert, aber ich hatte nur eine normale Schere, also musste ich sie herausziehen, um sie kurz genug zu schneiden.)

Es ist sehr wichtig, die Beine zu biegen und durch die Platine zu schieben, bevor Sie sie kurz schneiden. Wenn Sie sie zuerst kurz schneiden, können Sie sie nicht in Form biegen.

Machen Sie 16 dieser kleinen Ameisen-ähnlichen Dinger.

Schritt 3: Löten Sie die Dioden auf die Platine

Löten Sie die Dioden auf die Platine
Löten Sie die Dioden auf die Platine
Löten Sie die Dioden auf die Platine
Löten Sie die Dioden auf die Platine
Löten Sie die Dioden auf die Platine
Löten Sie die Dioden auf die Platine

Legen Sie jede der Dioden wieder in die Platine. Es ist wichtig, die Ausrichtung der Diode zu überprüfen. Es hat eine schwarze Linie auf einer Seite, die mit der Linie auf der Platine übereinstimmt. (Siehe Bild)

Das Einsetzen der Dioden ist etwas fummelig, weshalb ich sagte, wenn Sie eine Schere haben, mit der Sie die Beine bündig schneiden können, ohne sie zu entfernen, wird dies Ihr Leben einfacher machen. Ich hatte das nicht, also benutzte ich eine Pinzette, um sie wieder hineinzusetzen, was ein bisschen half.

Löten Sie jede der Dioden ein.

Schritt 4: Bereiten Sie die LEDs vor

Bereiten Sie die LEDs vor
Bereiten Sie die LEDs vor
Bereiten Sie die LEDs vor
Bereiten Sie die LEDs vor
Bereiten Sie die LEDs vor
Bereiten Sie die LEDs vor
Bereiten Sie die LEDs vor
Bereiten Sie die LEDs vor

Drücken Sie die LEDs durch die Platine und schneiden Sie dann die Beine ab. Genau wie bei den Dioden; Es ist wichtig, die Beine zuerst durch das Brett zu schieben, um sie in den richtigen Winkeln zu spreizen, bevor Sie die Beine schneiden.

Es gibt ein bisschen Versuch und Irrtum, die Beine auf die richtige Länge zu schneiden. Wenn Sie sie zu lang machen, ragen sie heraus, aber zu kurz, und es ist schwierig, die LED wieder einzustecken.

Bereiten Sie 16 dieser kleinen amputierten Kerle vor.

Schritt 5: Löten Sie die LEDs auf die Platine

Löten Sie die LEDs auf die Platine
Löten Sie die LEDs auf die Platine
Löten Sie die LEDs auf die Platine
Löten Sie die LEDs auf die Platine
Löten Sie die LEDs auf die Platine
Löten Sie die LEDs auf die Platine

Schieben Sie alle LEDs zurück in die Platine.

Auch hier ist die Orientierung wichtig. Eine Seite der LEDs hat eine flache Kante und diese sollte mit der flachen Kante des Kreises auf dem PCB-Diagramm übereinstimmen. (Siehe Bild)

Überprüfen Sie, ob die LEDs weit genug eingeschoben sind, indem Sie das Silikonpad über die Platine legen und prüfen, ob sie die gedrückten Tasten nicht stören.

Löten Sie die LEDs auf die Platine.

Hinweis: Es wurde mir inzwischen darauf hingewiesen, dass man die LEDs einfach durchschieben, hinten verlöten und dann die Beine abschneiden kann, da es nicht so wichtig ist, wenn ein bisschen von den Beinen hinten herausragt.

Schritt 6: Genügend Überbrückungskabel aussortieren

Sortieren Sie genug Überbrückungskabel aus
Sortieren Sie genug Überbrückungskabel aus

Lassen Sie uns ein wenig über die Platine sprechen. Die Platine ist in 4 Spalten und 4 Reihen von LEDs / Tasten angeordnet.

Jede der Spalten benötigt 2 Anschlüsse, einen für die LED-Masse und einen für die Taster-Masse. Jede der Reihen benötigt 4 Anschlüsse, da wir einen separaten Anschluss für den roten, grünen und blauen Kanal sowie einen Anschluss für die Tasteneingabe. Hier sind die Kabelfarben und Pin-Nummern, die ich für jede dieser Verbindungen ausgewählt habe.

Reihe Wofür es ist Kabelfarbe PIN Nummer PCB-Etikett
Reihe 1 rot rot 22 ROT1
Grün Grün 23 GRÜN1
Blau Blau 30 BLAU1
Tasteneingabe Gelb 31 SCHALTER1
Reihe 2 rot rot 24 ROT 2
Grün Grün 25 GRÜN2
Blau Blau 32 BLAU2
Tasteneingabe Gelb 33 SCHALTER2
Reihe 3 rot rot 26 ROT3
Grün Grün 27 GRÜN3
Blau Blau 34 BLAU3
Tasteneingabe Gelb 35 SCHALTER3
Reihe 4 rot rot 28 ROT4
Grün Grün 29 GRÜN4
Blau Blau 36 BLAU4
Tasteneingabe Gelb 37 SCHALTER4
Spalte Wofür es ist Kabelfarbe PIN Nummer PCB-Etikett
Spalte 1 LED-Erde Weiß 38 LED-GND-1
Knopf Masse Schwarz 39 SWT-GND-1
Spalte 2 LED-Erde Weiß 40 LED-GND-2
Knopf Masse Schwarz 41 SWT-GND2
Spalte 3 LED-Erde Weiß 42 LED-GND-3
Knopf Masse Schwarz 43 SWT-GND3
Spalte 4 LED-Erde Weiß 44 LED-GND4
Knopf Masse Schwarz 45 SWT-GND4

Schritt 7: Bereiten Sie die Überbrückungskabel vor

Bereiten Sie die Überbrückungskabel vor
Bereiten Sie die Überbrückungskabel vor
Bereiten Sie die Überbrückungskabel vor
Bereiten Sie die Überbrückungskabel vor

Jedes Überbrückungskabel benötigt ein männliches Ende und ein Ende, das von einigen mm Draht abisoliert ist. Ich verwende gerne eine Art Behälter, um abisolierte Drahtstücke aufzufangen, da sie sonst überall in meiner Wohnung landen und möglicherweise schlimmer als Glitzer sind.

Schritt 8: Löten Sie die Jumper-Kabel an die Platine und stecken Sie sie ein

Löten Sie die Überbrückungskabel an die Platine und stecken Sie sie ein
Löten Sie die Überbrückungskabel an die Platine und stecken Sie sie ein
Löten Sie die Überbrückungskabel an die Platine und stecken Sie sie ein
Löten Sie die Überbrückungskabel an die Platine und stecken Sie sie ein

Verwenden Sie das Diagramm von ein paar Schritten zurück, um die Kabel an die richtigen Stellen auf der Platine zu löten und an die richtigen Pins des Arduino anzuschließen.

Schritt 9: Fertig bauen

Fertig
Fertig

Nehmen Sie sich einen kleinen Moment Zeit, um feierlich einige (noch nicht funktionierende) Knöpfe zu drücken und dann kommen wir zu etwas Code!

Schritt 10: Schema

Schema
Schema

Dies ist ein Schaltplan der Platine und des Materials, das wir darauf gelötet haben.

Die grauen Kästchen stellen jeweils eine der Tasten / LED-Kombinationen dar. Wenn das super kompliziert aussieht (bei mir war es das erste Mal, als ich es sah), dann keine Sorge, ich werde es aufschlüsseln.

Wenn Sie den Code nur selbst durchsehen möchten, finden Sie ihn hier auf meinem Github.

Schritt 11: Nur die Tasten

Nur die Knöpfe
Nur die Knöpfe
Nur die Knöpfe
Nur die Knöpfe

Die LEDs und die Tasten sind tatsächlich voneinander getrennt (abgesehen davon, dass alle mit dem Arduino verbunden sind), also schauen wir uns zuerst die Tasten an.

Jedes graue Kästchen enthält einen Knopf und eine Diode (die, die wir angelötet haben - ich werde den Zweck davon gleich erklären).

Hinweis: Ich bin mir sicher, dass dies für einige Leute sehr offensichtlich ist, aber ich war mir nicht sicher, als ich anfing, dies herauszufinden, also werde ich es sagen! Die Zeilen (in Grün) und die Spalten (in Blau) sind nicht verbunden, sondern nur übereinander gelegt. Nur dort, wo ein kleiner schwarzer Punkt ist, ist das Zeug verbunden. Das Schließen eines der Schaltflächenschalter stellt jedoch eine Verbindung zwischen Zeile und Spalte her.

Schritt 12: Button-Pins einrichten

Button-Pins einrichten
Button-Pins einrichten
Button-Pins einrichten
Button-Pins einrichten
Button-Pins einrichten
Button-Pins einrichten

Für die Schaltflächen verwenden wir die Spalten als Ausgaben und die Zeilen als Eingaben.

Wir können überprüfen, ob eine Taste gedrückt wird, denn wenn eine Verbindung zwischen einer Zeile und einer Spalte besteht, erreicht die Spannung vom Ausgang den Eingang. Zu Beginn geben wir in setup() eine Hochspannung an alle Spalten aus. Wir haben die Zeilen als Pullup-Eingänge festgelegt, was bedeutet, dass sie standardmäßig auch hoch lesen.

Schritt 13: Scannen

Scannen
Scannen
Scannen
Scannen
Scannen
Scannen

In der Schleife durchläuft eine Funktion namens scan() jeweils eine Spalte und setzt ihre Spannung auf einen niedrigen Wert.

Dann wird jede Reihe von Schaltflächenverbindungen überprüft, um zu sehen, ob eine von ihnen niedrig ist.

Wenn eine Schaltflächenzeile niedrig angezeigt wird, bedeutet dies, dass die Schaltfläche, die diese Zeile und Spalte verbindet, gedrückt wurde.

Schritt 14: Nicht alle Tastendrücke werden gleich erstellt

Wenn der Knopf schnell und fest gedrückt wird, wird die Spannungsübertragung von der Spalte in die Reihe schön und sauber.

Wenn es jedoch etwas langsam oder wackelig gedrückt wird, kann die Spannung etwas zittern, bis eine gute Verbindung zwischen dem Tastenfeld und den Kontakten auf der Platine besteht.

Dies bedeutet, dass ein Knopfdruck, den ein Mensch für nur einen hält, vom Arduino als mehrere separate Druckvorgänge interpretiert werden kann.

Empfohlen: