Visuella dator Stress mätare - Arduino (3 / 6 steg)
Steg 3: Ställa in perl-skript
#! / usr/bin/perl
Detta skulle vara platsen för din perl-tolken. Mer kod:
Använd Unix::Processors;
Använd Device::SerialPort;
Använd Math::Round;
Alla dessa är bibliotek du behöver. Först kan du att klocka processorn. Nästa kan du skriva till den seriella porten, och sist kan du runda tal.
Lägg till:
min $arduino = Device::SerialPort -> new("/dev/ttyACM0"); #Should vara den hamn din Arduino på
$arduino -> databits(8);
$arduino -> baudrate(9600); #Should vara din Arduino baudhastighet
$arduino -> parity("none");
$arduino -> stopbits(1);
Alla dessa saker initiera anslutningen med Arduino. Du bör ändra vad som behöver ändras för att passa dina behov.
min $processor = ny Unix::Processors; #Your processor
$overallspeed = $processor -> max_clock; #Clocks det
$send = ((($overallspeed-800) / 175.125) + 1); # 800 = minsta klockfrekvens. 175.125 = max klockfrekvens / antal lysdioder
Denna del av koden stämplar processorn och sätter det på en skala mellan 1 och 7. Vissa saker måste ändras, till exempel din processorer minsta klockfrekvens, och din max dividerat med antalet lysdioder. För detta projekt finns det 8 lysdioder.
Slutligen Lägg till:
$arduino -> write(round($send)); #Rounds antal, och skickar det till din Arduino
Denna kod är uppdrag att skicka det till Arduino.
Spara all den kod som clockandsend.pl
Nu, här kommer enda klocka och skicka ett nummer. Du vill skapa ett annat skript för att köra en över och över igen. Till exempel:
#! / usr/bin/perl
samtidigt (1)
{
system("/Path/clockandsend.pl");
}
Bara ändra "/ sökväg /" till vad vägen faktiskt är.
Jag skulle spara som loop.pl.
Det var allt för perl!