Inhaltsverzeichnis:

Geek Spinner - Gunook
Geek Spinner - Gunook

Video: Geek Spinner - Gunook

Video: Geek Spinner - Gunook
Video: Geek Spinner Demonstration 2024, Juli
Anonim
Image
Image
Geek-Spinner
Geek-Spinner
Geek-Spinner
Geek-Spinner
Geek-Spinner
Geek-Spinner

Fidget Spinner machen Spaß, und Sie können heutzutage an jeder Kasse einen für nur ein paar Dollar finden, aber was wäre, wenn Sie Ihren eigenen bauen könnten? Und es hatte LEDs? Und Sie könnten es so programmieren, dass es sagt oder zeigt, was Sie wollen? Wenn das geeky cool klingt, IST DIES DAS PROJEKT FÜR SIE.

Ich war schon immer daran interessiert, blinkende LEDs zu verwenden, um Kinder für das Programmieren zu interessieren. Das einfachste Projekt mit einem Arduino-Mikrocontroller besteht darin, eine LED ein- und auszuschalten. Dann können Sie sehen, wie schnell eine LED blinken kann, bevor sie aussieht, als ob sie kontinuierlich leuchtet (ca. 12-Millisekunden-Intervalle). Dann schütteln Sie die LED hin und her und Sie können sie wieder blinken sehen! Dieses Phänomen wird "Persistenz der Vision" (POV) genannt und so funktioniert dieses Projekt. Es kann zu Diskussionen darüber führen, wie das Auge funktioniert und wie unglaublich schnell Computer sind.

Dieses Projekt verwendet einen programmierbaren 8-Bit-Mikrocontroller, acht LEDs und eine Knopfzelle. Es dreht sich mit einem Standard-Skateboard-Lager und verwendet einen Hall-Effekt-Sensor und einen Magneten, um die Drehung zu bestimmen. Es besteht aus anfängerfreundlichen Durchgangslochteilen und kann mit der Arduino-Programmierumgebung programmiert werden. Genug geredet, lasst uns loslegen…

Schritt 1: Sammeln Sie die Teile, Werkzeuge und Verbrauchsmaterialien

Image
Image
Sammeln Sie die Teile, Werkzeuge und Verbrauchsmaterialien
Sammeln Sie die Teile, Werkzeuge und Verbrauchsmaterialien

Es ist immer frustrierend, die Hälfte eines Builds zu durchlaufen und festzustellen, dass etwas fehlt. Dies sind die Teile, die ich ausprobiert und für gut befunden habe. Ersatz auf eigene Gefahr:

Stückliste=================

  • 1 Stück, Purple PCB, liebevoll hergestellt in den USA von OSH Park
  • 1 Stück, Attiny 84, Atmel ATTINY84A-PU,
  • 1 Stück, Taktiler Schalter, TE 1825910-6,
  • 1 Stück, Schiebeschalter SPDT Durchgangsloch, C&K JS202011AQN,
  • 1 Stück, Batteriehalter, Linx BAT-HLD-001-THM,
  • 8 Stück, 3 mm rote LED 160 Mcd, Würth 151031SS04000,
  • 8 Stück, 330 Ohm 1/8W, Stackpole CF18JT330R,
  • 1 Stück, 0,1 uF Kappe, KEMET C320C104M5R5TA,
  • 1 St., Magnetschalter, Melexis MLX92231LUA-AAA-020-SP,
  • 1 Stück, 608 Skateboard-Lager,
  • 1 Stück, kleiner Seltenerdmagnet 2 mm x 1 mm,
  • 2 Stück, 3D-gedruckte Kappen (STL-Datei im Anhang).
  • 1 Stück, CR2032-Batterie, Panasonic BSP oder gleichwertig,

Werkzeuge und Zubehör: Für meine Workshops verwende ich das Anfänger-ToolKit von SparkFun, das alles enthält, was Sie außer der Pinzette benötigen:

  • Lötkolben.
  • Lötdraht
  • Bündig geschnittene Plyers (ich liebe das Hakko CHP170 im Wert von 5 US-Dollar!)
  • Entlötgeflecht
  • Sekundenkleber

Programmierung der Attiny (Schritt 4, nicht erforderlich, wenn Sie diese als Bausatz kaufen):

  • Arduino (bitte vermeiden Sie die billigen chinesischen Klone und unterstützen Sie Ihre US-Open-Source-Hersteller).

    • SparkFun-Redboard
    • Adafruit Metro
    • Arduino UNO
  • AVR-Programmierschild.
  • Pogo-Adapter (bei Programmierung mit installiertem Chip).
  • Ein Standard USB A-B für Uno, USB Mini für Redboard oder USB Micro für Metro.

