Paso 3: Configurar el script de perl
#! / usr/bin/perl
Esta sería la ubicación de su intérprete de perl. Más código:
Use Unix::Processors;
Use Device::SerialPort;
Use Math::Round;
Todas estas son librerías que necesita. La primera le permite al reloj del procesador. La siguiente le permite escribir al puerto serie, y el último te permite redondear números.
Ahora, agregue:
mi $arduino = Device::SerialPort -> new("/dev/ttyACM0"); #Should ser el puerto en su Arduino
$arduino -> databits(8);
$arduino -> baudrate(9600); #Should ser tasa de baudios de tu Arduino
$arduino -> parity("none");
$arduino -> stopbits(1);
Todas estas cosas inicializan la conexión con Arduino. Usted debe cambiar lo que hay que cambiar para que se ajuste a sus necesidades.
mi $processor = new Unix::Processors; Procesador de #Your
$overallspeed = $processor -> max_clock; #Clocks se
$send = ((($overallspeed-800) / 175.125) + 1); # 800 = velocidad mínima de reloj. 175.125 = velocidad de reloj máxima / número de leds
Este trozo de código relojes del procesador y la pone en una escala entre 1 y 7. Algunas cosas necesitan ser cambiadas, como su velocidad de reloj mínima de procesadores, y su máximo dividido por el número de leds. Para este proyecto, hay 8 LED ' s.
Por último, añadir:
$arduino -> write(round($send)); #Rounds el número y lo envía a tu Arduino
Este código es la encargada de enviar a Arduino.
Guardar este código como clockandsend.pl
Ahora, este reloj sólo voluntad y enviar un número. Quieres crear otro script para ejecutar éste una y otra vez. Por ejemplo:
#! / usr/bin/perl
mientras (1)
{
System("/path/clockandsend.pl");
}
Sólo cambia "/ path /" a cualquiera que sea el camino realmente es.
Guardo como loop.pl.
Es para el perl!