Inhaltsverzeichnis:
- Schritt 1: Holen Sie sich alle Teile
- Schritt 2: Nokia 5110 LCD-Display
- Schritt 3: Drehgeber
- Schritt 4: Erstellen des Projekts
- Schritt 5: Der Code des Projekts
- Schritt 6: Testen des Projekts
Video: Arduino-Menü auf einem Nokia 5110 Lcd mit einem Drehgeber - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:21
Liebe Freunde, willkommen zu einem weiteren Tutorial! In diesem Video lernen wir, wie wir unser eigenes Menü für das beliebte Nokia 5110 LCD-Display erstellen, um unsere Projekte benutzerfreundlicher und leistungsfähiger zu machen. Lass uns anfangen!
Dies ist das Projekt, das wir bauen werden. Im Display erscheint ein einfaches Menü, und mit Hilfe des Drehgebers kann ich nach oben oder unten navigieren und durch Drücken der Drehgebertaste einen Menüpunkt auswählen. Wenn die mittlere Taste des Drehgebers gedrückt wird, erscheint ein weiterer Bildschirm und wir können den Wert einer Variablen ändern. Wenn wir den Drehgeber-Knopf erneut drücken, kehren wir zum Hauptmenü-Bildschirm zurück. Das Menü hat 6 Elemente, und wir können im Menü nach unten oder oben scrollen und die Elemente auf dem Display ändern sich entsprechend. Sehen Sie sich das angehängte Video an, um genau zu sehen, wie dieses Menü funktioniert. Natürlich können Sie es ändern, um Ihre eigenen komplexeren Menüs zu erstellen, wenn Sie möchten.
Sehen wir uns nun an, wie dieses Projekt erstellt wird.
Schritt 1: Holen Sie sich alle Teile
Die Teile, die benötigt werden, um dieses Projekt zu bauen, sind die folgenden:
- Ein Arduino Uno ▶
- Ein Nokia 5110 LCD-Display ▶
- Ein Drehgeber ▶
- Ein kleines Steckbrett ▶
- Einige Drähte ▶
- Powerbank ▶
Die Kosten des Projekts sind sehr gering, es sind weniger als 10 US-Dollar. Links zu allen von mir verwendeten Teilen finden Sie in der Beschreibung des Videos unten.
Schritt 2: Nokia 5110 LCD-Display
Das Nokia 5110 ist mein Lieblingsdisplay für meine Arduino-Projekte.
Das Nokia 5110 ist ein einfacher grafischer LCD-Bildschirm, der ursprünglich als Handy-Bildschirm gedacht war. Es verwendet den PCD8544-Controller, einen CMOS-LCD-Controller/-Treiber mit geringem Stromverbrauch. Aus diesem Grund hat dieses Display einen beeindruckenden Stromverbrauch. Es verbraucht nur 0,4 mA, wenn es eingeschaltet ist, aber die Hintergrundbeleuchtung ist deaktiviert. Es verbraucht weniger als 0,06 mA im Schlafmodus! Das ist einer der Gründe, die dieses Display zu meinem Favoriten machen. Die PCD8544 ist über eine serielle Busschnittstelle mit Mikrocontrollern verbunden. Das macht das Display sehr einfach mit Arduino zu verwenden. Sie müssen nur 8 Drähte anschließen.
Ich habe ein ausführliches Tutorial zur Verwendung des Nokia 5110 LCD-Displays mit Arduino vorbereitet. Ich habe dieses Video in diesem Instructable angehängt, es wird möglicherweise nützliche Informationen über die Anzeige liefern, daher ermutige ich Sie, es sorgfältig zu beobachten. Die Kosten für das Display betragen etwa 4 US-Dollar.
Du bekommst es hier: ▶
Schritt 3: Drehgeber
Ein Drehgeber, auch Drehgeber genannt, ist ein elektromechanisches Gerät, das die Winkelposition oder Bewegung einer Welle oder Achse in einen analogen oder digitalen Code umwandelt. Drehgeber werden in vielen Anwendungen verwendet, die eine präzise unbegrenzte Drehung der Welle erfordern, einschließlich industrieller Steuerungen, Robotik, fotografischer Spezialobjektive, Computereingabegeräte (wie optomechanische Mäuse und Trackballs), kontrollierte Spannungsrheometer und rotierende Radarplattformen.
Der Drehgeber, den wir in diesem Projekt verwenden werden, ist ein sehr kostengünstiger Encoder. Es hat auch einen eingebetteten Knopf und damit es funktioniert, müssen wir nur 5 Drähte anschließen. Ich habe ein ausführliches Tutorial zur Verwendung eines Drehgebers vorbereitet. Dieses Video finden Sie hier im Anhang.
Die Kosten für diesen Drehgeber sind sehr gering. Es kostet etwa 1,5 US-Dollar.
Du bekommst es hier ▶
Schritt 4: Erstellen des Projekts
Verbinden wir nun alle Teile miteinander. Wenn Sie in der Vergangenheit keinen Drehgeber verwendet haben, empfehle ich Ihnen, sich vor dem Erstellen dieses Projekts das von mir vorbereitete Tutorial zu Drehgebern anzusehen. Es wird Ihnen helfen, die Funktionsweise von Drehgebern zu verstehen und einige Erfahrungen mit ihnen zu sammeln. Dieses Video ist hier angehängt.
Ich habe das Display auf ein kleines Steckbrett wie dieses gelegt. Schließen wir zuerst das Display an. Der erste Pin des Displays, der zurückgesetzt wird, geht an Digital-Pin 3 des Arduino Uno, der zweite Pin geht an Digital-Pin 4, der dritte Pin geht an Digital-Pin 5, der vierte Pin an Digital-Pin 11 und der fünfte Pin an Digital Pin 13. Der nächste Pin ist Vcc. Wir verbinden Vcc mit der positiven Schiene des Steckbretts und die positive Schiene des Steckbretts mit dem 3,3-V-Ausgang des Arduino. Der nächste Pin ist die Hintergrundbeleuchtung für das Display. Da wir es über die Software steuern wollen, verbinden wir es mit dem digitalen Pin 7. Der letzte Pin ist GND. Wir verbinden GND mit der negativen Schiene des Steckbretts und die negative Schiene des Steckbretts mit Arduino GND.
Jetzt müssen wir nur noch den Drehgeber anschließen. Der erste Pin ist GND und wir verbinden ihn mit der negativen Schiene des Steckbretts. Der nächste Pin ist Vcc und wir verbinden ihn mit der positiven Schiene des Steckbretts. Der nächste Pin ist SW und wir verbinden ihn mit Analog Pin 2. Der nächste Pin heißt DT und wir verbinden ihn mit Analog Pin 1. Zuletzt wird der Pin CLK mit Analog Pin 0 verbunden. Den Schaltplan dieses Projekts finden Sie in die Beschreibung des Videos unten.
Jetzt sind wir bereit, das Projekt zu starten. Wie Sie sehen können, funktioniert das Projekt gut und das Menü funktioniert wie erwartet! Großartig, sehen wir uns nun die Software des Projekts an.
Schritt 5: Der Code des Projekts
In diesem Projekt verwenden wir 4 Bibliotheken. Wir verwenden zwei Bibliotheken für die Anzeige und zwei für den Drehgeber.
- Adafruit GFX:
- Nokia 5110:
- Encoder-Bibliothek:
- TimerOne-Bibliothek:
Zuerst schauen wir uns die drawMenu-Funktion an. Diese Funktion ist für das Zeichnen des Menüs auf dem Display verantwortlich. Diese Funktion wird alle paar Millisekunden aufgerufen, so dass bei einer Änderung des Menüs diese Funktion für die Aktualisierung des Menüs auf dem Bildschirm verantwortlich ist.
int menuitem = 1;int frame = 1; int-Seite = 1; int lastMenuItem = 1;
Es gibt auch 3 sehr wichtige globale Variablen, die variable Seite, den variablen Menüpunkt und den variablen Rahmen. Die Variablenseite merkt sich, welcher UI-Bildschirm auf dem Bildschirm angezeigt wird. Wenn also die Seitenvariable 1 ist, befinden wir uns im Haupt-UI-Bildschirm, und wenn die Variable 2 ist, befinden wir uns im sekundären UI-Bildschirm, in dem wir den Wert für eine Variable festlegen. Der Menüpunkt merkt sich den ausgewählten Menüpunkt. Wenn also der Wert 1 ist, wird das erste Menüelement ausgewählt, daher muss die drawMenu-Funktion dieses Menüelement schwarz mit weißen Buchstaben zeichnen. Wenn der Menüpunkt 2 ist, wird der zweite Menüpunkt ausgewählt und so weiter. Die Rahmenvariable merkt sich, welcher Teil des Menüs auf dem Bildschirm angezeigt wird. Da das von uns erstellte Menü 6 Elemente enthält und wir nur 3 davon gleichzeitig anzeigen können, müssen wir wissen, welche Elemente auf dem Bildschirm angezeigt werden. Genau das sagt uns die Frame-Variable. Wenn die Rahmenvariable den Wert 1 hat, zeigen wir die ersten drei Menüpunkte an, ist sie 2, zeigen wir die Punkte 2, 3, 4 usw. an.
Ich habe versucht, den Code so einfach wie möglich zu ändern, also habe ich einige globale Variablen erstellt, die die Namen für die Menüelemente enthalten. Auf diese Weise können Sie ganz einfach Ihre eigenen Menüs erstellen, ohne im Code suchen zu müssen.
String menuItem1 = "Kontrast";String menuItem2 = "Lautstärke"; String menuItem3 = "Sprache"; String menuItem4 = "Schwierigkeit"; String menuItem5 = "Licht: EIN"; String menuItem6 = "Zurücksetzen";
boolesche Hintergrundbeleuchtung = wahr;
int-Kontrast = 60; int-Volumen = 50;
String-Sprache[3] = { "EN", "ES", "EL" };
int selectedLanguage = 0;
String-Schwierigkeit[2] = { "EINFACH", "SCHWER" };
int selectedSchwierigkeit = 0;
Zuerst initialisieren wir alle globalen Variablen, die im Code benötigt werden. Als nächstes initialisieren wir die Anzeige. In der Schleifenfunktion rufen wir zuerst die drawMenu-Funktion auf, um das Menü auf dem Bildschirm zu zeichnen. Dann lesen wir den Wert vom Rotary Encoder ab und prüfen, ob die Taste gedrückt ist. Wenn wir uns beispielsweise auf dem Hauptbildschirm der Benutzeroberfläche befinden und der erste Menüpunkt ausgewählt ist, wenn der Wert des Drehgebers erhöht wurde, erhöht sich die Variable menuitem und in der nächsten Schleife zeichnet die Funktion drawMenu den zweiten Menüpunkt wie ausgewählt. Wenn wir nun die Taste des Drehgebers drücken, navigieren wir zur zweiten Seite, wo wir den Wert der Variablen einstellen. Auch hier können wir mit dem Drehgeber den Wert der Variablen erhöhen oder verringern. Wenn wir die Taste drücken, navigieren wir zurück zur Hauptmenüseite und die Seitenvariable verringert sich.
Das ist die Grundidee hinter diesem Menü. Wir gehen für alle Menüpunkte und Seiten gleich vor. Der Code ist komplex, er ist über 400 Zeilen lang. Es scheint kompliziert, aber wenn Sie es selbst ausprobieren, werden Sie es leichter verstehen und Sie können es ändern, erweitern und in Ihren eigenen Projekten verwenden. Den angehängten Code findet ihr wie immer hier.
Schritt 6: Testen des Projekts
Wenn wir den Code laden, können wir sehen, dass das Projekt wie erwartet funktioniert. Mit der Welle können wir im Menü nach oben und unten navigieren und durch Drücken des Drehgeberknopfes können wir jeden Menüpunkt auswählen. Wie cool ist das!
Da wir nun wissen, wie man Menüs für die LCD-Displays des Nokia 5110 erstellt, können wir unseren Projekten weitere Funktionen hinzufügen und sie benutzerfreundlicher gestalten. Dieses einfache Menü, das wir heute erstellt haben, kann jedoch verbessert werden. Wir könnten Interrupts verwenden, anstatt die Zustände der Schaltflächen ständig zu überprüfen. Auf diese Weise können wir den Stromverbrauch des Projekts reduzieren und den Code sauberer machen. Ich werde bald ein Video zu Unterbrechungen vorbereiten, also bleiben Sie dran. Ich würde gerne Ihre Meinung zu diesem Menüprojekt hören. Finden Sie es nützlich und planen Sie, ein Menü in einem Ihrer Projekte zu verwenden? Bitte posten Sie Ihre Gedanken und Ideen unten, danke!
Empfohlen:
So bearbeiten Sie ein Video mit Adobe Premiere Pro auf einem Mac – wikiHow
So bearbeiten Sie ein Video mit Adobe Premiere Pro auf einem Mac: Einführung: Möchten Sie lernen, wie Sie ein Video mit einer benutzerfreundlichen und dennoch professionellen Software bearbeiten? Suchen Sie nicht weiter als Adobe Premiere Pro. Damit können Sie eine einfache Diashow oder einen komplexen Showfilm und alles dazwischen erstellen. Erfahren Sie mehr über die Grundlagen in o
So erstellen Sie eine Website auf einem Raspberry Pi mit Node.js, Express und MongoDB Teil 1: 6 Schritte
So erstellen Sie eine Website auf einem Raspberry Pi mit Node.js, Express und MongoDB…Teil 1: Willkommen zu TEIL 1 meines node.js-Web-App-Tutorials. In Teil 1 wird die erforderliche Software für die Entwicklung von node.js-Apps erläutert, wie Sie die Portweiterleitung verwenden, eine App mit Express erstellen und Ihre App ausführen. Der zweite Teil dieser
Wie zeichne ich einen Computerbildschirm auf einem Mac auf?: 7 Schritte
Wie zeichne ich den Computerbildschirm auf dem Mac auf?: Wie zeichne ich den Bildschirm auf dem Mac auf? Wollten Sie schon immer etwas aufzeichnen, was auf Ihrem Computer oder Telefon passiert? Vielleicht sehen Sie sich ein Video an und möchten einen Clip aufnehmen; Vielleicht versuchst du jemandem zu zeigen, wie man etwas macht, und ein Video würde es schaffen
So reparieren Sie einen Wechselrichter mit LCD-Hintergrundbeleuchtung. Mit einem Fujiplus FP-988D. für 0 $.: 9 Schritte
So reparieren Sie einen Wechselrichter mit LCD-Hintergrundbeleuchtung. Mit einem Fujiplus FP-988D. für $ 0.: In diesem anweisbaren werde ich Sie durch die Reparatur eines toten LCD-Hintergrundlicht-Wechselrichters mit den Teilen führen, die Sie haben. Sie können feststellen, ob Sie ein totes Gegenlicht haben, indem Sie zuerst andere Möglichkeiten ausschließen. Monitor auf mehreren Computern überprüfen. Stellen Sie sicher, dass
So extrahieren Sie Wii-Spiele mit einem USB-Stick auf Ihren Computer: 3 Schritte
So extrahieren Sie Wii-Spiele mit einem USB-Stick auf Ihren Computer benötigen mehrere Dinge, um dies zu ermöglichen: Hardware-Anforderungen: Wii mit Firmware 3.4 und