Ein Kit für dieses Projekt ist auf Tindie.com erhältlich (ohne Akku). Durch den Kauf des Kits sparen Sie Zeit und Kosten für die Bestellung bei mehreren verschiedenen Anbietern und vermeiden die Mindestbestellprämie für Leiterplatten. Auch die Programmierung eines Attiny ist nicht trivial, und wenn Sie das Kit kaufen, ist es bereits vorprogrammiert. Du wirst mir auch helfen, andere Projekte in meinen Workshops zu entwickeln und zu teilen!

Schritt 2: Widerstand ist wichtig

Widerstand ist wichtig
Widerstand ist wichtig
Widerstand ist wichtig
Widerstand ist wichtig
Widerstand ist wichtig
Widerstand ist wichtig

Wir gehen davon aus, dass Sie bereits Erfahrung mit dem Bau von Kits haben. Wenn Sie Hilfe beim Löten benötigen, besuchen Sie www.sparkfun.com/tutorials/213, um aufzufrischen, oder sehen Sie zu, wie das Geek Girl es unter https://www.youtube.com/embed/P5L4Gl6Q4Xo erklärt. Ich habe auch ein für Anfänger geeignetes Kit unter

Ich beginne gerne mit dem Widerstand, weil a) sie relativ hitzebeständig sind, während Sie in Ihre Lötrille gelangen und der Bügeleisen auf Temperatur kommt, b) sie keine Polarität haben, daher ist die Ausrichtung nicht kritisch und c) sie sind die unterste Komponente auf der Platine, also sitzen Sie beim Löten fest. Es gibt acht 330-Ohm-Strombegrenzungswiderstände, einen für jede der LEDs. Sie können eine nach der anderen oder alle acht gleichzeitig ausführen.

  • Biegen Sie die Leitungen auf die Breite der Pads und setzen Sie den Widerstand ein.
  • Drehen Sie die Platine um und löten Sie die Leitungen.
  • Trimmen Sie die Leitungen mit bündigen Schnitten.
  • Schlagen Sie sie erneut mit dem Eisen, wenn Sie möchten, dass sie Ihre Geek-Freunde beeindrucken.

Schritt 3: Code?

Code?
Code?
Code?
Code?
Code?
Code?
Code?
Code?

Wenn Sie mein Kit gekauft haben, ist der Chip vorprogrammiert und kann zum nächsten Schritt übergehen.

Ja, dieses Projekt benötigt etwas Code. Und wenn Sie aufgepasst haben, in Schritt 1 habe ich Ihnen gesagt, dass die Programmierung eines Attiny nicht trivial ist. Ich benutze das Arduino, seine Programmierumgebung, meinen AVR-Programmierer und eine Pogo-Pin-Vorrichtung.

Der Chip kann vor dem Einlöten (Foto 2) oder nach dem Einlöten mit dem ISP-Header auf der Unterseite der Platine (Foto 3) programmiert werden. In beiden Fällen ist die Programmierung wie folgt:

  • Laden Sie die Arduino-Programmierumgebung herunter.
  • Installieren Sie die Unterstützung für den Attiny 85 entweder von:

    • https://highlowtech.org/?p=1695 (Arduino Tiny)
    • https://github.com/SpenceKonde/ATTinyCore (Attiny Core)
  • Laden Sie die "Arduino als ISP-Skizze" hoch: [Datei] -> [Beispiele] -> [Arduino als ISP].
  • Bringen Sie das AVR-Programmierschild an und stecken Sie das Flachbandkabel in die Attiny84-Position
  • Wenn Sie den Pogo-Adapter verwenden, positionieren Sie ihn auf dem ISP-Header auf der Platine. Die positiven und negativen Pads sind markiert, damit Sie den Header richtig ausrichten können.
  • Wenn Sie den Chip verwenden, stecken Sie ihn mit Pin eins in Richtung des USB-Anschlusses.
  • Wählen Sie den richtigen Chip aus:

    • Arduino Tiny: "Attiny 84 @ 8 MHz"
    • Attiny-Kern: "Attiny 24/44/84"

      • Chip "Attiny 84"
      • 8 MHz (intern)
      • Pin-Mapping "Gegen den Uhrzeigersinn"
  • Wählen Sie den Programmierer, [Tools] -> [Programmer] -> [Arduino als ISP]
  • Programmiersicherungen setzen, [Tools] -> [Burn Bootloader]
  • Laden Sie die angehängte Skizze hoch, [Datei] -> [Mit Programmierer hochladen]

