![Arduino UNO (Menüs und Funktionen erstellen) - Gunook Arduino UNO (Menüs und Funktionen erstellen) - Gunook](https://i.howwhatproduce.com/images/004/image-9747-10-j.webp)
Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-23 12:52
![Arduino UNO (Erstellen von Menüs und Funktionen) Arduino UNO (Erstellen von Menüs und Funktionen)](https://i.howwhatproduce.com/images/004/image-9747-11-j.webp)
![Arduino UNO (Erstellen von Menüs und Funktionen) Arduino UNO (Erstellen von Menüs und Funktionen)](https://i.howwhatproduce.com/images/004/image-9747-12-j.webp)
In diesem anweisbaren werden wir untersuchen, wie man Menüs erstellt, die Temperatur von einem TC74A0-Sensor liest und "Werte" (in diesem Fall Handynummern) auf eine Weise anzeigt, die unendlich ist, aber auf den Bordspeicher des Arduino beschränkt ist.
Wir werden verwenden
-Arrays
-Flüssigkristallanzeige
-Tastenfeld
Benutzerhandbuch im letzten Schritt enthalten.
Schritt 1: Komponenten
Arduino Uno
· 4x4-Tastatur
· TC74A0 digitaler Temperatursensor
· I2c 16x2 LCD-Modul
· 16x2 Flüssigkristallanzeige
· Überbrückungsdrähte
· Steckbrett
· Persönlicher Computer
· Arduino-IDE
· Übertragungskabel
Schritt 2: Komponentenverdrahtung
TEMP. SENSOR UND LCD AN DIE GLEICHE LINIE AN SDA UND SCL ANGESCHLOSSEN (A4, A5)
LCD (I2c-Modul)
o SDA auf A5 auf Arduino
o SCL auf A4 auf Arduino
o VCC auf 5V auf Arduino
o GND zu GND auf Arduino
· 4 x 4 Tastatur
o Pin 1 – 8 auf der Tastatur verbunden mit Pin 9 – 2 auf Arduino bzw.
TC74A0 Temperatursensor
o TC74A0 Pin 2 an SDA auf Arduino
o TC74A0 Pin 3 auf GND auf Arduino
o TC74A0 Pin 4 an SCL auf Arduino
o TC74A0 Pin 5 bis 5V auf Arduino
Schritt 3: Code
#include //Bezieht Bibliotheken beim Kompilieren ein
#enthalten
#enthalten
#define Passwort_Länge 5
#define Befehlslänge 3
#define Zellennummer 10
int-Benutzer = 0;
int-Anzeige = 0;
int-Adresse = 72; //tc74a0 ADRESSE
int I = 0;
int BENUTZER;
intX = 0;
int XY = 0;
int-Temp;
int tempPre = 0;
char userNum[10][10] = {{}, {}, {}};
char Daten[Passwort_Länge];
char Master[Passwort_Länge] = "5466"; //PASSWORT
char ExitData[Befehlslänge]; //
char Master1[Befehlslänge] = "**";//
char Menüelement;
char CELLArrayA[10];
char CELLArrayB[10];
char CELLArrayC[10];
konstantes Byte ROWS = 4; //vier Reihen
konstantes Byte COLS = 4; //vier Spalten
Byte rowPins[ROWS] = {5, 4, 3, 2};
Byte colPins[COLS] = {9, 8, 7, 6};
Byte data_count = 0, master_count = 0;
bool Pass_is_good;
LiquidCrystal_I2C lcd(0x26, 16, 2);
char hexaKeys[ROWS][COLS] = //INITIATING KEYPAD
{
{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}
};
Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
Void-Setup ()
{
Serial.begin (9600); // dies erstellt den seriellen Monitor
Wire.begin(); //Dies erstellt ein Wire-Objekt
lcd.begin(16, 2);
LCD-Rücklicht();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print ("Bitte warten Sie 3"); //LADEBILDSCHIRM
Verzögerung (1000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print ("Bitte warten Sie 2");
Verzögerung (1000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Bitte warten Sie 1");
Verzögerung (300);
lcd.clear();
String myString = "ARDUINO INSTRUCTABLE";
lcd.setCursor(2, 2);
lcd.print (meinString);
Verzögerung (2500);
for(int scrollCounter=0;scrollCounter<24;scrollCounter++)
{
lcd.scrollDisplayLeft();
Verzögerung (300);
}
lcd.clear();
lcd.print("Passwort eingeben");
}
Leere Schleife ()
{
Schalter (Display) // WO IM HAUPTMENÜ SIND WIR
{ // HATTE DER BENUTZER A, B, C, D gedrückt
Fall 0:
{
Passwort();
}
brechen;
Fall 1:
{
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("A B C D");
lcd.setCursor(0, 0);
lcd.print("Hauptmenü");
Anzeige = 2;
Verzögerung (100);
brechen;
}
Fall 2:
{
char customKey = customKeypad.getKey();
Schalter (benutzerdefinierter Schlüssel)
{
Fall 'A':
{
Serial.println ("A wurde gedrückt");
StoreUser();
brechen;
}
Fall 'B':
{
Serial.println ("B wurde gedrückt");
if (Benutzer == 0) {
lcd.clear();
lcd.print("KEINE GESPEICHERTEN BENUTZER");
Verzögerung (3000);
lcd.clear();
Anzeige = 1;
brechen;
}
DisplayUsers(); brechen;
}
Fall 'C':
{
Serial.println ("C wurde gedrückt"); //WÄHREND DES TESTS VERWENDET
int ext = 0;
während (!ext) {
char-ch;
temp = TempMenü();
if (temp != tempPre) {
lcd.clear();
lcd.print("Temperatur");
lcd.setCursor(0, 1);
lcd.print (temp);
lcd.print("C");
tempPre = temp;
Verzögerung (500);
}
ch = customKeypad.getKey();
if (ch == '*') // TEMPERATURMENÜ VERLASSEN (wenn * GEDRÜCKT)
{
ext = 1;
lcd.clear();
Anzeige = 1;
}
}
brechen;
TempMenü();
brechen;
}
Fall 'D':
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("NUA PRAC");
lcd.setCursor(0, 1);
lcd.print("JB SCHOEMAN");
Verzögerung (3000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print ("MAI 2019");
lcd.setCursor(0, 1);
lcd.print("CC OOSTHUIZEN");
Verzögerung (3000);
lcd.clear();
Anzeige = 1;
}
}
}
}
}
// BENUTZERDEFINIERTE FUNKTIONEN ZUM AUFRUFEN VON WERTEN ODER VERFAHREN
ungültiges Passwort()
{
char customKey = customKeypad.getKey();
if (customKey) // stellt sicher, dass tatsächlich eine Taste gedrückt wird, gleich (customKey != NO_KEY)
{
Data[data_count] = customKey; // char in Datenarray speichern
lcd.setCursor(data_count, 1); // Cursor bewegen, um jedes neue Zeichen anzuzeigen
lcd.print("*"); // char an besagtem Cursor drucken
data_count++; // Daten-Array um 1 erhöhen, um neue Zeichen zu speichern, auch die Anzahl der eingegebenen Zeichen verfolgen
}
if(data_count == Password_Lenght-1) // Wenn der Array-Index gleich der Anzahl der erwarteten Zeichen ist, vergleichen Sie die Daten mit dem Master
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Passwort ist");
if(!strcmp(Data, Master)) // gleich (strcmp(Data, Master) == 0)
{
lcd.print("Gut");
lcd.clear();
Anzeige = 1;
}
anders
lcd.print("Schlecht");
delay(1000); // 1 Sekunde Verzögerung hinzugefügt, um sicherzustellen, dass das Passwort vollständig auf dem Bildschirm angezeigt wird, bevor es gelöscht wird.
lcd.clear();
Daten löschen();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Passwort eingeben");
}
}
int TempMenü()
{
Wire.beginTransmission(Adresse);
Wire.write(0);
Wire.endTransmission();
Wire.requestFrom(Adresse, 1);
while (Draht.verfügbar() == 0);
int c = Wire.read();
Rückkehr c;
}
void clearData()
{
while(data_count !=0)
{ // Dies kann für jede Array-Größe verwendet werden, Daten[data_count--] = 0; // Array für neue Daten löschen
}
}
void StoreUser()
{
int ext = 0;
int-Benutzer;
char-ch;
während (!ext) {
lcd.clear();
lcd.print("Benutzer eingeben");
Benutzer = Benutzer + 1;
lcd.print (Benutzer);
intx = 0;
während (!x) {
für (int i = 0; i < 10; i ++) {
ch = customKeypad.waitForKey();
lcd.setCursor(i, 1);
lcd.print(ch);
userNum[user - 1] = ch;
}
Verzögerung (500);
lcd.clear();
lcd.print("Weiter");
lcd.setCursor(0, 1);
lcd.print("* ja # nein");
ch = customKeypad.waitForKey();
if (ch == '*') {
x = 1;
}
if (ch == '#') {
x = 1;
ext = 1;
lcd.clear();
Anzeige = 1;
}
}
Benutzer++;
}
}
void DisplayUsers()
{
lcd.clear();
for (int i = 0; i < Benutzer; i ++) {
lcd.print("Gespeicherter Benutzer");
lcd.print (i + 1);
für (int u = 0; u < 10; u++) {
lcd.setCursor(u, 1);
lcd.print(userNum[u]);
}
Verzögerung (2000);
lcd.clear();
Anzeige = 1;
}
}
Schritt 4: BENUTZERHANDBUCH
1. Beim Einschalten des Projekts erscheint ein Lade- oder Willkommensbildschirm.
2. Ein Bildschirm „Passwort eingeben“erscheint, dieser Bildschirm ermöglicht Ihnen die Eingabe von 4 Zeichen, Buchstaben oder Zahlen, das richtige Passwort lautet: 5466, dies ermöglicht Ihnen den Zugang zum Hauptmenü.
3. Nach Eingabe des richtigen Passworts erscheint das Hauptmenü mit 4 möglichen Optionen zum Navigieren durch die verschiedenen verfügbaren Funktionen.
· A – Geben Sie die Handynummern des Benutzers ein.
o Geben Sie 10 Ziffern ein, um einen Benutzer im System zu speichern
o Nachdem 10 Ziffern eingegeben wurden, drücken Sie „*“, um weitere Benutzer hinzuzufügen, oder drücken Sie „#“, um zum Hauptmenü zurückzukehren
· B – Gespeicherte Benutzer anzeigen
o Die Benutzer scrollen am Bildschirm vorbei, sie werden jeweils 3 Sekunden lang angezeigt, sobald alle Benutzer angezeigt werden, schließt sich die Seite und kehrt zum Hauptmenü zurück.
o Wenn in Menüoption A keine Benutzer hinzugefügt wurden, wird „KEINE GESPEICHERTE BENUTZER“angezeigt.
· C – Zeigt die Live-Temperatur an
o Drücken Sie „*“, um zum Hauptmenü zurückzukehren
· D – Kurztext anzeigen
o Zeigt den Namen des Erstellers und das Thema, für das es kompiliert wurde, mit Datum an.
Empfohlen:
So erstellen Sie ein Multiplayer-Spiel mit Arduino-Controllern – wikiHow
![So erstellen Sie ein Multiplayer-Spiel mit Arduino-Controllern – wikiHow So erstellen Sie ein Multiplayer-Spiel mit Arduino-Controllern – wikiHow](https://i.howwhatproduce.com/images/001/image-1089-17-j.webp)
So erstellen Sie ein Multiplayer-Spiel mit Arduino-Controllern: Haben Sie sich jemals gefragt, wie Spieleentwickler erstaunliche Spiele entwickeln, die Menschen weltweit gerne spielen? Nun, heute werde ich Ihnen nur einen kleinen Hinweis darauf geben, indem ich ein kleines Multiplayer-Spiel erstelle, das entweder von einer Arduino-Steuerung gesteuert wird
So fügen Sie IOT-Funktionen zu Ihren Projekten hinzu – wikiHow
![So fügen Sie IOT-Funktionen zu Ihren Projekten hinzu – wikiHow So fügen Sie IOT-Funktionen zu Ihren Projekten hinzu – wikiHow](https://i.howwhatproduce.com/images/007/image-19677-j.webp)
So fügen Sie Ihren Projekten IOT-Funktionen hinzu: Nichts ist besser, als ein DIY-Projekt zu erstellen, das ein kommerzielles Produkt ersetzt, das Sie für nützlich halten. Nun, eigentlich gibt es etwas Besseres. Hinzufügen von IOT-Fähigkeiten zu Ihrem Projekt. Wenn es um Automatisierung geht, flippen Anfänger in der Regel aus
Einen Morsecode-Übersetzer mit Arduino erstellen – wikiHow
![Einen Morsecode-Übersetzer mit Arduino erstellen – wikiHow Einen Morsecode-Übersetzer mit Arduino erstellen – wikiHow](https://i.howwhatproduce.com/images/009/image-24355-j.webp)
So erstellen Sie einen Morsecode-Übersetzer mit Arduino: ÜberblickDie Kommunikation auf codierte Weise ist nicht nur so faszinierend, sondern hat auch viele Anwendungen in verschiedenen Bereichen. Eine der gebräuchlichsten Methoden der Codekommunikation ist Morsecode. In diesem Tutorial erfahren Sie, wie Sie einen Dolmetscher zum Senden und Wiedergeben
So erstellen Sie Ihr eigenes Arduino-Board (xduino) – wikiHow
![So erstellen Sie Ihr eigenes Arduino-Board (xduino) – wikiHow So erstellen Sie Ihr eigenes Arduino-Board (xduino) – wikiHow](https://i.howwhatproduce.com/images/009/image-26342-j.webp)
So erstellen Sie Ihr eigenes Arduino-Board (xduino): Video ansehen
Einführung in Sweeping- und Modify-Funktionen: 9 Schritte
![Einführung in Sweeping- und Modify-Funktionen: 9 Schritte Einführung in Sweeping- und Modify-Funktionen: 9 Schritte](https://i.howwhatproduce.com/images/010/image-28826-j.webp)
Einführung in das Sweepen und Modifizieren von Features: Dieses Tutorial macht Sie mit den grundlegenden Sweep-Befehlen, Bohrungs-Features, Kreismuster, Verrundung, Fasen, Drehen und Wiederverwendung von Skizzen vertraut. Bitte greifen Sie für die technische Bemaßung auf das Zeichnungspaket zu und nutzen Sie die geräuschlosen Videos, um Ihnen bei der