- Erforderliche Materialien:
- Schaltplan:
- Arduino Rechner Programm:
- Simulation des Arduino-Rechners:
- Arbeitsweise des Arduino-Rechners:
Das Programmieren macht immer Spaß und Arduino ist eine wunderbare Plattform, wenn Sie gerade erst mit der Embedded-Programmierung beginnen. In diesem Tutorial werden wir unseren eigenen Taschenrechner mit Arduino bauen. Die Werte können über eine Tastatur (4 × 4-Tastatur) gesendet und das Ergebnis auf einem LCD-Bildschirm (16 × 2-Punktmatrix) angezeigt werden. Dieser Rechner kann einfache Operationen wie Addition, Subtraktion, Multiplikation und Division mit ganzen Zahlen ausführen. Sobald Sie das Konzept verstanden haben, können Sie mit den in Arduino integrierten Funktionen sogar wissenschaftliche Funktionen implementieren.
Am Ende dieses Projekts erfahren Sie, wie Sie ein 16x2-LCD und eine Tastatur mit Arduino verwenden und wie einfach es ist, diese mithilfe der leicht verfügbaren Bibliotheken zu programmieren. Sie werden auch verstehen, wie Sie Ihr Arduino für die Ausführung einer bestimmten Aufgabe programmieren.
Erforderliche Materialien:
- Arduino Uno (Jede Version wird funktionieren)
- 16 × 2 LCD-Anzeige
- 4 × 4 Tastatur
- 9V Batterie
- Steckbrett und Verbindungskabel
Schaltplan:
Das vollständige Schaltbild dieses Arduino Calculator-Projekts ist oben angegeben. Die im Schaltplan gezeigte + 5V- und Erdungsverbindung kann über den 5V- und Erdungsstift des Arduino bezogen werden. Das Arduino selbst kann von Ihrem Laptop oder über die DC-Buchse mit einem 12-V-Adapter oder einer 9-V-Batterie mit Strom versorgt werden.
Wir betreiben das LCD im 4-Bit-Modus mit Arduino, sodass nur die letzten vier Datenbits des LCD mit Arduino verbunden sind. Die Tastatur verfügt über 8 Ausgangspins, die wie oben gezeigt von Pin 0 an Pin 7 angeschlossen werden müssen. Sie können die folgende Verbindungstabelle verwenden, um Ihre Verbindung mit Arduino zu überprüfen. Sie können auch die 4x4-Tastaturschnittstelle mit Arduino überprüfen.
Arduino Pin Name: |
Verbunden: |
D0 |
1 st Stift der Tastatur |
D1 |
2 nd Stift der Tastatur |
D2 |
3 rd Stift der Tastatur |
D3 |
4 th Stift der Tastatur |
D4 |
5 th Stift der Tastatur |
D5 |
6 th Stift der Tastatur |
D6 |
7 th Stift der Tastatur |
D7 |
8 th Stift der Tastatur |
D8 |
Registrieren Sie den Auswahl-Pin des LCD (Pin 4). |
D9 |
Pin des LCD aktivieren (Pin 6) |
D10 |
Daten Pin 4 (Pin 11) |
D11 |
Daten Pin 4 (Pin 11) |
D12 |
Daten Pin 4 (Pin 11) |
D13 |
Daten Pin 4 (Pin 11) |
+ 5V |
Verbunden mit dem Vdd-Pin des LCD (Pin 2) |
Boden |
Verbunden mit Vss, Vee und RW Pin des LCD (Pin 1,3 und 5) |
Einige Arduino-Karten zeigen möglicherweise einen Fehler beim Hochladen des Programms an, wenn etwas an Pin 0 und Pin 1 angeschlossen ist. Wenn Sie also Probleme haben, entfernen Sie einfach die Tastatur, während Sie das Programm hochladen.
Sobald Ihre Verbindungen hergestellt sind, sieht Ihre Hardware wie folgt aus
Arduino Rechner Programm:
Das vollständige Arduino-Programm für dieses Projekt finden Sie am Ende dieses Projekts. Der Code ist in kleine sinnvolle Abschnitte unterteilt und wird unten erläutert.
Wie bereits erwähnt, werden wir ein LCD und eine Tastatur mithilfe von Bibliotheken mit Arduino verbinden. Fügen wir sie also zuerst unserer Arduino IDE hinzu. Die Bibliothek für LCD ist standardmäßig bereits in Ihrem Arduino enthalten, sodass wir uns darüber keine Gedanken machen müssen. Klicken Sie für die Tastaturbibliothek auf den Link, um sie von Github herunterzuladen. Sie erhalten eine ZIP-Datei, fügen diese Bibliothek dann Arduino per Sketch -> Include Library -> Add.ZIP-Datei hinzu und verweisen den Speicherort auf diese heruntergeladene Datei. Sobald wir fertig sind, sind wir alle bereit für die Programmierung.
Obwohl wir eine Bibliothek für die Verwendung einer Tastatur verwendet haben, müssen wir einige Details (siehe unten) über die Tastatur des Arduino erwähnen. Die Variablen ROWS und COLS geben an, wie viele Zeilen und Spalten unsere Tastatur hat, und die Tastaturbelegung zeigt die Reihenfolge an, in der die Tasten auf der Tastatur vorhanden sind. Das Tastenfeld, das ich in diesem Projekt verwende, sieht wie folgt aus.
Weiter unten haben wir erwähnt, mit welchen Pins die Tastatur über das variable Array rowPins und colPins verbunden ist .
const byte ROWS = 4; // Vier Zeilen const byte COLS = 4; // Drei Spalten // Definiere die Keymap-Zeichenschlüssel = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, { '7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; Byte rowPins = {0, 1, 2, 3}; // Verbinde die Tastatur ROW0, ROW1, ROW2 und ROW3 mit diesen Arduino-Pins. Byte colPins = {4, 5, 6, 7}; // Verbinde die Tastatur COL0, COL1 und COL2 mit diesen Arduino-Pins.
Nachdem wir erwähnt haben, welche Art von Tastatur wir verwenden und wie sie verbunden ist, können wir die Tastatur anhand dieser Details in der folgenden Zeile erstellen
Tastatur kpd = Tastatur (makeKeymap (Schlüssel), rowPins, colPins, ROWS, COLS); // Erstellen Sie die Tastatur
In ähnlicher Weise müssen wir auch angeben, an welche Pins des Arduino das LCD angeschlossen ist. Gemäß unserem Schaltplan wären die Definitionen wie folgt
const int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Pins, an die das LCD angeschlossen ist LiquidCrystal lcd (rs, en, d4, d5, d6, d7); // LCD erstellen
Innerhalb der Setup- Funktion zeigen wir nur den Namen des Projekts an und fahren dann mit der while-Schleife fort, in der sich das Hauptprojekt befindet.
Grundsätzlich müssen wir überprüfen, ob etwas auf der Tastatur eingegeben wird. Wenn Sie etwas eingeben, müssen wir erkennen, was eingegeben wird, und es dann in eine Variable konvertieren, wenn das „=“ gedrückt wird. Wir müssen das Ergebnis berechnen und es schließlich anzeigen auf dem LCD. Dies ist genau das, was innerhalb der Schleifenfunktion gemacht wird, wie unten gezeigt
key = kpd.getKey (); // gespeicherten Tastenwert in einem Zeichen speichern if (key! = NO_KEY) DetectButtons (); if (result == true) CalculateResult (); DisplayResult ();
Was in jeder Funktion passiert, wird anhand der Kommentarzeilen erklärt. Gehen Sie den vollständigen Code unten durch und spielen Sie damit herum, um zu verstehen, wie es tatsächlich funktioniert. Wenn Sie Zweifel an einer bestimmten Zeile haben, können Sie den Kommentarbereich oder die Foren verwenden.
Simulation des Arduino-Rechners:
Wir können auch versuchen, das Projekt mit der Proteus-Software zu simulieren. Proteus verfügt nicht über eine eigene Arduino-Komponente, kann jedoch einfach heruntergeladen und zu seiner Bibliothek hinzugefügt werden. Sobald Sie die Arduino-Komponente auf Proteus haben, fügen Sie einfach ein alphanumerisches LCD und eine Tastatur hinzu, um die Verbindung wie im Schaltplan gezeigt herzustellen.
Laden Sie dann die Hex-Datei von hier herunter und fügen Sie sie dem Arduino hinzu, indem Sie in Proteus an Bord doppelklicken und die „Programmdatei“ auf diese heruntergeladene Hex-Datei zeigen. Ein Schnappschuss der Simulation ist unten gezeigt, die komplette Arbeit ist im Video unten gezeigt.
Hinweis: Die angegebene Hex-Datei stimmt nicht mit dem Original des unten angegebenen Programms überein. Es wurde geändert, da sich die Tastaturbelegung der Simulationstastatur und die tatsächliche Hardwaretastatur unterscheiden.
Arbeitsweise des Arduino-Rechners:
Stellen Sie die Verbindungen gemäß Schaltplan her und laden Sie den folgenden Code hoch. Wenn ein Fehler angezeigt wird, stellen Sie sicher, dass Sie die Bibliothek gemäß den oben angegebenen Anweisungen hinzugefügt haben. Sie können auch die Simulation versuchen, um zu überprüfen, ob das Problem bei Ihrer Hardware liegt. Wenn alles so gemacht ist, wie es sein soll, sieht Ihre Hardware wie folgt aus, wobei das LCD dies anzeigt
Da die hier verwendete Tastatur keine richtigen Markierungen aufweist, habe ich angenommen, dass die Alphabete Operatoren sind, wie unten aufgeführt
Zeichen auf der Tastatur |
Angenommen, dass |
"EIN" |
Zugabe (+) |
"B" |
Subtraktion (-) |
"C" |
Multiplikation (*) |
"D" |
Teilung (/) |
"*" |
Löschen (C) |
"#" |
Gleich (=) |
Sie können einen Marker verwenden, um zu überschreiben, was jede Schaltfläche tatsächlich darstellt.
Damit können Sie den Taschenrechner direkt verwenden. Geben Sie die Nummer ein und sie wird in der zweiten Zeile angezeigt. Drücken Sie den Operanden und geben Sie Ihre zweite Nummer ein. Drücken Sie schließlich die Taste "#", um das Ergebnis zu erhalten. Sie können auch versuchen, diesen Touchscreen-basierten Arduino-Rechner zu erstellen.