Die größte Fehlerquelle, die ich bekomme, besteht darin, dass die Pins nicht richtig ausgerichtet sind.

Schritt 4: Chip it

Chip it
Chip it
Chip it
Chip it
Chip it
Chip it
Chip it
Chip it

Nachdem Ihr Chip Code enthält, können Sie ihn installieren. Die Ausrichtung eines DIP-Chips ("dual inline package") wird normalerweise entweder durch ein Loch neben Pin eins oder eine Vertiefung am Ende des Chips mit Pin eins angezeigt, wie es hier der Fall ist.

  • Biegen Sie die Kabel um 90 Grad, indem Sie sie gegen eine ebene Fläche drücken (Fotos 1 & 2).
  • Richten Sie den Chip mit dem Symbol auf der Platine aus und setzen Sie den Chip ein (Foto 3).
  • Löten Sie einen Pin auf gegenüberliegenden Seiten und überprüfen Sie, ob der Chip flach auf der Platine liegt und die Ausrichtung richtig ist. Danach wird es wirklich schwer zu reparieren. Vertrauen Sie mir diesbezüglich.
  • Sobald Sie sicher sind, dass es richtig ist, löten Sie die verbleibenden Stifte und schneiden Sie sie dann bündig ab.

Schritt 5: Schalter und Kondensator

Schalter und Kondensator
Schalter und Kondensator
Schalter und Kondensator
Schalter und Kondensator

Der Druckknopf geht neben dem IC und der Kondensator auf der anderen Seite.

  • Drücken Sie den Druckknopf ein (achten Sie auf die richtige Ausrichtung).
  • Löten Sie es an Ort und Stelle.
  • Klemmen Sie die Leitungen von der Rückseite ab.

Der Kondensator hat keine Orientierung, aber wenn Sie die Schriftseite nach außen legen, wissen Ihre Geek-Freunde, welchen Wert Sie verwendet haben.

Schritt 6: Schalter und Batteriehalter

Schalter und Batteriehalter
Schalter und Batteriehalter
Schalter und Batteriehalter
Schalter und Batteriehalter
Schalter und Batteriehalter
Schalter und Batteriehalter
Schalter und Batteriehalter
Schalter und Batteriehalter

Der Schalter geht mit der Wasserwaage nach außen. Löten Sie wie bei den anderen Gegenständen zwei Stifte ein, überprüfen Sie, ob sie flach sitzen, und löten Sie dann den Rest.

Der Batteriehalter hat eine Markierung, um die Ausrichtung anzuzeigen, aber das spielt keine Rolle. Es wird jedoch etwas mehr Wärme benötigen als normale Kabel, und Sie sollten sicherstellen, dass es flach sitzt, um die Batterie in Position zu halten (Abbildung 4).

Schritt 7: LEDs

LEDs
LEDs
LEDs
LEDs
LEDs
LEDs
LEDs
LEDs

Es gibt kein anständiges Projekt, das nicht mindestens eine LED enthält. Das hat ACHT!

Die lange Leitung ist positiv (Anode). Auf dem Siebdruck befindet sich ein "+" und das Pad ist quadratisch. Wenn Sie alle acht gleichzeitig ausführen, halten Sie sie hoch, um sicherzustellen, dass alle Ausrichtungen richtig sind.

  • Löten Sie eine Leitung auf jede LED.
  • Überprüfen Sie die Ausrichtung und den flachen Sitz (Abbildung 3).

    Wenn dies nicht der Fall ist, drücken Sie mit dem Daumen auf das Gehäuse und erhitzen Sie das Kabel erneut, bis es einrastet (Bild 4)

  • Löten Sie den Rest.
  • Klemmen Sie die Leitungen ab.

Schritt 8: Überprüfen Sie es aus

Image
Image
Schleuderzeit
Schleuderzeit

An dieser Stelle können wir noch die LEDs überprüfen und ausschalten:

  • Legen Sie eine Batterie mit der positiven Seite nach außen ein.
  • Schalten Sie den Spinner ein und drücken Sie dann die Taste, bis alle (hoffentlich) LEDs leuchten (siehe Video).
  • Drehen Sie den Spinner und sehen Sie das Muster. Wenn eine LED nicht aufleuchtet, ist sie möglicherweise verkehrt herum installiert oder wurde durch Hitze beschädigt. Entlöten Sie es und setzen Sie ein neues ein.

