آیا تا به حال خواسته اید، بدون اینکه از تلاش خود برای کلاک کردن پردازنده خود دوری کنید، ببینید رایانه شما تحت چه میزان استرس است؟ با این پروژه شما یک نمودار میله ای ساده خواهید داشت که به طور مداوم نشان می دهد کامپیوتر شما تحت چه میزان استرس است. اگر نمودار 0 را نشان دهد، رایانه شما زیاد کار نمی کند. اگر عدد 8 را نشان دهد، بالاترین، کامپیوتر شما بسیار سخت کار می کند و احتمالاً باید بار بیشتری به آن بدهید. این آموزش از راه دور آسان است، به این معنی که یک مبتدی باید بتواند آن را به خوبی دنبال کند. بالاخره من خودم مبتدی هستم.
این آموزش برای کاربران یونیکس اینترن شده است. اگر درست می گویم، تغییرات کوچک باید به آن اجازه دهد تا روی ویندوز کار کند. شاید روزی برای کاربران ویندوز دوباره بنویسم.
مرحله 1: چگونه کار می کند
ممکن است تعجب کنید که در این مرحله، قبل از شروع کار، چگونه کار می کند. تمام کارهای واقعی با اسکریپت پرل انجام می شود.
1. یک اسکریپت پرل پردازنده را کلاک می کند.
2. اسکریپت از آن عدد برای بدست آوردن عددی از 1-9 استفاده می کند.
3. اسکریپت آن عدد را با استفاده از اتصال سریال به آردوینو می اندازد.
4. اسکریپت بارها و بارها، برای مدت زمان بی نهایت تکرار می شود.
5. هر بار که آردوینو ده عدد دریافت می کند، آنها را میانگین می گیرد و میانگین را در نمودار میله ای نشان می دهد.
به همین راحتی است!
مرحله 2: آنچه شما نیاز دارید
این لیست لوازم است:
یک آردوینو
یک تخته نان برد
8 led یا یک واحد نمودار میله ای واقعی
8 مقاومت 330 اهم
سیم
پرل
یونیکس::پردازنده ها یک ماژول پرل
دستگاه:: پورت سریال همچنین یک ماژول پرل
ریاضی::گرد یک ماژول پرل دیگر
همه ماژول های پرل را می توان از cpan دانلود کرد.
مرحله 3: اسکریپت perl را تنظیم کنید
اینجا جایی است که اسکریپت اصلی پرل را ایجاد می کنید. شروع کنیم:
#!/usr/bin/perl
این مکان مترجم پرل شما خواهد بود. کد بیشتر:
از یونیکس::پردازنده ها استفاده کنید.
استفاده از دستگاه::SerialPort;
استفاده از Math::Round;
همه اینها کتابخانه هایی هستند که شما نیاز دارید. اولی به شما اجازه می دهد تا پردازنده را کلاک کنید. بعدی به شما امکان می دهد در پورت سریال بنویسید و آخرین به شما امکان می دهد اعداد را گرد کنید.
حالا اضافه کنید:
my $arduino = Device::SerialPort->new(“/dev/ttyACM0”); #باید پورتی باشد که آردوینو شما روی
$arduino->databits(8) قرار دارد.
$arduino->baudrate(9600); #باید نرخ باود آردوینو شما باشد
$arduino->parity(“none”);
$arduino->stopbits(1);