Arduino Nano LCD Stoppuhr ohne Potentiometer
Komponenten und Verbrauchsmaterialien
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 3 | ||||
| × | 5 | ||||
| × | 1 | ||||
| × | 26 |
Über dieses Projekt
Hallo zusammen!
Dieses Projekt ist ein einfaches Lernprojekt für den Einstieg in LCD. In diesem Projekt verwende ich Arduino NANO und LCD QUAPASS 1602A 16x2. Diese Stoppuhr kann Stunden, Minuten und Sekunden zählen. Sie können auch die Helligkeit des LCD ändern.
Mit nur einer kleinen Codeänderung kann man auch Hundertstel zählen, aber bei meinem LCD funktioniert es nicht, da der Bildschirm nicht so schnell aktualisiert werden kann.
Ich habe fast perfekte Zeiten für meine Stoppuhr eingestellt (meine Stoppuhr hat eine Abweichung von etwa 15%, wenn Sie sie also wirklich 10 Minuten lang laufen lassen, sind es 10 Minuten und 2 Sekunden auf meiner Stoppuhr). Wenn Sie also etwas ändern möchten, ist das Start-Unterprogramm (im Programm-Unterprogramm namens stopwatch) Sie müssen auch die Timings aufgrund der Arduino-Ausführungszeit für jeden Code ändern.
Schritt 1
Verbinden Sie die Drähte so mit dem Arduino und dem LCD (schauen Sie sich an, was SCHEMATIC zeigt).
SCHRITT 2
Kopieren Sie meinen Code unten in Ihre Arduino-IDE und fügen Sie ihn ein. Und jetzt stecken Sie Ihr Arduino in ein USB-Laufwerk. Klicken Sie auf die Schaltfläche Hochladen und Ihr Programm sollte ausgeführt werden.
SCHRITT 3
Viel Spaß mit meiner einfachen und leicht herzustellenden LCD-Stoppuhr.
Wenn Sie Fragen haben, hinterlassen Sie sie in den Kommentaren.
Code
- Code
CodeArduino
Das ist der Code für meine Stoppuhr. Kopieren Sie es einfach in die Arduino IDE und laden Sie es auf Ihrem Arduino hoch./*Einfaches LCD-Stoppuhrprogramm mit Stopp-, Start-, Reset- und Runden-Tasten.*///inklusive Bibliothek für LCD#include//setting up LCD INPUT PinsLiquidCrystal lcd (12,11,5,4,3,2); // Stunden, Minuten, Sekunden und Millisekunden auf 0int h=0 einstellen; int m =0; int s =0; int ms=0; // definiert Pin für alle Buttonsconst int start_pin =8; const int stop1_pin =9; const int reset_pin =10; // definiert Startpunkte (in meinem Fall 0)int start=0; int stop1=0;int reset=0;int bright_pin =6; // Definiert Pin zum Einstellen von Helligkeitint Helligkeit =100; // Sie können diese Zahl ändern, um die Helligkeit zu ändern Void setup () { AnalogWrite (brightness_pin, Helligkeit); // dies setzt die Helligkeit an Pin 6 lcd.begin (16, 2); // LCD starten // Pins definieren, wenn es sich um INPUT- oder OUTPUT-Pins handelt PinMode (start_pin, INPUT); pinMode (stop1_pin, INPUT); pinMode (reset_pin, INPUT); pinMode (brightness_pin, OUTPUT);} Void Schleife () { lcd.setCursor (0, 1); lcd.print("STOPPUHR"); lcd.setCursor(0,0); lcd.print("ZEIT:"); lcd.print (h); lcd.print(":"); lcd.print (m); lcd.print(":"); lcd.print(s); start =digitalRead (start_pin); // Button-Zustand lesen if (start ==HIGH) { stopwatch (); // geht zur Stoppuhr des Unterprogramms } } //-------------------- UNTERPROGRAMME---------------- -------- Stoppuhr ungültig () { lcd.setCursor (0,0); // Startpunkt auf LCD setzen lcd.print("TIME:"); // Schreibzeit lcd.print (h); // Stunden schreiben lcd.print (":"); lcd.print (m); // Protokoll schreiben lcd.print (":"); lcd.print(s); // Sekunden schreiben ms =ms + 10; Verzögerung(10); wenn (ms==590) {lcd.clear(); // löscht LCD} if (ms ==590) // wenn Zustand zum Hochzählen von Sekunden { ms =0; s=s+1; } if (s ==60) // wenn Zustand zum Aufzählen der Minuten { s =0; m=m+1; aufrechtzuerhalten. Wenn (m ==60) // wenn Zustand zum Aufzählen von Stunden { m =00; h=h+01; } lcd.setCursor(0,1); lcd.print("STOPPUHR"); stop1 =digitalRead (stop1_pin); // Button-Zustand lesen if(stop1 ==HIGH) //Überprüfen, ob der Button gedrückt ist { stopwatch_stop(); // zum Unterprogramm gehen aufrechtzuerhalten. Else { Stoppuhr (); // zum Unterprogramm gehen}} stopwatch_stop () { lcd.setCursor (0,0); lcd.print("ZEIT:"); lcd.print (h); lcd.print(":"); lcd.print (m); lcd.print(":"); lcd.print(s); lcd.setCursor(0,1); lcd.print("STOPPUHR"); start =digitalRead (start_pin); // Button-Zustand lesen if (start ==HIGH) { stopwatch (); // zum Unterprogramm gehen} Reset =digitalRead (reset_pin); // Button-Zustand lesen if (reset ==HIGH) { stopwatch_reset (); // zur Unterprogrammschleife gehen (); } if (reset ==LOW) { stopwatch_stop (); // zum Unterprogramm gehen}} stopwatch_reset () {lcd.clear (); lcd.setCursor(0,1); lcd.print("STOPPUHR"); h=00; // Stunden auf 0 setzen m =00; // Minuten auf 0 setzen s=00; // Sekunden auf 0 setzen zurück; //Beenden des Programms und Rückkehr zu dem Punkt, an dem das Programm eingegeben wurde}
Bibliothek
Dies ist die Bibliothek, die Sie für LCD benötigen.https://github.com/arduino-libraries/LiquidCrystalSchaltpläne
Dies ist ein Schaltplan meiner Schaltung.Herstellungsprozess