Fehlerbehebung:

  • Wenn keine LEDs leuchten:

    • Stellen Sie sicher, dass Ihr Akku in Ordnung ist und sich in der richtigen Ausrichtung befindet.
    • Hast du deinen Chip programmiert? Ist es in der richtigen Ausrichtung? Wird es heiß?
    • Sind die LEDs richtig ausgerichtet? Verwenden Sie die Knopfzelle über die LED-Lötstellen, um sie zu testen?
  • Wenn der Schalter die LEDs nicht blinken lässt:

    • Überprüfen Sie die Lötstellen an der LED.
    • Überprüfen Sie die Lötstellen am Attiny.
  • Wenn alles andere fehlschlägt, machen und posten Sie hochauflösende Fotos der Vorder- und Rückseite und bitten Sie in den Kommentaren um Hilfe.

Schritt 9: Schleuderzeit

Schleuderzeit
Schleuderzeit
Schleuderzeit
Schleuderzeit
Schleuderzeit
Schleuderzeit

Das Lager wird durch Verlöten des Gehäuses mit dem großen Pad in Position gehalten. Das braucht Geduld und viel Hitze:

  • Verwenden Sie etwas wie Münzen auf einer harten Oberfläche, um das Lager zu positionieren.
  • Erhitzen Sie sowohl das Pad als auch die Lagerschale, bis Sie das Lot auf das Gehäuse fließen sehen (es dauert ein bisschen).
  • Auf der anderen Seite wiederholen.
  • Stellen Sie sicher, dass das Lager richtig ausgerichtet ist, indem Sie den Spinner drehen.
  • Drehen Sie die Platine um und löten Sie zwei Punkte auf der anderen Seite.

Schritt 10: Ist dies eine Revolution?

Image
Image
Ist das eine Revolution?
Ist das eine Revolution?
Ist das eine Revolution?
Ist das eine Revolution?

Um Nachrichten statt nur Muster anzuzeigen, müssen wir die Position des Spinners im Verhältnis zum Kreis kennen. Wir verwenden einen Hall-Effekt-Sensor und einen Magneten. Dies ist vergleichbar damit, wie Verbrennungsmotoren wissen, wann der Funke gezündet werden muss, um die meiste Leistung zu erzielen. Die Ausrichtung und Ausrichtung sowohl des Sensors als auch des Magneten sind dafür entscheidend.

  • Die Schrift auf der Vorderseite des Geräts zeigt auf die zum Siebdruck passende Peilung (Foto 1).
  • Richten Sie die Höhe knapp über dem Lager aus (wo sich der Magnet in der Kappe befindet).
  • Löten Sie eine Leitung.
  • Überprüfen Sie die Höhe und die Nahrung.
  • Löten Sie die restlichen Leitungen.
  • Klemmen Sie die Leitungen ab.

Wenn Sie einen Omni-Pole-Sensor verwenden, müssen Sie die Ausrichtung des Magneten herausfinden. Der beste Weg, dies zu tun, besteht darin, einen anderen Modus als das Muster aus dem vorherigen Schritt einzustellen und dann die Seite des Magneten zu finden, die das Blinken der LEDs beginnt (siehe Video). Kleben Sie den Magneten mit der bearbeiteten Seite nach außen. Überprüfen Sie Ihre Arbeit.

Schritt 11: Balanceakt

Balanceakt
Balanceakt
Balanceakt
Balanceakt

Wenn Sie den Spinner mit eingelegtem Akku horizontal nach oben halten, schwenken Sie ihn mit der Akkuseite nach unten. Trotz meiner Bemühungen, Komponenten auszubalancieren, ist es immer noch aus dem Gleichgewicht geraten. Sie können der Nichtbatterieseite mit einer Mutter und Schraube etwas Gewicht hinzufügen oder dem Pad etwas Lötmittel hinzufügen.

Schritt 12: Sie sind betriebsbereit

Image
Image
Aber warten Sie, es gibt noch mehr.
Aber warten Sie, es gibt noch mehr.

Mit Magnet und Sensor sind Sie bereit, die ganze Leistung Ihres Geek-Spinners zu testen. Der Modus des Spinners wird durch die LED angezeigt, die beim Einschalten oder nach einem Tastendruck (D0 - D7) aufleuchtet. Der Modus wird durch Drücken der Taste geändert (siehe Video).

int-Modi = 8; // Anzahl der verfügbaren Modi

// 0 -> Text "Hallo Welt!" // 1 -> RPM // 2 -> Zeit in Sekunden // 3 -> Spin count // 4 -> Spin count (gesamt) // 5 -> "Lilly Pad" Muster // 6 -> Form 1 (Herz) // 7 -> Form 2 (Lächeln)

Schritt 13: Aber warten Sie, es gibt mehr.

