Kassaapparat klocka (VFD Display) (8 / 8 steg)
Steg 8: Förutsättningar att bli en enkel klocka
Bara för att få något "MADE". Jag gjorde en snabb klockprogram använda displayen. Detta är Perlkod använder Linux/dev/ttyUSB0 seriellt gränssnitt.
Använd strikt;
Använd FileHandle;
använda konstant {
DIM = > 0x04, ## ljusreglering
DP = > 0x10, ## Visa Position
CLR = > 0x0D, ## klart
ALD = > 0x0F, ## alla Display (testläge)
BLK = > 0x0A, ## blinkar (inte verkar fungera)
SCR = > 0x0B, ## Scroll (inte heller fungerar..)
};
##usb seriell enhet (FTDIFriend från adafruit.)
min $deviceFn = "/ dev/ttyUSB0";
sub dateString
{
min ($sec, $min, $hr, $day, $mon, $year) = localtime;
returnera sprintf ("%04d/%02d/%02d",
1900 + $year, $mon + 1, $day);
}
sub timeString
{
min ($sec, $min, $hr) = localtime;
returnera sprintf ("% 02d: % 02d: % 02d", $hr, $min, $sec);
}
min $clockTemplate = "%s\n %s";
min $fh = ny FileHandle;
$fh -> Öppna (">". $deviceFn) || Die "kunde inte öppna serieporten";
$fh -> autoflush();
min = (DP, 0x05);
min = (DP, 0x19);
min = (DP, 0x05);
##update tiden varje sekund...
##update datum mindre ofta
min $dateTrigger = 0;
While(1)
{
IF($dateTrigger == 20)
{
$fh -> print (pack ("C *',
$fh -> print(dateString());
$dateTrigger = 0;
}
$dateTrigger ++;
$fh -> print (pack ("C *',
$fh -> print(timeString());
$fh -> print (pack ("C *',
Sleep(1);
}