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

Betrouwbare Arduino Keukentimer met LCD-scherm Bouwen

Onderdelen en Benodigdheden

Arduino UNO × 1
Adafruit Standaard LCD - 16x2 Wit op Blauw × 1
SparkFun Drukknop 12 mm × 4
Weerstand 10 kΩ × 4
Weerstand 220 Ω × 2
Enkelvoudige Draaipotentiometer 100 kΩ × 1
Buzzer × 1
Experimenteerbord (standaard) × 1
Draadbruggen (standaard) × 1

Over dit Project

Deze keukentimer is volledig zelfgebouwd met een Arduino. Het toont niet alleen hoe een commerciële timer werkt, maar biedt ook de vrijeheid om functionaliteit uit te breiden.

Hoe het Werkt: Vier Modi

De timer werkt in één van vier modi:

  • IDLE – Wacht op invoer; toont de ingestelde tijd (startmodus na reset).
  • SETUP – Activeren door S4 (resetknop) lang ingedrukt te houden. Met S3 (start/stop) kies je uren, minuten of seconden. S1 (omhoog) en S2 (omlaag) passen de waarde aan.
  • RUNNING – Start met S3. Stoppen kan met S3 of S4 (terug naar IDLE).
  • RINGING – Activeert automatisch wanneer de tijd verstreken is. Elke knop stopt het geluid en keert terug naar IDLE.

Code-structuur

De sketch gebruikt LiquidCrystal.h en Paul Stoffregens TimeLib.h. Belangrijke blokken:

  1. Knopdetectie – digitalRead met flankdetectie (vergelijking met vorige staat). Alle knoppen hebben 10 kΩ pull-down-weerstanden.
  2. Modusbeheer – Een switch(currentMode) stuurt de toestandsovergangen.
  3. Tijdbeheer – In RUNNING-modus wordt currentTime = setupTime - (now() - startTime) berekend. Bij ≤ 0 schakelt de timer naar RINGING.
  4. LCD-beheer – Per modus worden de juiste teksten op de juiste positie geprint.

Belangrijk Code-fragment (IDLE-modus)

case MODE_IDLE:
  if (resetButtonPressed) Reset();
  if (resetButtonLongPressed) currentMode = MODE_SETUP;
  if (startStopButtonPressed) {
    currentMode = (currentMode == MODE_IDLE) ? MODE_RUNNING : MODE_IDLE;
    if (currentMode == MODE_RUNNING) startTime = now();
  }
  break;

Schema & Aansluiting

De schakeling gebruikt standaard pull-down configuratie: elke knop verbindt de ingresspin met 5 V bij indrukken; de 10 kΩ weerstand houdt de pin anders laag. Het schema toont de aansluitingen voor LCD (pinnen 12, 11, 5, 4, 3, 2), buzzer (pin 10) en de vier knoppen (pinnen 6–9).

Complete Code

/**************************************************
 * Arduino Keukentimer v1.0 - 2016/01/27
 * Angelo Fiorillo (Rome, IT) - GPL3+
 **************************************************/
#include <LiquidCrystal.h>
#include <TimeLib.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int buzzerPin = 10;
const int resetButtonPin = 6;
const int startStopButtonPin = 7;
const int downButtonPin = 8;
const int upButtonPin = 9;

// Variabelen voor tijdinstelling, modi, knopstatussen, etc.
const int MODE_IDLE = 0, MODE_SETUP = 1, MODE_RUNNING = 2, MODE_RINGING = 3;
int currentMode = MODE_IDLE;

void setup() {
  lcd.begin(16, 2);
  pinMode(resetButtonPin, INPUT);
  pinMode(startStopButtonPin, INPUT);
  pinMode(upButtonPin, INPUT);
  pinMode(downButtonPin, INPUT);
  pinMode(buzzerPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  // Knoppen uitlezen met flankdetectie...
  // Modus-switch...
  // Tijd berekenen...
  // LCD bijwerken...
  delay(10);
}

void Reset() {
  currentMode = MODE_IDLE;
  currentHours = setupHours;
  currentMinutes = setupMinutes;
  currentSeconds = setupSeconds;
}

De volledige, gecommentarieerde code is beschikbaar in de originele bron. Let op: TimeLib.h vereist installatie via de Arduino Library Manager.

Productieproces

  1. Slimme Plantenalarmer – DIY Sensor voor Optimale Hydratatie
  2. Bouw een 20 kHz Arduino Oscilloscoop op een Nokia 5110 LCD – Eenvoudige DIY Handleiding
  3. Slimme Jaloezieën: Geautomatiseerd Lichtbeheer met Arduino & Zonne-energie
  4. Bouw een Italiaanse Woordklok met Arduino Nano, NeoPixel, LCD en RTC
  5. Bouw een Betrouwbare Arduino Afteltimer met SparkFun 7‑Segment Display
  6. Bouw een Betrouwbare Sigfox kWh Meter met Arduino MKR Fox 1200
  7. Bluetooth Temperatuurmeter met Arduino Nano
  8. Contactloos Gebaarslot: Veilige toegang met APDS-9960 en Arduino
  9. Arduino Nano Companion Kit – Essentiële Componenten & Hulpmiddelen voor DIY Electronica
  10. Geïsoleerde analoge ingangsschakeling voor Arduino bouwen
  11. Precisie Reactietijd Test met Arduino UNO