Aber warten Sie, es gibt noch mehr.
Aber warten Sie, es gibt noch mehr.
Aber warten Sie, es gibt noch mehr.
Aber warten Sie, es gibt noch mehr.
Aber warten Sie, es gibt noch mehr.
Aber warten Sie, es gibt noch mehr.

Die Muster "Herz" und "Smiley" wurden unter Verwendung eines Polardiagramms erstellt, um zu zeigen, wie die acht Segmente alle 5 Grad Drehung aussehen würden.

Von Hand:

  • Laden Sie das Bild in voller Auflösung herunter und drucken Sie es aus (Bild 1).
  • Füllen Sie die Blöcke aus, um Ihr Bild zu erstellen (Bild 2).
  • Berechnen Sie entlang des Radials, beginnend mit 0, das Byte mit Schwarz = 1, Weiß = 0;

    Das erste Radial des Herzens ist 1, 0, 0, 0, 0, 0, 0, 0, also das Byte = 0b100000000;

  • Fahren Sie fort, bis Sie fertig sind (Hinweis, wenn Ihr Bild symmetrisch ist, müssen Sie nur die Hälfte machen).
  • Fügen Sie Ihre Bytes in den Abschnitt "textAndShapes.h" der Skizze unter "shape_1" oder "shape_2" ein.

Python verwenden:

  • Python installieren.
  • Installieren Sie die Image-Bibliothek von Python.
  • Laden Sie das angehängte Skript "readGraph.py" herunter.
  • Laden Sie das Bild in voller Auflösung herunter (Bild 1).
  • Öffnen Sie das Bild in Ihrem bevorzugten Editor (GIMP oder MS Paint).
  • Verwenden Sie den Befehl "Füllen" mit ausgewählter schwarzer Farbe, um die Segmente zu füllen, die beleuchtet werden sollen (Bild 2).
  • Speichern Sie das Bild im selben Verzeichnis wie das Skript "readGraph.py" und ändern Sie den Dateinamen im Skript entsprechend:

im = Image.open('herz.png')

Führen Sie das Skript aus und fügen Sie die Ausgabe in den Abschnitt "textAndShapes.h" der Skizze unter "shape_1" oder "shape_2" ein

So oder so, teile deine Kreation (Bild und Code) gerne in den Kommentaren!

Schritt 14: Credits und letzte Gedanken

Credits und letzte Gedanken
Credits und letzte Gedanken

Alleine habe ich mir das bestimmt nicht ausgedacht. Bei weitem nicht.

  • Meine erste praktische Erfahrung mit POV war mit einem Projekt von Nick Sayer namens POV Twirlie: https://www.tindie.com/products/nsayer/pov-twirlie/. (Ich benutze auch ist Pogo-Adapter).
  • Der Gedanke "LED + Fidget Spinner = POV" tauchte in meinem Gehirn auf, nachdem ich Techydiys Instructable https://www.instructables.com/id/LED-FIDGET-SPINNER/ gesehen hatte
  • Jedes Mal, wenn Sie eine großartige Idee haben, hat es jemand bereits getan: https://www.instructables.com/id/POV-Arduino-Fidget-Spinner/. Oberflächenmontagelöten ist etwas, was ich tun kann, aber nicht wirklich anfängerfreundlich. Sein Code war auch ein wenig überfordert, aber ich habe seine Ideen zur Anzeige von RPM und Zählern verwendet.
  • Ich konnte Ausschnitte des POV-Clock-Codes von Reger-men verstehen und verwenden, um Text anzuzeigen:

Kein Projekt ist jemals vollständig oder perfekt. Hier sind einige Gedanken, die ich für die Zukunft habe:

  • Waage: Datenblätter enthalten selten Informationen über das Gewicht der Komponenten, daher ist es schwierig, auch nur eine fundierte Vermutung über die Waage anzustellen, ohne sie nur zu bauen. Der Akku ist offensichtlich das schwerste Bauteil. Ich fügte Löcher an jedem Ende hinzu, damit ich nach Bedarf Gewicht hinzufügen konnte, um es auszugleichen.
  • Im Uhrzeigersinn? Wenn Sie es bemerkt haben, wird der Text nur richtig angezeigt, wenn Sie im Uhrzeigersinn drehen. Das Drehen in die andere Richtung erzeugt ein Spiegelbild. Das Hinzufügen eines zweiten Hall-Sensors oder Magneten würde es Ihnen ermöglichen, die Drehrichtung abzuleiten (Seans Projekt hat dies getan).
  • Farbe? Mit programmierbaren RGB-LEDs können Sie Farben machen. Sie sind jedoch in der Regel oberflächenmontiert.

Empfohlen: