So erstellen Sie ein Menü mit Arduino auf LCD
Das Erstellen eines Menüs mit Arduino kann nützlich sein, um bei Bedarf mehrere Aufgaben auszuführen. Praktisch können wir die Verwendung von Menüs in unseren Handys oder in einem intelligenten Gerät sehen, das einige spezifische Funktionen erfüllen kann. Kurz gesagt, das Menü enthält eine Liste von Optionen oder Aktionen, die man mit dem jeweiligen Gerät ausführen kann, sodass wir die folgende Hardware zum Erstellen eines Menüs mit Arduino auf LCD verwendet haben:
Die Schemata ist unten angegeben:
Hardware -Montage zum Erstellen von Menü mit Arduino
Wir haben die Komponenten so zusammengestellt, dass wir zuerst alle Komponenten auf ein Störbrett platziert haben und dann die Verbindungsdrähte mit Arduino mit Arduino miteinander verbunden sind. Wir haben unten ein Bild für die Hardware -Montage gepostet, über die die Verbindungen der Komponenten leicht verstanden werden können.
Die grünen Drähte verbinden die Datenstifte des LCD mit Arduino, während die grauen Drähte die Taste mit Arduino verbinden. Der Temperatursensor ist direkt mit dem Arduino angeschlossen, ohne dass Drähte verbinden. Die Komponenten werden unter Verwendung des 5 Volt Pin von Arduino angetrieben.
Die Tastesequenz wird im obigen Bild erwähnt.
Arduino -Code zum Erstellen eines Menüs
Wir haben ein Menü mit drei Optionen erstellt, um die LED ein- und auszuschalten. Die zweite misst die Temperatur und der dritte ertönt einen Alarm:
#include // Bibliothek für den LCD
Liquidcrystal LCD (7,6, 5, 4, 3, 2); // Arduino -Stifte für die LCD
int vcc = a0; // A0 -Pin -Versorgung von LM35
int vout = a1; // A1 -Pin für die Ausgabe des LM35
int gnd = a2; // A2 -Pin für die Ausgabe des LM35
Float Temp; // Variable zum Speichern des Temperaturwerts
Schwimmerwert; // Speichern Sie den Wert des Temperatursensors
const byte optonpin = 12; // Arduino Pin für UP -Taste
const byte downbuttonpin = 11; // Arduino -Pin für Down -Taste
const byte rightbuttonpin = 10; // Arduino Pin für die rechte Taste
const byte linkerpin = 8; // Arduino Pin für linke Taste
const byte summerpin = 9; // Arduino Pin für Summer
const byte ledpin = 13; // Arduino Pin für LED
String -Menuitems [] = // Erstellen der Zeichenfolge der Optionen im Menü
"LED -Schalter",
"Temperatur",
"Summerschalter"
;
void Menuctions (intmenü, byte rechts, byte links) / * Erstellen der Funktionen der Optionen im Menü * /Erstellen
if (Menü == 1) // für die erste Option
if (rechts == 1) // Wenn die rechte Taste gedrückt wird
LCD.setCursor (0, 1); // Einstellen der Stelle für die Daten auf LCD
LCD.print ("off"); // Drucken Sie die Off -Option
LCD.setCursor (10, 1); // Festlegen der Stelle für die Daten auf LCD
LCD.drucken ("auf <<");// move the cursor on the ON option
DigitalWrite (LEDPIN, High); // Die LED einschalten
if (links == 1) // Wenn der linke Taste gedrückt wird, dann wird dann gedrückt
LCD.setCursor (0, 1); // Festlegen der Stelle für die Daten zu LCD
LCD.ausdrucken <<");// printing the off option
LCD.setCursor (10, 1); // Festlegen der Stelle für die Daten auf LCD
LCD.print ("on"); // Drucken der OP -Option
DigitalWrite (LEDPin, niedrig); // Ausschalten der LED
if (Menü == 2) // Wenn die zweite Option im Menü ausgewählt ist
value = analograd (vout); // Lesen Sie die Ausgabe des Sensors
temp = Wert*0.48; // Analogwerte in Temperaturwerte konvertieren
LCD.setCursor (0, 1); // Einstellen der Stelle für die Daten auf LCD
LCD.print ("Temperatur:"); // Anzeigen der Daten
LCD.setCursor (12, 1); // Festlegen der Stelle für die Daten auf LCD
LCD.Print (Temp); // Anzeige des Temperaturwerts
if (Menü == 3) // Wenn die dritte Option ausgewählt ist
if (rechts == 1) // Wenn die rechte Taste gedrückt wird
LCD.setCursor (0, 1); // Einstellen der Stelle für die Daten auf LCD
LCD.ausdrucken "); // Drucken Sie die Aus -Option
LCD.setCursor (10, 1); // Festlegen der Stelle für die Daten auf LCD
LCD.drucken ("auf <<");// move the cursor on the ON option
Ton (Summerpin, 125); // den Summer einschalten
if (links == 1) // Wenn der linke Taste gedrückt wird
LCD.setCursor (0, 1); // Einstellen der Stelle für die Daten auf LCD
LCD.ausdrucken <<");// move the cursor on the off option
LCD.setCursor (10, 1); // Festlegen der Stelle für die Daten auf LCD
LCD.print ("on"); // Drucken der Option
NOTONE (Summerpin); // Schalten Sie den Summer aus
// Erstellen der Vorlage des Menüs
Vorlage /* Variable für den Namen der Option und für die Größe des Menüs* /
size_t MenuitemSize (t (&) [numbersize]) return numbersize; /* Menüoptionsname und die Anzahl der Option*/
int numbersofMenuitems = MenuitemSize (Menuitems) - 1;
int CurrentMenuitem = 0; // Variable zum Speichern der aktuellen Option
intheruseuitem = 1; // Variable zum Speichern der vorherigen Option
BYTE Button_flag = 0;
nicht signierte lange vorhermillis = millis ();
// Setup -Funktion
void setup ()
PinMode (LEDPIN, Ausgang); // PIN -Modus für LED definieren
PinMode (VCC, Ausgabe); // PIN -Modus für Versorgungsstift für Sensor definieren
PinMode (vout, Eingabe); // Pinmodus für den Ausgangsstift des Sensors definieren
PinMode (GND, Ausgabe); // Pinmodus für den Erdungsstift des Sensors definieren
// die Zustände für die Versorgungs- und Erdungsstifte für die Sensoren definieren
DigitalWrite (VCC, High); // Geben Sie dem Arduino A0 Pin High State
DigitalWrite (GND, niedrig); // dem Arduino A2 Pin niedriger Zustand geben
PinMode (Upbuttonpin, input_pullup); // Zuweisen des UP -Taste input_pullup -Modus
PinMode (DownbuttonPin, input_pullup);/*Zuweisen des UP -Taste input_pullup -Modus*/
PinMode (rechter Buttonpin, input_pullup);/*Zuweisen des UP -Taste input_pullup -Modus*/
PinMode (linksduttonpin, input_pullup); /*Zuweisen des UP -Taste input_pullup -Modus*/
LCD.Beginnen Sie (16,2); // Initialisierung der Dimensionen von LCD
LCD.clear (); // das LCD klären
LCD.setCursor (0, 0); // Einstellung Ort für die angezeigten Daten auf LCD
LCD.print ("Willkommen zu"); // Daten, die auf LCD angezeigt werden sollen
LCD.setCursor (3, 1); // Einstellungsort für Daten auf LCD angezeigt werden
LCD.Print ("Arduino -Menü"); // Daten, die auf LCD angezeigt werden sollen
Verzögerung (6000); // Zeit, für die die Daten auf LCD angezeigt werden
LCD.clear (); // das LCD klären
LCD.setCursor (0, 0); // Einstellungsort für Daten auf LCD angezeigt werden
LCD.drucken ("LinuxHint.com "); // Daten, die auf LCD angezeigt werden sollen
Verzögerung (7000); // Zeit, für die die Daten auf LCD angezeigt werden
LCD.clear (); // das LCD klären
// Verwenden Sie die Bedingungen zur Definition der Funktionalität der einzelnen Taste
Hohlraumschleife ()
if (digitalRead (rechter Buttonpin) == Low && button_flag == 0)/ *Wenn die rechte Taste gedrückt wird */
Menuctions (CurrentMenuitem + 1, 1, 0); // einen Schritt nach rechts bewegen
Button_flag = 1;
vorhermillis = Millis ();
if (digitalRead (linksbr
Menuctions (CurrentMenuitem + 1, 0, 1);
Button_flag = 1;
vorhermillis = Millis ();
if (digitalRead (optonpin) == low && button_flag == 0) /*Wenn die Taste von up gedrückt wird* /
++CurrentMenuitem;
if (CurrentMenuitem> NummerOfMenuitems)
CurrentMenuitem = numbersofMenuitems;
Button_flag = 1;
vorhermillis = Millis ();
sonst if (digitalread (downbuttonpin) == low && button_flag == 0) /*Wenn die Taste abwärts gedrückt wird* /
CurrentMenuitem--;
if (CurrentMenuitem = 400)
vorhermillis = Millis ();
button_flag = 0;
Um die Arbeit des oben angegebenen Arduino -Codes zusammenzufassen, können wir sagen, dass wir zuerst LCD-, Temperatursensor-, Summer- und Push -Tasten Pins zugewiesen haben. Dann haben wir ein Menü erstellt, indem wir einige Optionen wie das Wechseln von LED, Temperaturerfassung und Wechsel von Summer haben.
Wir haben die IF -Bedingungen für jede Option verwendet, die wir im Menü angegeben haben, und danach haben wir eine Vorlage für das Menü erstellt und einige Variablen definiert, um die Optionen im Menü zu erinnern.
In der Setup -Funktion werden allen Arduino -Stiften ihre Modi zugewiesen und die Dimension des LCD wird initialisiert.
Wenn wir zur Schleifenfunktion kommen, haben wir die Funktionalität jeder im Arduino -Programm verwendeten Taste definiert. In diesem Programm werden vier Tasten verwendet: Zwei sind die Schaltflächen und die anderen beiden werden als Ein/Aus -Schalter für die angeschlossenen Geräte verwendet.
Hardware -Implementierung zum Erstellen eines Menüs mit Arduino Uno
Die Bilder der Ausgabe des Arduino -Programms auf Hardware werden in der Abfolge des Arduino -Codes veröffentlicht. Um das Menü zu navigieren, drücken Sie die Tasten „Up“ und „Down“, um Funktionen auszuführen. Drücken Sie die Tasten „Links“ und „Rechte“.
Die erste Option des Menüs ist der LED -Switch:
Wenn die LED im Staat ist:
Wenn der rechte Taste gedrückt wird, wird die LED eingeschaltet:
Die zweite Option im Menü ist die Temperatur:
Die nächste Option ist das Wechsel des Summers:
Wenn der Summer im Status ist, wenn der rechte Taste gedrückt wird:
Der Summer wird ausgeschaltet, wenn der linke Knopf gedrückt wird:
Abschluss
Um verschiedene Projekte auf Anfängern oder fortgeschrittener Ebene zu erstellen, ist die Verwendung der Arduino -Plattform die machbarste Art und Weise, die in den Sinn kommt. Diese Plattform bietet den Benutzern eine Vielzahl von Optionen, die auf den Anforderungen des Projekts basieren. In ähnlicher Weise ist diese Plattform eine Art Komplettpaket, da sie beide Arten von Assistenzsoftware und Hardware bietet. Das Erstellen von Projekten mit Arduino bietet also die Möglichkeit, verschiedene Konzepte über Schaltungen zu lernen und zu verstehen. Wir haben auch ein Projekt zum Erstellen eines Menüs mit einem Arduino Uno -Board erstellt und auf einem 16 × 2 LCD angezeigt.