Stap 3: Instellen van het perlmanuscript
#! / usr/bin/perl
Dit zou de plaats van uw perl interpreter. Meer code:
gebruik van Unix::Processors;
gebruik van Device::SerialPort;
gebruik van Math::Round;
Al deze zijn bibliotheken die u nodig hebt. U kunt in de eerste klok van de processor. De volgende kunt u om te schrijven naar de seriële poort, en de laatste kunt u getallen afronden.
Nu, voeg toe:
mijn $arduino = Device::SerialPort -> new("/dev/ttyACM0"); #Should worden de poort die je Arduino brandt
$arduino -> databits(8);
$arduino -> baudrate(9600); #Should worden van je Arduino baud-rate
$arduino -> parity("none");
$arduino -> stopbits(1);
Al deze dingen initialiseren van de verbinding met de Arduino. U moet veranderen wat veranderd moet worden zodat het past bij uw behoeften.
mijn $processor = nieuwe Unix::Processors; #Your processor
$overallspeed = $processor -> max_clock; #Clocks het
$send = ((($overallspeed-800) / 175.125) + 1); # 800 = minimale kloksnelheid. 175.125 = max kloksnelheid / aantal leds
Dit blok van code klokken de bewerker en zet het op een schaal tussen 1 en 7. Sommige dingen moeten worden gewijzigd, zoals uw minimale kloksnelheid van processoren, en uw max gedeeld door het aantal leds. Voor dit project is er 8 leds.
Ten slotte, voeg toe:
$arduino -> write(round($send)); #Rounds het nummer, en zend deze naar uw Arduino
Deze code is verantwoordelijk voor het sturen naar de Arduino.
Sla alle die code op als clockandsend.pl
Nu, dit zal enige klok en één nummer verzenden. U wilt een ander script voor het uitvoeren van dit een over en over opnieuw maken. Bijvoorbeeld:
#! / usr/bin/perl
terwijl (1)
{
System("/Path/clockandsend.pl");
}
Verander enkel "/ pad /" ongeacht het pad eigenlijk is.
Ik zou die opslaan als loop.pl.
Dat is het voor de perl!