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

Arduino Nano LCD-stopwatch zonder potentiometer

Componenten en benodigdheden

Broodplank (algemeen)
× 1
Arduino Nano R3
× 1
Adafruit Standaard LCD - 16x2 Wit op Blauw
× 1
SparkFun Drukknopschakelaar 12 mm
× 3
Weerstand 10k ohm
× 5
Weerstand 221 ohm
× 1
Jumperdraden (algemeen)
× 26

Over dit project

Hallo allemaal!

Dit project is een eenvoudig leerproject om met LCD te beginnen. In dit project gebruik ik Arduino NANO en LCD QUAPASS 1602A 16x2. Deze stopwatch kan uren, minuten en seconden tellen. U kunt ook de helderheid van het LCD-scherm wijzigen.

Met slechts een kleine codewisseling kun je ook honderdsten tellen, maar mijn LCD werkt niet omdat het scherm niet zo snel kan verversen.

Ik heb bijna perfecte timings ingesteld voor mijn stopwatch (mijn stopwatch heeft een afwijking van ongeveer 15%, dus als je hem echt 10 minuten laat lopen, zijn het 10 minuten en 2 seconden op mijn stopwatch). Dus als je iets gaat veranderen is het start-subprogramma (in het programma-subprogramma genaamd stopwatch) je zult ook de timings moeten veranderen vanwege de Arduino-uitvoeringstijd op elke code.

STAP 1

Sluit de draden op deze manier aan op de Arduino en het LCD-scherm (kijk naar wat SCHEMATIC laat zien).

STAP 2

Kopieer en plak mijn code hieronder in je Arduino IDE. En sluit nu uw Arduino aan op een USB-station. Klik op de uploadknop en je programma zou moeten werken.

STAP 3

Veel plezier met mijn eenvoudige en gemakkelijk te maken LCD-stopwatch.

Als je vragen hebt, laat het dan in de reacties achter.

Code

  • Code
CodeArduino
Dit is de code voor mijn stopwatch. Kopieer het gewoon in Arduino IDE en upload het naar uw Arduino.
/*Eenvoudig LCD-stopwatchprogramma met stop-, start-, reset- en lap-knoppen.*///inclusief bibliotheek voor LCD#include  //setting up LCD INPUT pinnen LiquidCrystal lcd (12,11,5,4,3,2);// uren, minuten, seconden en milliseconden instellen op 0int h=0; intm=0; int s=0; int ms=0; //definieert pin voor alle buttonsconst int start_pin =8; const int stop1_pin =9; const int reset_pin =10; //definieert startpunten (in mijn geval 0) int start=0; int stop1=0;int reset=0;int helderheid_pin =6; // definieert pin voor het instellen van helderheidint helderheid =100; // u kunt dit nummer wijzigen om de helderheid void setup () {analogalWrite (brightness_pin, helderheid) te wijzigen; //dit stelt de helderheid in op pin 6 lcd.begin (16,2); //begin LCD // pinnen definiëren als ze INPUT- of OUTPUT-pinnen zijn pinMode (start_pin, INPUT); pinMode (stop1_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.afdruk(m); lcd.print(":"); lcd.afdruk(ken); start =digitalRead (start_pin); // leesknopstatus if (start ==HOOG) { stopwatch (); //gaat naar de stopwatch van het subprogramma } } //-------------------- SUB-PROGRAMMA'S----------------- -------- ongeldige stopwatch(){ lcd.setCursor(0,0); //startpunt instellen op lcd lcd.print ("TIME:"); //Writing TIME lcd.print(h); //schrijfuren lcd.print(":"); lcd.afdruk(m); //schrijfminuten lcd.print(":"); lcd.afdruk(ken); //seconden schrijven ms=ms+10; vertraging(10); if(ms==590) { lcd.clear(); //wist LCD} if (ms==590) //if staat voor het optellen van seconden {ms=0; s=s+1; } if(s==60) //if staat voor het optellen van minuten {s=0; m=m+1; } if(m==60) //if staat voor het optellen van uren {m=00; h=h+01; } lcd.setCursor(0,1); lcd.print("STOPWATCH"); stop1 =digitalRead (stop1_pin); // lezen knopstatus if (stop1 ==HOOG) // controleren of knop is ingedrukt { stopwatch_stop (); //ga naar subprogramma } else { stopwatch(); //ga naar subprogramma }}void stopwatch_stop(){ lcd.setCursor(0,0); lcd.print("TIJD:"); lcd.print(h); lcd.print(":"); lcd.afdruk(m); lcd.print(":"); lcd.afdruk(ken); lcd.setCursor(0,1); lcd.print("STOPWATCH"); start =digitalRead (start_pin); // leesknopstatus if (start ==HOOG) { stopwatch (); //ga naar subprogramma} reset =digitalRead (reset_pin); // leesknopstatus if (reset ==HOOG) { stopwatch_reset (); //ga naar subprogramma loop(); } if(reset ==LAAG) { stopwatch_stop(); //ga naar subprogramma }}void stopwatch_reset(){ lcd.clear(); lcd.setCursor(0,1); lcd.print("STOPWATCH"); h=00; //uur instellen op 0 m=00; // minuten instellen op 0 s=00; // seconden instellen om terug te keren naar 0; // het programma afsluiten en terugkeren naar het punt waar het programma is ingevoerd}
Bibliotheek
Dit is de bibliotheek die je nodig hebt voor LCD.https://github.com/arduino-libraries/LiquidCrystal

Schema's

Dit is een schema van mijn circuit.

Productieproces

  1. DIY Eenvoudige 20 kHz Arduino-oscilloscoop op Nokia 5110 LCD
  2. Slimme jaloezieën
  3. Iron Man
  4. Eenvoudige obstakelsensor met Arduino
  5. Vind mij
  6. Arduino-luchtbevochtigerbediening
  7. DIY 10Hz-50kHz Oscilloscoop op 128x64 LCD-scherm
  8. Arduino-joystick
  9. Stappenteller (Arduino 101)
  10. Arduino kleurenmixer
  11. AI LCD-vriend!