Inhaltsverzeichnis:
- Schritt 1: Anleitung zum Anschluss
- Schritt 2:
- Schritt 3:
- Schritt 4:
- Schritt 5:
- Schritt 6:
- Schritt 7:
- Schritt 8:
- Schritt 9: Programmieranweisungen
- Schritt 10:
- Schritt 11:
- Schritt 12:
- Schritt 13:
- Schritt 14:
Video: Arduino-Wecker-Projekt - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
In diesem Projekt verwenden wir das Arduino Uno, um einen LCD-Bildschirm zu steuern, um die aktuelle Uhrzeit und die Uhrzeit anzuzeigen, für die ein Alarm eingestellt ist. Wir verwenden Tasten, um jedes Mal einzustellen.
Materialien:
- Arduino Uno -
- Steckbrett -
- Steckbrücken (x13+) -
- 10 kOhm Widerstände (x4) -
- LCD-Bildschirm -
- 7 Tasten -
- Piezo-Lautsprecher -
Schritt 1: Anleitung zum Anschluss
1. Verbinden Sie ein Überbrückungskabel vom 5V-Pin des Arduino mit einer der + Schienen auf dem Steckbrett.
Schritt 2:
2. Verbinden Sie ein Überbrückungskabel vom GND-Pin des Arduino mit der - Schiene neben der + Schiene, die Sie auf dem Steckbrett gewählt haben.
Schritt 3:
3. Verbinden Sie den LCD-Bildschirm mit Strom, Masse und dem TX-Pin (Pin 1).
Schritt 4:
4. Platzieren Sie 7 Knöpfe auf dem Steckbrett mit den Beinen über die Lücke im Steckbrett.
Schritt 5:
5. Platzieren Sie 10 kOhm-Widerstände von der - Schiene mit dem damit verbundenen GND-Pin auf die unteren linken Pins der Tasten.
Schritt 6:
6. Platzieren Sie die Überbrückungsdrähte zwischen dem unteren rechten Stift der Tasten und der 5V-Schiene auf Ihrem Steckbrett.
Schritt 7:
7. Platzieren Sie die Überbrückungsdrähte zwischen den Pins 6, dann 8-13 und dem Pin auf dem Knopf, mit dem der Widerstand verbunden ist.
Schritt 8:
8. Als nächstes platzieren Sie Ihren Piezo-Lautsprecher auf dem Steckbrett und verbinden Pin 7 mit dem Power-Pin, dann einen 100-Ohm-Widerstand mit Masse.
Schritt 9: Programmieranweisungen
1. Übersicht: Dieses Projekt fordert den Benutzer auf, die aktuelle Uhrzeit beim ersten Einschalten auf dem Display einzustellen, die aktuelle Uhrzeit und die Uhrzeit, für die der Alarm eingestellt ist. Die oben angeschlossenen Tasten werden jedes Mal zur Einstellung verwendet. Von links nach rechts: aktuelle Stunde einstellen, aktuelle Minute einstellen, aktuelles AM oder PM einstellen, Alarmstunde einstellen, Alarmminute einstellen, Alarm AM oder PM einstellen. Die letzte Taste wird verwendet, um den Alarm stumm zu schalten, wenn er ertönt.
Schritt 10:
2. Als erstes müssen wir unsere Variable initialisieren, die wir verwenden werden.
// Zu verwendende Variablen initialisierenint hour = 0; // Stunde für aktuelle Zeit int minute = 0; //
Minute für aktuelle Zeit int Sekunde = 0; // Sekunde für aktuelle Uhrzeit
int Stunde_a = 0; int // Stunde für Weckzeit
minute_a = 0; // Minute für Weckzeit
bool am_pm = false; // AM/PM-Umschaltflag. Falsch ist AM, Wahr ist PM
bool am_pm_a = false; // AM/PM Toggle Flag für Alarm. Falsch ist AM, Wahr ist PM
int set_hr = 13; // Verwenden Sie Pin 13, um die Stunde einzustellen
int set_min = 12; // Verwenden Sie Pin 12, um die Minute int einzustellen
set_am_pm = 11; // Verwenden Sie Pin 11, um am/pm. einzustellen
int set_hr_a = 10; // Verwenden Sie Pin 10, um die Stunde für den Alarm einzustellen Int set_min_a = 9; // Verwenden Sie Pin 9, um die Minute für den Alarm einzustellen Int set_am_pm_a = 8; // Verwenden Sie Pin 8, um am / pm für den Alarm einzustellen
int-Lautsprecher = 7; // Pin für Speakerint quiet = 6; // Pin, um den Lautsprecher zu stoppen
bool alarm = falsch; // Flag zum Umschalten, um weiterhin alarmierend zu sein
bool quieted = false; // Flagge, die Ruhe anzeigt, wurde nicht gedrückt
int cur_time = 0; // Variable für aktuelle Uhrzeit
int zeit = 0; // Variable für verstrichene Zeit
Schritt 11:
3. Als nächstes müssen wir den LCD-Bildschirm einrichten und den Benutzer auffordern, die aktuelle Uhrzeit einzustellen. Da dies nur einmal gemacht werden muss, werden wir dies in der Setup-Routine tun.
Leere Einrichtung () {
// LCD-Bildschirm einrichten
Serial.begin (9600); // Seriell mit 9600 Baud initialisieren
Serial.write(17); // Schalten Sie die Hintergrundbeleuchtung ein
Serial.write(24); // Schalten Sie das Display ein, mit Cursor und ohne Blinken
Serial.write (12); // Löschen Sie den Bildschirm
Serial.write(128); // Cursor in die linke obere Ecke bewegen // PinModes setzen pinMode(set_hr, EINGANG); pinMode (set_min, INPUT);
pinMode (set_am_pm, INPUT);
pinMode (set_hr_a, INPUT);
pinMode (set_min_a, INPUT);
pinMode (set_am_pm_a, INPUT);
pinMode (Lautsprecher, AUSGANG);
pinMode (leise, EINGANG);
// Beim ersten Einschalten muss der Benutzer die aktuelle Uhrzeit einstellen. Serial.print ("Stellen Sie die aktuelle Uhrzeit ein"); Verzögerung (2000);
Serial.write (12);
printTimes();
cur_time = millis(); // Aktuelle Uhrzeit speichern}
Schritt 12:
4. Dann verfolgen wir in der Schleifenroutine die Zeit und lesen den Status der Schaltflächen, um zu sehen, ob der Benutzer eine der Zeiten einstellt.
Leere Schleife () {
// Achte auf die Zeit
achte auf die Zeit();
// Überprüfe, ob es Zeit für einen Alarm ist!
if((Stunde == Stunde_a && Minute == Minute_a && !still) || Alarm){Ton (Lautsprecher, 2000, 500); // Ausgabe eines 2000-Hz-Tons an den Lautsprecher für 500 ms
Verzögerung (500); // Verzögerung 500 ms if(!alarm){ // Wenn der Alarm ausgeschaltet ist, schalten Sie ihn ein
}
}
// Wenn der Benutzer den Alarm durch Drücken der Ruhetaste stummschaltet, hören Sie auf zu alarmieren if(alarm && !quieted && digitalRead(quiet)){
Alarm = falsch;
ruhig = wahr; }
// Alarm zurücksetzen if(!alarm && quieted && minute != minute_a){ quieted = false;
}
// Überprüfen Sie, ob die gesetzten Pins hoch gehen, und erhöhen Sie in diesem Fall den entsprechenden Wertif (digitalRead (set_hr) && Stunde < 12) {
Stunde++;
printTimes();
entprellen();
}
sonst if (digitalRead (set_hr) && Stunde == 12) { Stunde = 1;
printTimes();
entprellen();
}
anders{}
if(digitalRead(set_min) && minute <59){
minute++;printTimes();
entprellen();
}
Sonst wenn (digitalRead (set_min) && Minute == 59) { Minute = 0;
printTimes();
entprellen();
}
else{}if(digitalRead(set_am_pm) && am_pm){
am_pm = falsch;
printTimes();
entprellen();
}
else if (digitalRead(set_am_pm) && !am_pm){ am_pm = true;printTimes();
entprellen();
}
else{}if(digitalRead(set_hr_a) && hour_a <12){
Stunde_a++;
printTimes();
entprellen();
}
sonst if (digitalRead (set_hr_a) && hour_a == 12) {hour_a = 1;
printTimes();
entprellen();
}
else{}if(digitalRead(set_min_a) && minute_a <59){
minute_a++;
printTimes();
entprellen();
}
sonst if (digitalRead (set_min) && minute_a == 59) {minute_a = 0;
printTimes();
entprellen();
}
else{}if(digitalRead(set_am_pm_a) && am_pm_a){
am_pm_a = falsch;
printTimes();
entprellen();
}
else if (digitalRead(set_am_pm_a) && !am_pm_a){am_pm_a = true;
printTimes();
entprellen();
}
anders{}
}
Schritt 13:
5. Hier werden Sie einige Subroutinen bemerken, die ich erstellt habe - debounce() und printTimes(). Debounce() wird verwendet, um sicherzustellen, dass die Schaltflächen nur einmal gelesen werden. Da der Arduino Tausende von Malen pro Sekunde scannt, kann es sein, dass die Taste mehrmals gedrückt wurde, wenn Sie sie nur einmal lesen wollten. Debounce() friert das Programm ein, bis die Taste losgelassen wird. printTimes() aktualisiert den LCD-Bildschirm, aber da dies mehrere Befehle waren, habe ich sie einmal eingegeben und kann dann die Unterroutine jederzeit aufrufen, wenn sich ein Zeitwert ändert.
// Während eine der Tasten gedrückt wird, bleiben Sie in dieser Funktion und verzögern Sie dann 250 ms.
Leere Entprellung () {
while(digitalRead(set_hr) || digitalRead(set_min) ||
digitalRead(set_am_pm) || digitalRead(set_hr_a) ||
digitalRead(set_min_a) || digitalRead (set_am_pm_a)) {} Verzögerung (250);
}
// Gibt die aktualisierten Zeiten aus, wenn es Änderungen gibt
void printTimes(){
Serial.write (12);
Serial.print ("Aktuelle Zeit:");
Serial.write(148);
wenn (Stunde < 10){
Serial.print("0");
}
Serial.print (Stunde);
Serial.print (":");
wenn (Minute < 10){
Serial.print("0");
}
Serial.print (Minute); Serial.print (":");
wenn (zweite < 10) {
Serial.print("0");
}
Serial.print (zweite);
wenn (am_pm){
Serial.print ("PM");
}
anders{
Serial.print ("AM");
}
Serial.write(168);
Serial.print ("Alarm eingestellt für:");
Serial.write(188);
if(Stunde_a < 10){
Serial.print("0");
}
Serial.print (hour_a);
Serial.print (":");
if(minute_a < 10){
Serial.print("0");
}
Serial.print (minute_a);
wenn (am_pm_a){
Serial.print ("PM");
}
anders{
Serial.print ("AM");
}
}
// Erhöhen Sie die Zeitparameter void
achte auf die Zeit(){
etime = millis() - cur_time;
if(etime >= 1000 && Sekunde <59){
zweite++;
cur_time = millis();
printTimes();
}
sonst if (etime >= 1000 && sekunde == 59 && minute <59) { sekunde = 0;
Minute++;
cur_time = millis();
printTimes();
}
else if(etime >= 1000 && Sekunde == 59 && Minute == 59 && Stunde <12){
Sekunde = 0; Minute =
0; Stunde++; cur_time =
Millis(); printTimes();
}
else if(etime >= 1000 && Sekunde == 59 && Minute == 59 && Stunde == 12){
Sekunde = 0; Minute =
0; Stunde = 1; am_pm =
!am_pm;
cur_time = millis();
printTimes();
}
anders{}
}
Schritt 14:
6. Das ist es!
Kompilieren und hochladen und fertig!
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