Inhaltsverzeichnis:

Visitenkarte/Spielekonsole: ATtiny85 und OLED-Bildschirm - Gunook
Visitenkarte/Spielekonsole: ATtiny85 und OLED-Bildschirm - Gunook

Video: Visitenkarte/Spielekonsole: ATtiny85 und OLED-Bildschirm - Gunook

Video: Visitenkarte/Spielekonsole: ATtiny85 und OLED-Bildschirm - Gunook
Video: DESIGNER gesucht? ICH designe für Sie!🔥Visitenkarten,Flyer usw. 2024, November
Anonim
Image
Image
Die Guts
Die Guts

Hallo allerseits

Heute zeige ich Ihnen, wie Sie Ihre eigene Visitenkarte / Spielekonsole / alles, was Sie sich vorstellen können, mit einem hintergrundbeleuchteten I2C-OLED-Display und einem ATtiny85-Mikroprozessor bauen können. In diesem Instructable erkläre ich Ihnen, wie eine Leiterplatte, die ich entworfen habe, tatsächlich funktioniert, wie Sie sie bauen können und was Sie mit dieser Funktionalität tun können. Wenn Sie bereits einen I2C-Bildschirm an einen ATtiny85 angeschlossen haben, kann dieses Instructable immer noch hilfreich sein, wenn Sie versuchen, Bilder anzuzeigen oder Menüs, ein Spiel und mehr zu erstellen.

Sie fragen sich wahrscheinlich, was dieses Ding eigentlich ist. Es ist nur eine einfache Leiterplatte mit integriertem Akku, Bildschirm, Tasten, Ein-/Aus-Schalter und Prozessoreinheit. Betrachten Sie es als einen kleinen Gameboy, den Sie leicht programmieren können, um eine Vielzahl von Dingen zu tun. Weiter!

Schritt 1: Die Eingeweide

Die Guts
Die Guts
Die Guts
Die Guts

Wenn Sie es noch nicht getan haben, empfehle ich Ihnen dringend, ein Konto bei Circuits.io zu erstellen. Dadurch können Sie mein Design an Ihre Bedürfnisse anpassen.

In diesem Schritt werde ich erklären, wie Sie tatsächlich eine dieser Leiterplatten (PCBs) in die Hände bekommen können. Ich habe meine Leiterplatte in Circuits.io erstellt, einem großartigen Online-Tool, mit dem Sie Schaltpläne und Leiterplatten erstellen können. Sie können das Design hier ansehen:

Wenn Sie an der Platine interessiert sind, können Sie über diesen Link so viele wie Sie möchten bei OSH Park bestellen:

Es dauert eine Weile, bis ich die Boards bekomme (1-3 Wochen), aber vertrau mir. Das ist es wert! Sie benötigen die folgenden Teile, um Ihre eigene Multifunktionskarte zu bauen:

  • ATtiny85 im SOIC-8-Paket. Dies ist das Gehirn unseres Projekts, das ALLES steuert.
  • I2C 128x64 Pixel OLED-Bildschirm:
  • 2 22k Ohm Widerstände. Dies sind Pullup-Widerstände für die Tasten.
  • Aufputz-CR2032-Halter:
  • CR2032 Knopfzellenbatterie. Diese kleine Batterie kann die Schaltung für einige Zeit mit Strom versorgen.
  • 3-poliger Schiebeschalter. Das ist der Netzschalter!
  • Weibliche Überschriften. Sie können diese verwenden, um den ATtiny85 zu programmieren, während er in der Schaltung ist!
  • 6mm Knöpfe:
  • Eine Leiterplatte (Sie können sie über den obigen Link bestellen

Werkzeuge:

  • Lötkolben (mit feiner Spitze)
  • Lot
  • Bleischneider

Zur Programmierung des ATtiny85:

  • 6 Stecker-zu-Stecker-Überbrückungsdrähte
  • Ein 10 Mikrofarad Kondensator
  • Arduino Uno oder ein anderer ATmega-basierter Mikrocontroller

Schritt 2: Zusammenbau der Platine

Montage der Platine
Montage der Platine
Montage der Platine
Montage der Platine

Das ist wirklich ziemlich einfach. Alles, was Sie tun müssen, ist, alle Komponenten an die entsprechenden Stellen zu löten, wie auf der Platine angegeben. Einige dieser OLED-Bildschirme sind in verschiedenen Größen erhältlich. Wenn Ihr Bildschirm also zu groß für die Platine ist, können Sie ihn wie im Bild oben oben hängen lassen und die Header auf der anderen Seite umbiegen und an die Löcher löten, an denen sie sollten gehen. Sehen Sie sich das zweite Bild an, wenn Sie verwirrt sind.

Ein paar hilfreiche Tipps:

  • Der kleine Punkt auf dem ATtiny muss so ausgerichtet werden, dass er sich in der Nähe des Schiebeschalters befindet, sonst haben Sie die Pins in der falschen Reihenfolge.
  • Die Ausrichtung des Batteriehalters ist wichtig. Das Ende des Halters mit dem eingeätzten Plus muss auf dem unteren Pad liegen (auf einen Widerstand zeigend).
  • Die Ausrichtung von Schaltern, Knöpfen, Headern und Widerständen spielt keine Rolle

Bei Fragen senden Sie mir bitte eine E-Mail an info[at]coniferapps.com

Schritt 3: Zeit zum Programmieren

Ich habe meine ATtiny / Bildschirm-Kombination mit dem folgenden Instructable zum Laufen gebracht: https://www.instructables.com/id/ATTiny85-connects-to-I2C-OLED-display-Great-Things/. Tatsächlich verwende ich sogar die Bibliothek, die AndyB2 in meinen eigenen Skizzen modifiziert hat.

Die Programmierung des ATtiny erfolgt über ein Arduino Uno. Das folgende Instructable zeigt Ihnen, wie das geht: https://www.instructables.com/id/Program-an-ATtiny-with-Arduino/. Wenn Sie es noch nicht bemerkt haben, sind alle benötigten Pins auf der Platine mit den auf der Rückseite beschrifteten Pinnummern hilfreich herausgebrochen.

Wenn Sie mit einem einfachen Beispiel beginnen möchten, laden Sie die oben verlinkte Skizze auf Ihre Karte hoch. Stellen Sie sicher, dass der Netzschalter nach rechts bewegt wird, bevor Sie dies tun. Sie möchten nicht, dass die Batterie und das Uno gleichzeitig Spannung liefern! In diesem Ordner befindet sich eine Reihe von Dateien. Ich werde im nächsten Schritt mehr darüber sprechen, aber die meisten Header-Dateien darin sind hexadezimale Darstellungen von monochromatischen Bitmap-Bildern. Die.bmp-Dateien sind diese Bilder, die ich gerade erwähnt habe - wie Sie sehen können, sind sie schwarzweiß und haben genau 128x64 Pixel. Diese werden nicht auf den Mikrocontroller hochgeladen, aber ich dachte, ich würde sie als Referenz hinzufügen.

Schritt 4: Über das Programm selbst

Die Skizze, die ich im vorherigen Schritt hochladen ließ, ist ein sehr einfaches Beispiel dafür, wie Sie ein Menü implementieren können. Wenn Sie auf die linke und rechte Schaltfläche klicken, wird ein Zähler im Programm umgeschaltet. Dann wird eine Funktion aufgerufen, die den ATtiny veranlasst, den Zustand dieses Zählers zu überprüfen, und basierend auf der Nummer des Zählers zeichnet der ATtiny ein Bild der aktuell ausgewählten Menüoption auf dem Bildschirm. Jede der verschiedenen ausgewählten Menüzellen ist ein eigenes Bild. Wenn die obere Taste gedrückt wird, überprüft der ATtiny erneut den Status des Zählers, um zu bestimmen, welcher Detailbildschirm angezeigt werden soll. Während diese Detailbildschirme angezeigt werden, überprüft der ATtiny ständig, ob eine Taste gedrückt wird. Sobald es einen Tastendruck erkennt, wird die Funktion zum Zeichnen der Menüs erneut aufgerufen und der aktuelle Status des Menüs wird auf dem Bildschirm gezeichnet, wodurch wir zurück in das Menü gelangen. Es klingt etwas entmutigend, wenn Sie neu in der Programmierung sind, aber ich verspreche Ihnen, wenn Sie sich den Code ansehen, wird es mehr Sinn ergeben.

Jeder der Detailbildschirme ist auch ein eigenes Bild.

Wenn Sie es nicht bemerkt haben, tut die Überraschungsoption nichts. Dazu kommen wir im nächsten Schritt:).

Schritt 5: Anpassen Ihrer Kreation

Nachdem Sie nun gesehen haben, was ich getan habe, ist es an der Zeit, die Karte mit Ihren eigenen Informationen anzupassen. Diese Bibliothek, die ich eingeschlossen habe, hat eine Funktion zum Zeichnen von Text auf dem Bildschirm, aber ich empfehle Ihnen dringend, sich für eine ausschließlich bildbasierte Lösung zu entscheiden, da sie in der Regel VIEL besser aussieht. Ich wollte ursprünglich Fotos zum Programmteil dieser Anleitung hinzufügen, aber es ist lang genug, um ihre eigene Anleitung zu rechtfertigen. Sie können es hier anzeigen:

Nachdem Sie nun wissen, wie Sie Fotos hinzufügen, gibt es eine Reihe von Dingen, die Sie mit der Karte tun können. Sie können meine Menüs und den Hilfebildschirm verwenden und einfach Ihre eigenen Kontaktinformationen hinzufügen. Sie könnten sogar ein kleines Spiel für die Option "Überraschung" machen. Es wäre ziemlich einfach, ein sehr kleines 10x10-Sprite mit den Schaltflächen über den Bildschirm zu bewegen und zu prüfen, ob es mit einem anderen Sprite kollidiert. Sie könnten mit demselben Konzept einen Flappy-Vogel-Klon erstellen! Wenn du etwas machst, poste bitte ein Foto/Video/eine Datei davon in den Kommentaren!

Nur noch ein kleiner Punkt, den ich vergessen habe zu erwähnen. Was den Speicher angeht, hat der ATtiny85 nicht viel davon. Für Programme sind es ungefähr 8kb. Meine aktuelle Skizze mit 5 Bildern und OLED-Display-Bibliothek belegt etwa 7 dieser 8kb. Jedes Spiel, das Sie erstellen, muss in diesen relativ kleinen Spielraum passen, also wird es eine lustige Herausforderung sein:).

Vielen Dank, dass Sie mir zugehört haben, und wenn Sie Fragen haben, zögern Sie nicht, mir eine E-Mail an info[at]coniferapps.com zu senden (ersetzen Sie [at] durch @). Bitte stimmen Sie für mich im Autodesk Circuits-Wettbewerb! Hoffentlich haben Sie bald Ihre eigene Visitenkarte/Ihr eigenes Spiel zum Vorzeigen!

Empfohlen: