Bouw een Betrouwbare LCD-stopwatch met Arduino Nano – Geen Potentiometer Nodig
Onderdelen en benodigdheden
| Breadboard (standaard) | × | 1 |
| Arduino Nano R3 | × | 1 |
| Adafruit Standaard LCD - 16x2 Wit op Blauw | × | 1 |
| SparkFun Drukknopschakelaar 12mm | × | 3 |
| Weerstand 10k ohm | × | 5 |
| Weerstand 221 ohm | × | 1 |
| Draadjes (standaard) | × | 26 |
Over dit project
Hallo allemaal! Dit project is een eenvoudige leeroefening om te beginnen met een LCD-scherm. Ik gebruik een Arduino Nano en een QUAPASS 1602A 16x2 LCD. De stopwatch telt uren, minuten en seconden. Je kunt ook de helderheid van het LCD aanpassen.
Met een kleine codewijziging kun je ook honderdsten tellen, maar mijn LCD scherm kan niet snel genoeg ververen om dat te ondersteunen.
Ik heb de timing van mijn stopwatch bijna perfect ingesteld (mijn stopwatch heeft ongeveer 15% afwijking: als je hem 10 minuten laat lopen, toont hij 10 minuten en 2 seconden). Als je iets wijzigt in de start-subroutine (in de stopwatch-functie), moet je de timings ook aanpassen vanwege de Arduino-uitvoeringstijd.
Stap 1: Aansluiten
Sluit de draden aan op de Arduino en het LCD volgens het schema.
Stap 2: Code uploaden
Kopieer de onderstaande code in de Arduino IDE, sluit je Arduino aan via USB en klik op Upload.
Stap 3: Genieten!
Veel plezier met deze eenvoudige en makkelijk te bouwen LCD-stopwatch. Heb je vragen? Laat een reactie achter.
Code
Dit is de code voor de stopwatch. Kopieer het in de Arduino IDE en upload het naar je Arduino.
/* Eenvoudig LCD-stopwatch programma met stop, start, reset en lap knoppen. */
#include <LiquidCrystal.h>
// LCD-pinnen instellen
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// Tijdvariabelen
int h = 0, m = 0, s = 0, ms = 0;
// Knoppen pinnen
const int start_pin = 8;
const int stop_pin = 9;
const int reset_pin = 10;
const int brightness_pin = 6;
int brightness = 100; // Helderheid (0-255)
void setup() {
analogWrite(brightness_pin, brightness);
lcd.begin(16, 2);
pinMode(start_pin, INPUT);
pinMode(stop_pin, INPUT);
pinMode(reset_pin, INPUT);
pinMode(brightness_pin, OUTPUT);
}
void loop() {
lcd.setCursor(0, 1);
lcd.print("STOPWATCH");
lcd.setCursor(0, 0);
lcd.print("TIJD:");
lcd.print(h); lcd.print(":");
lcd.print(m); lcd.print(":");
lcd.print(s);
if (digitalRead(start_pin) == HIGH) {
stopwatch();
}
}
void stopwatch() {
lcd.setCursor(0, 0);
lcd.print("TIJD:");
lcd.print(h); lcd.print(":");
lcd.print(m); lcd.print(":");
lcd.print(s);
ms += 10;
delay(10);
if (ms == 590) {
lcd.clear();
ms = 0;
s++;
}
if (s == 60) { s = 0; m++; }
if (m == 60) { m = 0; h++; }
lcd.setCursor(0, 1);
lcd.print("STOPWATCH");
if (digitalRead(stop_pin) == HIGH) {
stopwatch_stop();
} else {
stopwatch();
}
}
void stopwatch_stop() {
lcd.setCursor(0, 0);
lcd.print("TIJD:");
lcd.print(h); lcd.print(":");
lcd.print(m); lcd.print(":");
lcd.print(s);
lcd.setCursor(0, 1);
lcd.print("STOPWATCH");
if (digitalRead(start_pin) == HIGH) {
stopwatch();
}
if (digitalRead(reset_pin) == HIGH) {
stopwatch_reset();
} else {
stopwatch_stop();
}
}
void stopwatch_reset() {
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("STOPWATCH");
h = 0; m = 0; s = 0;
return;
}
Benodigde bibliotheek
Je hebt de LiquidCrystal-bibliotheek nodig: GitHub-link
Schema
Dit is het schema van de schakeling. Zie de afbeelding in het originele project.
Productieproces
- Bouw een 20 kHz Arduino Oscilloscoop op een Nokia 5110 LCD – Eenvoudige DIY Handleiding
- Slimme Jaloezieën: Geautomatiseerd Lichtbeheer met Arduino & Zonne-energie
- Een Arduino Iron Man bouwen: onderdelen, sensoren en stapsgewijze handleiding
- Een eenvoudige obstakelsensor bouwen met Arduino – IR LED & Fotodiodo Tutorial
- Find Me: Slimme Item Locator met Arduino en Bluetooth
- DIY Arduino Luchtbevochtiger Controller met Relais – Veilige Hoogspanningsopstelling
- Zelfbouw Arduino Nano Oscilloscoop (10 Hz – 50 kHz) met 128×64 LCD
- Bouw een Aangepaste Arduino Joystick Stuurwiel voor Gaming
- Arduino 101: Bouw een teller met DHT11 sensor & LCD display
- Bouw een Arduino RGB Kleur Mixer – Stap-voor-stap Handleiding
- Bouw een AI LCD-maatje: Jouw interactieve vriend