Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

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

  1. Bouw een 20 kHz Arduino Oscilloscoop op een Nokia 5110 LCD – Eenvoudige DIY Handleiding
  2. Slimme Jaloezieën: Geautomatiseerd Lichtbeheer met Arduino & Zonne-energie
  3. Een Arduino Iron Man bouwen: onderdelen, sensoren en stapsgewijze handleiding
  4. Een eenvoudige obstakelsensor bouwen met Arduino – IR LED & Fotodiodo Tutorial
  5. Find Me: Slimme Item Locator met Arduino en Bluetooth
  6. DIY Arduino Luchtbevochtiger Controller met Relais – Veilige Hoogspanningsopstelling
  7. Zelfbouw Arduino Nano Oscilloscoop (10 Hz – 50 kHz) met 128×64 LCD
  8. Bouw een Aangepaste Arduino Joystick Stuurwiel voor Gaming
  9. Arduino 101: Bouw een teller met DHT11 sensor & LCD display
  10. Bouw een Arduino RGB Kleur Mixer – Stap-voor-stap Handleiding
  11. Bouw een AI LCD-maatje: Jouw interactieve vriend