Inhaltsverzeichnis:
- Schritt 1: Erforderliche Dinge
- Schritt 2: Schaltplan
- Schritt 3: Arduino-Rechnerprogramm
- Schritt 4:
- Schritt 5: Arbeiten des Arduino-Rechners
- Schritt 6: Code
Video: Arduino-Rechner - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Programmieren macht immer Spaß und Arduino ist eine wunderbare Plattform, wenn Sie gerade erst mit der Embedded-Programmierung beginnen. In diesem Tutorial bauen wir unseren eigenen Rechner mit Arduino. Die Werte können über eine Tastatur (4×4-Tastatur) gesendet und das Ergebnis auf einem LCD-Bildschirm (16×2 Dot-Matrix) angezeigt werden. Dieser Rechner kann einfache Operationen wie Addition, Subtraktion, Multiplikation und Division mit ganzen Zahlen durchführen. Aber sobald Sie das Konzept verstanden haben, können Sie mit den integrierten Funktionen von Arduino sogar wissenschaftliche Funktionen implementieren verfügbaren Bibliotheken. Sie werden auch verstehen, wie Sie Ihren Arduino für die Ausführung einer bestimmten Aufgabe programmieren.
Schritt 1: Erforderliche Dinge
Arduino Uno (Jede Version funktioniert)16×2 LCD Display4×4 Tastatur9V BatterieBreadboard und Anschlussdrähte
Schritt 2: Schaltplan
Schritt 3: Arduino-Rechnerprogramm
Das vollständige Arduino-Programm für dieses Projekt finden Sie am Ende dieses Projekts. Der Code ist in kleine bedeutungsvolle Stücke aufgeteilt und unten erklärt. Wie bereits erwähnt, werden wir ein LCD und eine Tastatur mit Arduino mithilfe von Bibliotheken 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 keine Sorgen machen müssen. Klicken Sie für die Keypad-Bibliothek auf den Link, um sie von Github herunterzuladen. Sie erhalten eine ZIP-Datei, fügen Sie diese Bibliothek dann zu Arduino von Sketch -> Include Library -> Add. ZIP file und zeigen Sie den Speicherort auf diese heruntergeladene Datei. Sobald wir fertig sind, sind wir fertig 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 zum Arduino erwähnen. Die Variablen ROWS und COLS geben an, wie viele Zeilen und Spalten unser Tastenfeld hat und die Keymap zeigt die Reihenfolge an, in der die Tasten auf der Tastatur vorhanden sind. Die Tastatur, die ich in diesem Projekt verwende, sieht wie folgt aus, um die Tastenbelegung auch darzustellen. Weiter unten haben wir erwähnt, mit welchen Pins die Tastatur mit dem variablen Array rowPins und colPins.const Byte ROWS = 4 verbunden ist; // Vier Zeilenconst Byte COLS = 4; // Drei Spalten// Definiere die Keymapchar-Schlüssel[ROWS][COLS] = { {'1', '2', '3', 'A'}, {'4', '5', '6', ' B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}};byte rowPins[ROWS] = { 0, 1, 2, 3 }; // Tastatur ROW0, ROW1, ROW2 und ROW3 mit diesen Arduino-Pins verbinden.byte colPins[COLS] = { 4, 5, 6, 7 }; // Schließen Sie die Tastatur COL0, COL1 und COL2 an diese Arduino-Pins an. Sobald wir erwähnt haben, welche Art von Tastatur wir verwenden und wie sie angeschlossen ist, können wir die Tastatur mit diesen Details mit der folgenden Zeile erstellenKeypad kpd = Keypad (makeKeymap (keys.)), rowPins, colPins, ROWS, COLS); // Erstellen Sie das KeypadÄhnlich müssen wir auch sagen, mit welchen Pins des Arduino das LCD verbunden ist. Nach 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 istLiquidCrystal lcd (rs, en, d4, d5, d6, d7); // LCD erstellenInnerhalb der Setup-Funktion zeigen wir nur den Namen des Projekts an und fahren dann mit der while-Schleife fort, in der das Hauptprojekt liegt. Grundsätzlich müssen wir überprüfen, ob etwas auf der Tastatur eingegeben wird, wenn wir es eingeben müssen wir es erkennen was eingegeben wird und dann in eine Variable umwandeln, wenn das „=“gedrückt wird, müssen wir das Ergebnis berechnen und dann schließlich auf dem LCD anzeigen. Genau das wird in der Schleifenfunktion gemacht, wie unten gezeigtkey = kpd.getKey(); //Wert der gedrückten Taste in einem charif speichern (key!=NO_KEY)DetectButtons();if (result==true)CalculateResult();DisplayResult(); Was in jeder Funktion passiert, wird mit den Kommentarzeilen erklärt. Gehen Sie den vollständigen Code unten durch, und fummeln 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.
Schritt 4:
Schritt 5: Arbeiten des Arduino-Rechners
Stellen Sie die Verbindungen gemäß Schaltplan her und laden Sie den unten stehenden Code hoch. Wenn ein Fehler angezeigt wird, stellen Sie sicher, dass Sie die Bibliothek gemäß den obigen Anweisungen hinzugefügt haben. Sie können auch die Simulation ausprobieren, um zu überprüfen, ob das Problem an Ihrer Hardware liegt. Wenn alles so gemacht ist, wie es sein soll, dann sieht Ihre Hardware so aus, wie folgt, wobei das LCD diesen Arduino-Rechner mit 4x4-Tastatur in Aktion anzeigt unten aufgeführtZeichen auf der TastaturAngenommen als „A“Addition (+)“B“Subtraktion (-)“C“Multiplikation (*)“D“Division (/)“*“Löschen (C)“#“Gleich (=)Sie können Verwenden Sie einen Marker, um zu schreiben, was jede Schaltfläche tatsächlich darstellt. Damit können Sie direkt mit der Verwendung des Taschenrechners beginnen. Geben Sie die Zahl ein und erscheint in der zweiten Zeile. Drücken Sie den Operanden und geben Sie Ihre zweite Zahl ein. Drücken Sie schließlich die Taste „#“, um Ihr Ergebnis zu erhalten. Sie können auch versuchen, diesen Touchscreen-basierten Arduino-Rechner zu bauen.
Schritt 6: Code
/* * Arduino Keypad-Rechner-Programm */#include //Header-Datei für LCD von https://www.arduino.cc/en/Reference/LiquidCrystal#include //Header-Datei für Keypad von https://github.com/ Chris--A/Keypadconst-Byte ROWS = 4; // Vier Zeilenconst Byte COLS = 4; // Drei Spalten// Definiere die Keymapchar-Schlüssel[ROWS][COLS] = { {'7', '8', '9', 'D'}, {'4', '5', '6', ' C'}, {'1', '2', '3', 'B'}, {'*', '0', '#', 'A'}};byte rowPins[ROWS] = { 0, 1, 2, 3 }; // Tastatur ROW0, ROW1, ROW2 und ROW3 mit diesen Arduino-Pins verbinden.byte colPins[COLS] = { 4, 5, 6, 7 }; // Verbinden Sie die Tastatur COL0, COL1 und COL2 mit diesen Arduino-Pins. Keypad kpd = Keypad (makeKeymap (keys), rowPins, colPins, ROWS, COLS); // Erstellen Sie die Keypadconst int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Pins, an die das LCD angeschlossen istLiquidCrystal lcd (rs, en, d4, d5, d6, d7); lang Num1, Num2, Zahl; Zeichentaste, Aktion; boolesches Ergebnis = false;void setup () { lcd.begin (16, 2); // Wir verwenden ein 16 * 2 LCD-Display lcd.print ("DIY Calculator"); //Eine Intro-Nachricht anzeigen lcd.setCursor(0, 1); // setze den Cursor auf Spalte 0, Zeile 1 lcd.print("-CircuitDigest"); // Anzeige einer Intro-Nachrichtverzögerung (2000); // Warten Sie, bis die Anzeige die Informationen anzeigt lcd.clear (); //Dann bereinigen}void loop() {key = kpd.getKey(); //Wert der gedrückten Taste in einem charif speichern (key!=NO_KEY)DetectButtons();if (result==true)CalculateResult();DisplayResult(); }void DetectButtons () {lcd.clear (); //Dann reinigen Sie es if (key=='*') //Wenn der Abbrechen-Button gedrückt wird {Serial.println ("Button Cancel"); Zahl=Zahl1=Zahl2=0; result=false;} if (key == '1') //Wenn Taste 1 gedrückt wird {Serial.println ("Taste 1"); if (Zahl==0) Zahl=1; sonst Zahl = (Zahl*10) + 1; // Zweimal gedrückt} if (Taste == '4') // Wenn Taste 4 gedrückt wird {Serial.println ("Taste 4"); if (Zahl==0) Zahl=4; sonst Zahl = (Zahl*10) + 4; // Zweimal gedrückt} if (Taste == '7') // Wenn Taste 7 gedrückt wird {Serial.println ("Taste 7"); if (Zahl==0) Zahl=7; sonst Zahl = (Zahl*10) + 7; // Zweimal gedrückt} if (Taste == '0') {Serial.println ("Button 0"); // Taste 0 wird gedrückt, wenn (Zahl = = 0) Zahl = 0; sonst Zahl = (Zahl*10) + 0; // Zweimal gedrückt} if (Taste == '2') // Taste 2 wird gedrückt {Serial.println ("Taste 2"); wenn (Zahl==0) Zahl=2; sonst Zahl = (Zahl*10) + 2; // Zweimal gedrückt} if (Taste == '5') {Serial.println ("Button 5"); if (Zahl==0) Zahl=5; sonst Zahl = (Zahl*10) + 5; // Zweimal gedrückt} if (Taste == '8') {Serial.println ("Button 8"); if (Zahl==0) Zahl=8; sonst Zahl = (Zahl*10) + 8; // Zweimal gedrückt} if (key == '#') {Serial.println ("Button Equal"); Zahl2=Zahl; Ergebnis = wahr; } if (key == '3') {Serial.println ("Button 3"); if (Zahl==0) Zahl=3; sonst Zahl = (Zahl*10) + 3; // Zweimal gedrückt} if (Taste == '6') {Serial.println ("Button 6"); if (Zahl==0) Zahl=6; sonst Zahl = (Zahl*10) + 6; // Zweimal gedrückt} if (Taste == '9') {Serial.println ("Button 9"); if (Zahl==0) Zahl=9; sonst Zahl = (Zahl*10) + 9; //Zweimal gedrückt} if (Taste == 'A' || Taste == 'B' || Taste == 'C' || Taste == 'D') //Erkennen von Schaltflächen in Spalte 4 { Num1 = Number; Zahl =0; if (key == 'A') {Serial.println ("Addition"); action = '+';} if (key == 'B') {Serial.println ("Subtraktion"); Aktion = '-'; } if (key == 'C') {Serial.println ("Multiplikation"); action = '*';} if (key == 'D') {Serial.println ("Entwicklung"); Aktion = '/';} Verzögerung(100); }}void CalculateResult(){ if (action=='+') Number = Num1+Num2; if (action=='-') Zahl = Num1-Num2; if (action=='*') Zahl = Num1*Num2; if (action=='/') Zahl = Num1/Num2; } ungültiges DisplayResult () {lcd.setCursor (0, 0); // setze den Cursor auf Spalte 0, Zeile 1 lcd.print (Num1); lcd.print (Aktion); lcd.print (Num2); if (result==true) {lcd.print("="); lcd.print(Number);} //Ergebnis anzeigen lcd.setCursor(0, 1); // setze den Cursor auf Spalte 0, Zeile 1 lcd.print(Number); //Ergebnis anzeigen}
Empfohlen:
Einen Arduino-Gitarren-Tuner herstellen – wikiHow
So bauen Sie einen Arduino-Gitarren-Tuner: Dies sind die Anweisungen, um einen Gitarren-Tuner aus einem Arduino und mehreren anderen Komponenten zu machen. Mit Grundkenntnissen in Elektronik und Codierung können Sie dieses Gitarrenstimmgerät herstellen. Zuerst müssen Sie wissen, was die Materialien sind. Ma
ALARMA ARDUINO CON SENSOR DE MOVIMIENTO, SIRENA Y AVISO AL TLF. MÓVIL: 9 Schritte
ALARMA ARDUINO CON SENSOR DE MOVIMIENTO, SIRENA Y AVISO AL TLF. MÓVIL: Este proyecto consiste en a alarma básica que Detecta presencia, activa una sirena de 108dB y visa al usuario mediante un SMS (opcional). Permite también el control remoto básico por parte del usuario a través de SMS (encendido, apagado, reinicio
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 2 - Temperatur- / Feuchtigkeitsmonitor - Rev 3: 7 Schritte
Easy Very Low Power BLE in Arduino Teil 2 – Temperatur-/Feuchtigkeitsmonitor – Rev 3: Update: 23. November 2020 – Erster Austausch von 2 x AAA-Batterien seit 15. Januar 2019 dh 22 Monate für 2x AAA AlkalineUpdate: 7. April 2019 – Rev 3 of lp_BLE_TempHumidity, fügt Datum/Uhrzeit-Plots hinzu, verwendet pfodApp V3.0.362+ und automatische Drosselung, wenn
Arduino-Programmierung über das Handy -- Arduinodroid -- Arduino-Ide für Android -- Blinzeln: 4 Schritte
Arduino-Programmierung über das Handy || Arduinodroid || Arduino-Ide für Android || Blink: Bitte abonnieren Sie meinen Youtube-Kanal für weitere Videos…… Arduino ist ein Board, das direkt über USB programmiert werden kann. Es ist sehr einfach und günstig für College- und Schulprojekte oder sogar für Produktprototypen. Viele Produkte bauen zunächst darauf für i