ترمینال آزاد

چرت نویس های یک مهندس بیکار

اصل و نسب VHDL و Verilog

Verilog و VHDL هر دو زبان توصیف سخت‌افزار (HDL) صنعتی هستند که از آن‌ها به منظور نوشتن برنامه برای مدارات مجتمع الکترونیکی (IC)، ASIC و FPGA استفاده می‌شود. بسیاری از طراحان سیستم‌های دیجیتالی با این سوال روبرو می‌شوند که کدام زبان را انتخاب کنند، VHDL یا Verilog!؟

پاسخ به این سوال نه آسان هست و نه مهم! هر دوی این زبان‌ها همواره به‌طور گسترده مورد مقایسه و تقابل قرار گرفته‌اند بدون اینکه پیروز مشخصی برای این قیاس معرفی گردد. هر دوی آن‌ها معایب و محاسن مختص خود را دارند هر چند از دو منشا متفاوت می‌باشند. این دو زبان دارای سهم عمده‌ای از زبان‌های توصیف سخت‌افزاری هستند که در جهان مورد استفاده قرار می‌گیرند. دشوار است که با اطمینان بگویم کدام زبان بهتر و برتر می‌باشد با این‌حال باید خاطر نشان شد که از بین این دو، VHDL قدیمی‌تر هست. شما می‌تواند طرح قوی و تست محیطی وسیعی را با هر دو زبان، برای FPGA یا ASIC پیاده‌سازی کنید.

زبان‌های VHDL و Verilog هر دو از زبان‌های برنامه‌نویسی مختلفی سرچشمه گرفته‌اند و توسط مکاتب فکری متفاوتی پشتیبانی می‌شوند. VHDL بر پایه Pascal و Ada ساخته شده، در نتیجه ویژگی‌های هر دوی این زبان‌ها را منعکس می‌کند. اما Verilog برخلاف VHDL بر‌اساس زبان برنامه‌نویسی C شکل گرفته و نسبت به VHDL جدیدتر می‌باشد. بررسی منابع اینترنتی حاکی از این است که Verilog عمدتا توسط برنامه‌نویسان HDL با پس‌زمینه و تجربه صنعتی پشتیبانی می‌شود درحالی که VHDL اکثرا توسط محافل علمی ساپورت می‌گردد.

توسعه VHDL در سال ۱۹۸۱ و توسط وزارت دفاع (DOD) ایالات متحده به منظور مقابله با بحران چرخه زندگی سخت‌افزاری آغاز شد. VHDL مختص وزارت دفاع توسعه داده شد تا یک زبان مدل‌سازی سخت‌افزاری استوار برای مستند‌سازی طراحی سیستم‌های دیجیتالی فراهم آورد. البته این واقعا به معنای طراحی سخت‌افزار فیزیکی نیست: بلکه هدف اصلی مدل‌سازی سخت‌افزاری بود. از آنجایی که Verilog یک دارایی معنوی برای Gateway Design Automation می‌باشد، برای بهره‌مندی از آن نهایتا باید از طریق Cadence اقدام کرد. بنابراین برای حفظ قدرت رقابتی و فاصله میان این دو از هرگونه روابط استراتژیک، Verilog از هرگونه کنترل پتانسیل رقابتی دور نگه داشته می‌شود. موسسات اتوماسیون طراحی الکترونیک (EDA)، موجب نفوذ قابل توجهی گردیده، ابتکار و سرمایه‌گذاری این شرکت موجب تبدیل این زبان به یک HDL مهم گردیده است. همین موسسات EDA، نسخه‌های نیمه یونیک (semi-unique) مختص خود از این زبان را در در سطوح مختلف پیاده‌سازی و توسعه، ایجاد و اجرا کرده‌اند. دلیل عدم پذیرش Verilog توسط EDA وجود یک اصل مهم بین موسسات EDA است که می‌گوید آنها باید مالک تمام فن‌آوری‌های core خود باشند که در این مورد توسط Verilog نقض می‌گردد، و آن بدلیل تعلق مالکیت معنوی آن به Cadence بود که امکان مالکیت عمومی را از آن سلب کرده بود. علاوه‌براین فروشندگان EDA خواستار شکستن سیطره Cadence روی ابزار طراحی IC و نرم‌افزاری در بازار بودند که موجب ترقی و ترویج VHDL به عنوان یک زبان باز می‌گردید. VHDL در سال ۱۹۸۷استاندارد IEEE 1076 را کسب نمود. این زبان در سال ۱۹۹۳ آپدیت گردید که امروزه با نام IEEE standard 1076 1993 شناخته می‌شود. مانند سایز استانداردهای IEEE، زبان VHDL باید فرآیندهای بررسی ۵ ساله (یا کمتر) را طی کند تا از ارتباط مداوم آن با صنعت اطمینان یافت. اولین اصلاحیه این زبان در سپتامبر ۱۹۹۳ انجام پذیرفت.

برخلاف VHDL، زبان Verilog سرچشمه گرفته از دنیای تجاری و صنعتی می‌باشد. Verilog به عنوان بخشی از شبیه‌ساز سیستمی توسعه یافته است، که شاید موجب گردیده به خوبی برای توصیف سیستم‌های سخت‌افزاری دیجیتال استفاده گردد. زبان Verilog در سال ۱۹۸۳ توسط gateway منتشر گردید. بعددا gateway در سال ۱۹۸۹ توسط Cadence خریداری گردید. Cadence به شرطی Verilog‌ را به رسمیت می‌شناخت که در رقابت با VHDL برابر فشار متعارفی که صنابع را مجبور به استفاده از VHDL می‌کند، بتواند نقش یک زبان بسته را برای رقابت ایفا کند. سراجام Cadence با انتشار رسمی Verilog در سال ۱۹۹۱، آن را به مالکیت عمومی درآورد. Verilog در سال ۱۹۹۵ موفق به کسب استاندارد IEEE گردید.

هر دوی این زبان‌ها مزایا و معایب منحصربه‌فرد خود را دارا می‌باشند و هیچ یک از آن‌ها کامل یا ایده‌آل نیست. در طراحی ASIC، زبان Verilog در تعریف سخت‌افزار بیشتر مناسب‌تر می‌باشد در حالی که برای مدلسازی سطح بالاتر، Verilog بدلیل عدم پکیج‌گذاری و تعاریف نوع حداقلی (records, access and enumeration) با محدودیت‌هایی مواجه است. هر کاری که با Verilog می‌توان به سرانجام رساند، با VHDL هم امکان‌پذیر می‌باشد در حالی که معکوس این قضیه صدق نمی‌کند. برنامه‌نویس HDL موظف به اتخاذ برخی سیاست‌های کاری/تجاری برای مواجهه با نیازهای طراحی می‌باشد و لازمه آن آشنایی با هر دوی این زبان‌های توصیف سخت‌افزار است.

 

این پست برگرفته از مطلب Verilog vs VHDL می‌باشد.

پادکست هایی که گوش می کنم

من دوست دارم چیزای که میبینم و میخونم و گوش میدم رو به بقیه هم پیشنهاد بدم، اینطوری تو حس لذت بخشی که ازشون میگیرم با بقیه شریک میشم. پشنهاداتم شامل کتاب و فیلم و پادکست و . . . هستش. تو همین مسیر، قبلا کانال های تلگرامی که جوین هستم رو تو یه پستی معرفی کردم و حالا می خوام اسم پادکست هایی که گوش میدم رو لیست وار همراه با توضیحاتشون بنویسم.

رادیوگیک – اولین پادکستی که گوش دادم و در واقع با رادیوگیک بود که من با چیزی به اسم پادکست آشنا شدم. رادیوگیک، پادکستی در مورد تکنولوژی، نرم‌افزار آزاد و هک برای گیک ها هستش. جادی پادکستشو اینطوری معرفی می کنه: “رادیو گیک یه ایستگاه رادیویی نیست بلکه یک حرکتگاه رادیوییه .رادیویی برای کسانی که تکنولوژی براشون فقط تلاش دائمی برای خوندن و حفظ اینکه فلان مدل فلان چیز فرقش با فلان مدل بهمان چیز چیه و تو بازار چنده و شایعه اینکه قراره کی مدل فلانترش بیاد نیست و ترجیح می‌دن یک پله عمیق تر بشن و تو تقاطع تکنولوژی و جامعه، دغدغه‌های انسانی‌شون رو مطرح کنن. رادیو گیک برای گیک های سرگردان در تقاطع جامعه و تکنولوژی.”

موزیق – تنها پادکست موسیقیایی که گوش میدم و واقعا هم ارزش گوش دادن رو داره. تو این پادکست، موزیک های بکر و کمتر شنیده شده از فرهنگ ملل مختلف که توسط هنرمندان گمنام و مطرح خلق شدند جمع آوری شده و بصورت یه پادکست یک ساعتی پخش میشه. مابین آثار، گوینده اثر رو معرفی می کنه و توضیحاتی در مورد خواننده یا سازنده اون میده. تهیه کننده این پادکست محسن (میم) رسولی هستش و میگه موزیق، صدای آلترناتیو ایران هستش.

رادیو دیو – هر قسمت این پادکست به موضوعی اختصاص داره و در رابطه با اون، موسیقی و ترانه هایی پخش میشه و دو گوینده رادیو داستان ها و روایت هایی مرتبط رو روایت می کنند. جدا پادکست خوبی هستش و خیلی به درد اوقات تنهایی میخوره.

ساده استسامان عطاریان اومده تا مارو تغییر بده. سامان معتقده همه چیز ساده هستش و سادگی اعجاز خلقت هستش. در این پادکست‌ها در مورد سادگی همه امور و مراحل زندگی صحبت میشه.

کانال بی – این پادکست به داستان‌های متحیر کننده و جذاب و البته واقعی می پردازه و ماجراهایی رو در هر قسمت روایت می کنه که شاید شما شدیدا شوک زده کنه!

موج سرگردان – این رادیو توسط هانیه تهیه میشه. در هر قسمت هانیه واسمون موسیقی هایی میذاره، داستان هایی میخونه، تکه هایی از دیالوگ فیلم هارو پخش می کنه و از در و دیوار صحبت می کنه! واقعا پادکست شیرین و سرگرم کننده ای هستش و هانیه یه مجری عالیه!

رادیو کتاب – این پادکست هر ۵شنبه ساعت ۱۱ توسط سایت داناوری منتشر میشه و در هر قسمتش یه کتاب معرفی میشه و قسمتی ازش رو شبنم مؤیدفر قرائت می کنه. این پادکست علاوه بر سرگرم بودن میتونه شما رو به خرید و مطالعه کتاب ترغیب کنه.

رادیو هچل – داستان این پادکست، پیرامون یک باغ وحش و اتفاقاتی که برای حیوانات رخ میده جریان داره. در پادکست دو مامور باغ وحش (گویندگان پادکست) به صحبت در مورد جانوران باغ وحششون می پردازن. شاید در نظر اول این پادکست رو الگو گرفته از رادیو چهرازی بدونین ولی به مرور می فهمید که این دو بسیار با هم فرق دارند.

رادیو راز – این پروژه توسط محمدرضا نوروزی و پوریا ناظمی دو مروّج علم ایران تهیه میشه. علاقه اصلی این دو نفر نجوم هستش ولی در هر شاخه ای از علم دستی بر آتش دارن. در هر قسمت از پادکست در مورد موضوعی علمی صحبت میشه و گاها هم رادیوشون مهمان هایی داره که گفتگو رو جذاب تر می کنه.

ـــــ ـــــ

این لیست به مرور زمان کامل‌تر خواهد شد. من صرفا پادکست هایی رو که خودم گوش میدم معرفی می‌کنم و صددرصد پادکست های بیشتر و بهتری هم وجود داره که من ازشون بی خبرم که امیدوارم شما اونارو بهم معرفی بکنید.

در قلمرو آردوینو چه می گذرد !؟

تو بحث الکترونیک مخصوصا بخش دیجیتالش ما ICهای متنوعی استفاده می کنیم. آی سی که ازش با نام مدارات مجتمع (Integrated Circuit) یاد میشه یه سری تراشه ها هستن به شکل های مربع یا مستطیل که ازشون یه سری پایه که بهش PIN میگن زده بیرون. ورودی و خروجی پین آی سی ها بصورت ۰ و ۱ منطقی یا همون ۰ و ۵ ولت (گاها با ولتاژهای متفاوت مثل ۳٫۳ ولت) تعریف میشه .تو آی سی های سطح پایین یه سری پین ها مطلقا ورودی هستن و یه سری همیشه خروجی. تو این آی سی ها با دادن ولتاژ به تعدادی از ورودی ها، خروجی متناسبش رو دریافت می کنیم. می تونیم از این نوع آی سی ها، ۷۴HC08 که کار AND کردن دو ورودی رو انجام میده اسم ببرم.

OLYMPUS DIGITAL CAMERA

مثلا تو همین آی سی ۷۴۰۸ پین های ۱ و ۲ ورودی هستن و ۳ خروجی متناسب این دوتا رو میده. اگه به پین ها ۱ و ۲ مقدار ۵ ولت (۱ منطقی) اعمال کنیم پین ۳ بهمون خروجی ۱ منطقی میده. این آی سی ها عمدتا ساده هستن و نمیشه زیاد روشون مانور داد.

atmega168

اما تو تراشه های پیشرفته تر آی سی های programmable رو داریم. یعنی می تونیم برای آی سی برنامه بنویسیم و تراشه برامون اون برنامه رو از طریق پین هاش اجرا کنه. تو این نوع آی سی ها پین ها می تونن یه دفعه ورودی تعریف بشن و دفعه بعدی همون پین خروجی. معروف ترین این آی سی ها AVRها هستن که تو دانشگاه های ما این خانواده از آی سی هارو تدریس می کنن. به این آی سی ها میکروکنترلر میگیم. یه مثال می زنم از کاربرد میکروکنترلرها تا بهتر متوجه موضوع بشین. فرض کنید یه میکروکنترلر داریم که یه پینش رو توی برنامه، ورودی تعریف کردیم و حالت اولیه اش رو ۰ منطقی قرار دادیم و بهش یه سوییچ وصل کردیم. یه پین دیگه رو خروجی تعریف کردیم و حالت اولیه ۰ بهش اختصاص دادیم و یه LED‌ بهش وصل کردیم. داخل برنامه گفتیم که وقتی ورودی مقدارش ۱ شد خروجی رو ۱ کن. الان اگه ما به ورودی ۵ ولت بدیم که معادل ۱ منطقی هستش برنامه به خروجی میگه که از لحاظ منطقی ۱ بشه (همون خروجی ۵ ولت) و در نتیجه ال ای دی روشن میشه.

این توضیح کوتاه صرفا برای آشنایی مختصر با آی سی بود و اینکه اگه بخواین بیشتر در مورد انواع و اقسام آی سی‌ ها بدونین، متوجه باشید باید چه عباراتی رو جستجو کنید. میخواستم یه راست نرم سر توضیح آردوینو تا گیج نشین، چون اون موقع افرادی که آشنایی زیادی با مهندسی برق ندارند متوجه موضوع نمی شدند. یه سری توضیحات هم بود در مورد تغذیه آی سی ها و پین های جانبی که تو این مرحله نیاز نیست و گفتنش مطلب رو طولانی می کنه و شمارو خسته.

ArduinoCommunityLogo

بعد یه تعریف و آشنایی مختصر با میکروکنترلرها میریم سراغ اصل کاری! آردوینو گونه خاصی از میکروکنترلر هاست. یه پلتفورم متن باز که متشکل از دو بخش نرم افزاری و سخت افزاریه. میکروکنترلر بکار رفته بر روی برد آردوینو بر اساس زبان برنامه نویسی آردوینو (بر پایه Wiring) و محیط ویژه کدنویسی آن (بر پایه Processing) برنامه ریزی شده است و شما برای کد نویسی به هیچ نرم افزار جانبی و یا کامپایلر دیگری نیاز ندارید. میکروکنترلر این بوردها اکثرا از خانواده های AVR و ARM هستش و تک و توک با سایر پردازنده ها هم بوردهایی تحت عنوان آردوینو ساخته شدن.

گفتیم که آردوینو به کلی (نرم افزار + سخت افزار) متن باز هستش. یعنی هر کسی قادر به توسعه, ساخت و تغییرات روی اون هستش. می تونین واسه IDE آردوینو کتابخونه بنویسین و یا کتابخونه های موجودش رو ویرایش کنید و یا خودتون یه بورد آردوینو از نو طراحی کنید و طرحشو منتشر کنید. همین متن باز بودن باعث پیشرفت و برتری خیلی زیاد آردوینو نسبت به میکروکنترلرهای دیگه شده.

بوردهای آردوینو, بورد پیچیده و خاصی نیستن؛ بخوام سر راست بگم همون میکروکنترلر های ساده خودمونه که مجهز شده به یه سری عناصر دیگه مثل رگلاتورهای ۵ ولت و ۳٫۳ ولت, پین هدر, کریستال, سیستم ریست, و مبدل سریال به TTL و … پس فکر نکنین که با بوردی متشکل از قطعات الکترونیکی پیچیده سر کار دارید. این قطعات اضافه شده فقط برای اینکه کار کردن با آردوینو رو راحت تر کنن وگرنه آردوینو فقط همون میکروکنترلر روی بورد هستش. تفاوتی که بین آردوینو و میکروکنترلر های دیگه وجود داره و البته نقطه قوت آردوینو حساب میشه, زبان برنامه نویسی اون هستش.

اما خوب اگه آردوینو همون میکروکنترلرهای ساده خودمونه چرا بجای AVR از آردوینو استفاده کنیم!؟ دلایل متعددی داره که دونه به دونه با مثال توضیح میدم.

اولین دلیل که همونطور که گفتم نقطه قوت آردوینو هم حساب میشه, زبان برنامه نویسی اون هستش. اسم این زبان همون Arduino هستش! یه چیزی بسیار شبیه به زبان Cای که در AVR استفاده می کنیم. درواقع تلفیقی از C و ++C . این زبان تا حد بسیار زیادی آسون و ساده هستش و در عین حال خیلی قدرتمند!

یه مثال میزنم تا متوجه تفاوت Arduino با CodeVision بشید و ببینین که آردوینو چقدر از C مربوط به AVR, راحت تر,کوتاه تر و ساده تره. برنامه ای می نویسیم که عبارت Arduino روی سطر اول یک ال سی دی ۲در۱۶ کاراکتری از چپ به راست بصورت تابلو روان بصورت تکرار در بی نهایت حرکت کنه.

اول برنامه رو روی CodeVision با زبان C مینویسیم:

#include <mega16.h>
#include <delay.h>
#include <lcd.h>
int i,j,k,t=200;
char s[7]={'A','r','d','u','i','n','o'};
#include <alcd.h>
void main(void)
{
lcd_init(16);
while (1)
{
for(i=0;i<7;i++)
{
switch(i)
{
case 0 :
lcd_gotoxy(0,0);
lcd_putsf("o");
delay_ms(t);
lcd_clear();
break;
case 1 :
lcd_gotoxy(0,0);
lcd_putsf("no");
delay_ms(t);
lcd_clear();
break;
case 2 :
lcd_gotoxy(0,0);
lcd_putsf("ino");
delay_ms(t);
lcd_clear();
break;
case 3 :
lcd_gotoxy(0,0);
lcd_putsf("uino");
delay_ms(t);
lcd_clear();
break;
case 4 :
lcd_gotoxy(0,0);
lcd_putsf("duino");
delay_ms(t);
lcd_clear();
break;
case 5 :
lcd_gotoxy(0,0);
lcd_putsf("rduino");
delay_ms(t);
lcd_clear();
break;
case 6 :
lcd_gotoxy(0,0);
lcd_putsf("Arduino");
delay_ms(t);
lcd_clear();
break;
}
}
for(i=1;i<9;i++)
{
lcd_gotoxy(i,0);
lcd_putsf("Arduino");
delay_ms(t);
lcd_clear();
}
for(k=7,i=9;i<16;i++,k--)
{
lcd_gotoxy(i,0);
for(j=0;j<k;j++)
{
lcd_putchar(s[j]);
}
delay_ms(10);
lcd_clear();
}
delay_ms(500);
}
}
}

خب, حالا همون برنامه رو به زبان آردوینو روی IDE خود Arduino می نویسیم:

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup()
{
lcd.begin(16, 2);
}
void loop()
{
 lcd.setCursor(0, 0);
 lcd.print("Arduino");
 ScrollDisplayRight();
 delay(500);
}

جفتشون دقیقا یه برنامه هستن و یه کارو می کنن ولی کد دوم که مربوط به آردوینو هستش از همه نظر به کد اول برتری داره. کد اول ۸۰ خط هستش و دارای پیچیدگی زیادیه ولی کد دوم فقط ۱۳ خطه و با نگاه کردن بهش میشه فهمید برنامه دقیقا چه کاری رو انجام میده. از طرفی اگه بخوایم عبارتی که روی ال سی دی چاپ می کنیم تغییر بدیم باید تعداد caseهارو هم تغییر بدیم. مثلا اگه عبارت طولانی تری رو بخوایم جای Arduino بنویسیم باید به تعداد کاراکتر های بیشتر case جدید بنویسیم که موجب هر چه طولانی تر شدن برنامه ما میشه. یا مثلا برای عوض کردن هر عبارت باید تک به تک کارکتر های مربوط به هر case رو دستی تغییر بدیم و وقت گیر و سخته.

علاوه بر این ها به علت متن باز بودن آردوینو هر کسی می تونه کتابخانه هایی برای آردوینو بنویسه که به این شکل موجب راحتی و کم حجمی کدها بشه. این کتابخونه ها باعث میشه راه اندازی انواع سنسور ها و ماژول ها که خیلی سخته و کار هر کسی نیست به کمک کتابخونه نوشته شده به راحتی تایپ چندین خط کد باشه.

CUHM-teWIAENK7N

من از بعضیا شنیدم که میگن استفاده از آردوینو به صرفه نیستش, چون هم قیمت بالایی داره نسبت به یه میکروپروسسور معمولی و هم ابعادش بزرگه که در طراحی یکی از خصوصیات یه پروژه خوب جم و جور بودن اونه که این ابعاد بزرگ علاوه بر افزایش طول و عرض بورد, نیاز داره که بورد رو دو طبقه کنیم و با استفاده از اسپیسر آردوینو رو به بقیه بخش های بورد اتصال بدیم.

باید عرض کنم که اصلا اینطور نیست! در مورد قیمت باید عرض کنم وقتی شما یک بورد آماده آردوینو (مثل Uno) رو میخرین, پول بیشتری میدین. همونطور که گفتم آردوینو فقط همون قسمت میکروپروسسور بورد هستش. شما می تونین همون میکروپروسسوری رو که می خواستین به پروژتون اختصاص بدید رو با همون قیمت تهیه کنید و روش بوت لودر آردوینو رو پروگرام کنید و ازش به عنوان یه Arduino استفاده کنید و با زبان آردوینو بنویسیدش. پس تو قیمت هیچ تفاوتی نداره و شما همون پروژه رو با همون هزینه می سازین. این کار مشکل دوم که ابعاد بزرگ (نه چندان بزرگ) بوردهای آردوینو بود رو هم حل می کنه و ابعاد بورد ساخته شده با آردوینو در مقایسه با پروژه ای که با AVR ساده ساخته شده بزرگ نمیشه. بوردهای آردوینو با اون وسعت فقط برای استفاده آسون و یادگیری مبتدی ها ساخته شدند و الزامی در استفاده ازشون نیست.

علاوه بر اینها, آردوینو نه تنها موجب افزایش هزینه پروژه نمیشه که باعث کاهش اون هم میشه. شما با آردوینو دیگه نیازی به یه پروگرامر USB گرون قیمت ندارید و از طریق همون پورت usb روی بورد آردوینو و IDE آردوینو راحت برنامه هاتون رو روی میکرو پروگرام می کنید.

CZPnS-SWwAEVzkS

مورد دیگه ای که باید در موردش صحبت کنم, راجب تغییرات در پروژه های پیاده شده هستش. فرض کنید شما پروژه ای رو با یک میکرو AVR ساخته و پیاده سازی کردید. حالا بنا به دلایلی (مثلا نویزپذیری بالای AVRها) قصد تغییر نوع میکروپروسسور (مثلا به ARM ) رو دارید. حالا باید علاوه بر تعویض میکروپروسسور, برنامه ای که برای میکرو نوشته بودید رو هم تغییر بدید و همچنین از نو یک مدار چاپی جدید طراحی کنید و بسازید. در واقع یه پروژه دیگه رو از صفر باید شروع کنید! در حالی که اگر از AVR با بوتلودر آردوینو استفاده می کردید (چیزی شبیه به Uno) فقط کافی بود میکرو رو تغییر بدید به ARM ( مثلا بورد Due ) و هیچ گونه تغییری در برنامه نمی دادید! در IDE آردوینو, تنها از منوی tools و زیرمنوی boards, گزینه Uno را به Due تغییر می دادید و دکمه آپلود رو می زدید؛ تمام. در واقع در آردوینو شما اصلا نیازی به دونستن مدل و آشنایی با میکروپروسسور مورد استفاده خود ندارید. زبان آردوینو واسه همه میکروپروسسورها یکسانه و تفاوتی در نوشتن نداره.

یه مورد دیگه که موجب تسهیل کاربری آردوینو میشه پروگرام کردن راحت اونه. فرض کنید پروژه ای چند طبقه طراحی کردین و ساختین و داخل باکس قرار دادین. بنا به دلیلی لازم میشه میکرو رو دوباره برنامه نویسی کنید. باید اسپیسرها رو باز کنید و میکرو رو دوباره جدا کنید و با یه پروگرامر دوباره برنامه رو روش بریزید و همه مراحل جداسازی میکرو رو اینبار برعکس انجام بدید. در حالی که در آردوینو به هیچ کدام از این مراحل نیاز نیست. فقط کافیه کابل usb رو به پورتش روی Arduino وصل کنید و برنامه جدید رو آپلود کنید.

اما بخش نرم افزاری آردوینو خودش به دو قسمت تقسیم شده. یکی Arduino IDE و بعدی Arduino BootLoader آردوینو:

Arduinosoft-300x261

بوت لودر مرز و واسط بین نرم افزار و سخت افزار آردوینو هستش. در واقع این کار بوت‌لودر هستش که کد شما رو برای میکرو قابل فهم می کنه. بوت لودر آردوینو رو شما بارها می تونید پاک و دوباره روی میکرو آپلود کنید. همین امر باعث میشه شما خودتون تو خونه بتونید یه میکروپروسسور معمولی رو تبدیل به میکروی آردوینو کنید. بوت لودر خودش یه جور برنامه (کد) هستش که ازش به عنوان مترجم هم یاد میشه. همین بوت لودر باعث ویژه شدن میکرو میشه و بدون اون نمیشه برنامه ای که در پلتفورم آردوینو طراحی شده رو روی میکرو بریزیم.

Arduino 1.6.4

اما بخش بعدی IDE آردوینو هستش که روی هر سه سیستم عامل مطرح ویندوز و OS X و گنو/لینوکس قابل نصب هستش. IDE بخش های مختلفی مثل کامپایلر، پروگرامر سریال مانیتور و … داره و تموم نیاز های شما رو تامین می کنه. شما برنامه تون رو در محیط IDE می نویسید و همون جا عیب یابی می کنید و دوباره از همون جا آپلود (پروگرام) می کنید رو میکروپروسسورتون!

مزیت بعدی و بسیار بزرگ آردوینو، شیلدهای اون هستش. مدارات مجزایی که به سادگی امکار اتصال به بورد اصلی آردوینو را دارند و امکانات زیادی را در اختیار ما قرار می دهند. این بورد ها استفاده از آردوینو را برای مبتدی ها و کسانی که با مهندسی برق و الکترونیک آشنایی ندارند به راحت ترین روش ممکن مقدور می سازند.

arduino_megashield_5

تنوع در شیلدها راضی کننده هستش. با اتصال شیلد ethernet میتونید آردوینو و ماژول هاتون رو از طریق روتر محلی کنترل کنید. با اتصال شیلد wifi امکان برقراری ارتباط با آردوینو از طریق بی سیم را خواهید داشت، با اتصال شیلد موتور، قدرت کنترل و دستور دهی به انواع موتور ها (براشلس،پله ای و . . .) را خواهید داشت و شیلدهای دیگر هم به همین ترتیب. امکان اتصال چندین شیلد همزمان به بورد اصلی آردوینو وجود داره و نحوه اتصال هم بسیار ساده هستش.

مطرح‌ترین و مرسوم ترین بورد آردوینو، مدل Uno هستش که برای شروع کار با آردوینو و حتی انجام پروژه های پیشرفته گزینه بسیار مناسبی هستش. علاوه بر Uno مدل های متفاوتی از بوردهای آردوینو موجود است که هر کدام کاربرد خاص خود را دارند و برای کار خاصی طراحی شده اند.

arduinorev31s

البته شما خودتان در منزل هم می توانید آردوینو شخصیتون رو بسازید ولی توصیه من اینه که برای راحتی کار در شروع از مدل های آماده موجود در بازار استاده کنید.

با استفاده از آردوینو حتی دیگه لازم نیست با میکروکنترلری که استفاده می‌شود، آشنایی داشته باشید! تنها کافیست زبان برنامه نویسی آردوینو رو درک کرده باشید. آردوینو روی ویندوز, مک و لینوکس در دسترسه و سورس اون روی گیت هاب هم موجود هستش. این برنامه رو می تونین از خود سایت آردوینو دانلود کنید.

کانال های تلگرامی که دنبال می کنم

واسه خود من جالبه که بدونم بقیه چیا میخونن یا چیا گوش میدن. مثلا از بقیه می پرسم که چه پادکست هایی گوش میدی یا اگه میشه لیست فیدتو بده ببینم کدوم وبلاگ هارو می خونی. از وقتی تلگرام قابلیت کانال رو به برنامه اش اضافه کرد عده کثیری شروع کردن به احداث و حفر(!) کانال. این وسط انصافا یه سری کانال خوب هم تو هر زمینه ای بوجود اومد که مطالب خوب میذاره. از اونجایی که دوست دارم چیزایی که مفید میبینم رو بقیه هم استفاده کنن می خوام یه لیستی از کانال هایی که بهشون جوین شدم رو پایین بیارم تا اگه خوشتون اومد شما هم دنبالشون کنید.

ـــــ کتاب و داستان ـــــ

داستان شب – این کانال از خوب هاست! کیا دوست دارن شب موقع خواب یکی براشون داستان و کتاب بخونه!؟ اگه کسی این وظیفه خطیر رو به گردن نمیگیره دیگه منت بیخود نکشید. این کانال هر شب یک داستان صوتی قرار میده. ابتدا با داستان و نویسنده اش آشناتون می کنن. بعدش گوینده داستان رو معرفی می کنن و مدت زمان داستان رو هم ذکر می کنن و در نهایت فایل صوتی داستان رو قرار میدن.

کتابخانه – از عنوانش معلومه در مورد چیه. این کانال اختصاص داره به معرفی کتاب، اعم از رمان و داستان و شعر و قرار دادن تکه های کوتاهی از متن کتاب ها. گهگاهی هم شیطنت می کنه و کتاب هایی رو برای دانلود قرار میده

کتابدونی – یه کانال دیگه مختص کتاب و کتابخوانی. محتوای کانال شامل داستان کوتاه و قسمت های تاثیرگذاری از کتاب هاست

مرکز کتاب – خودمم موندم چرا این همه کانال کتاب رو جوین دادم. بهانه اش این می تونه باشه که این کانال مطالبی قرار میده که محتواش با بقیه کانال ها متفاوته

شهر کتاب – نه تنها معروف ترین و پرمخاطب ترین کانال کتاب بلکه جزو بهترین و اولین کانال های تلگرام هستش. معرفی کتاب، آوردن بخش هایی از متن و ارائه فایل دانلود. معرفی و پیشنهاد فیلم هم انجام میدن.

ـــــ علوم و نجوم ـــــ

گزیده اخبار علمی – این کانال اخبار یا دانستنیهای علمی رو که کمتر تو اینترنت و تلویزیون میبینیم رو قرار میده. گاهی بصورت یه پست مفصل و گاهی هم با یه تصویر با کپشن کوتاه

گمانه – این کانالی هستش که قبلا تو توییتر هم معرفیش کرده بودم. یه کانال با محوریت نشر علم و مبارزه با خرافات و چرندیات! همه ما هر روز مطالب مزخرف و دروغی رو توی شبکه های اجتماعی میبینیم که عقل سلیم از باورشون پرهیز می کنه. گمانه میگه کدوم مطالب دروغه و مهم تر اینکه چرا دروغه!

کانال نجوم – اخبار، رویداد های و دانستنیهای نجوم همه در کانال نجوم (همین معرفی کافیه براش!)

فیزیک.آی آر – کانالی در رابطه با فیزیک و اخبار و حواشی مربوط به اون از جمله مطالبی به روز از سیاه‌چاله ها و نظریات فیزیک

فیزیک آیوتا – آیوتا به تعریف خودش یه نوع کانال درسی فیزیکه. مفاهیم فیزیک کوانتوم، کلاسیک و مدرن. مطالب درسی، مساله و نظریات

کهکشان آنلاین – دریچه ای به آنسوی آبی آسمان ها. کانال شامل مقالات و تصاویر نجومی هستش. در مورد رویداد های نجومی ایران و جهان هم اطلاع رسانی می کنند.

مجله دانستنیها– کانال رسمی دوهفته نامه دانستنیها هستش. مجله بسیار پرآوازه و محبوبیه و نیاز به معرفی بیشتر نداره

بیگ بنگ – این یه کانال علمی اصلا در رابطه با اخبار علمی روز و تحلیل شون و ارائه دانستنیهای علمی

کافه آسترو – توضیح خود کانال بسیار روشنه: آموزش، اخبار، مقالات، تصویر برتر و فیلم های نجومی

ـــــ الکترونیک و روباتیک ـــــ

مدارهای کاربردی الکترونیک – تو این کانال نحوه ساخت انواع مدارات الکترونیک، نحوه کار با نرم افزارها، تکونولوژی های نو و دیتاشیت ها قرار میگیرند. حتی میتونین درخواست آموزش ساخت مداری رو بدین و تو کانال واستون قرار بگیره

کارگاه مگاترونیک اندیکا – مطالب و مقاله و اخباری در مورد علم رباتیک و مگاترونیک

کانال خبری رویاتیک و تکنولوژی – انتشار اخبار و مقالات و آموزش های روباتیک و اطلاع رسانی از رویداد ها و مسابقات رباتیک کشور

امید روباتیک – پوشش اخبار و مقالات حوزه روباتیک و ارائه آموزش های فنی ساخت روبات

تجهیزات صنعت برق ایران،ایکهربا – آموزش های فنی و ایمنی و تشریح اصول مهندسی برق

جامعه مخابرات IEEE – معرفی و ارائه مقالات مربوط به حوزه برق مخابرات بصورت فایل ضمیمه

مهندسی وایرلس – ارائه کتب و مقالات مربوط به حوزه فناوری های بی سیم (وایرلس)

فصلنامه ترانسفورماتور – این کانال تعلق داره به فصلنامه ای با همین نام، تو کانال هم اکثرا فیلم های آموزشی و حادثه ای در مورد ترانسفورماتور ها قرار میدن

ـــــ متفرقه ـــــ

کانال ترانه های ماندگار – این کانال از اون کانال های عالی هستش که به نوستالژی دوستان توصیه اکید می کنم حتما جوین بشن. یه ترانه هایی از یه کسایی میذاره که حتی فن های دوآتیشه اون هنرمند هم شاید نشنیده باشن اون آهنگ هارو یا گاهی اوقات ترانه هایی میذاره که آدمو پرت می کنه به ۲۰ سال پیش

تحولات منطقه و جهان اسلام – مجموعه خبرهای جهادی از منطقه. اخبار و گزارش لحظه به لحظه پیش روی ارتش و مبارزه با داعشی ها

هزار و یک بوم – یک بوم و هزار هنر. مجله اختصاصی هنر که متعلق به وبسایتی با همین نام هستش. توضیح کمی میدم چون هر چقدر توضیح مفصل باشه در مقابل خوبی این کانال ذره ای بیش نیست.

پادکچ – جایی برای شنیدن و هم‌رسانی پادکست های فارسی. آرشیوی بی نظیر و درحال آپدیت از پادکست های فارسی. چه اونهایی که دیگه منتشر نمیشن و چه اونایی که هنوزم در حال انتشار هستند. به مورد جالب و دوست داشتنی در مورد این کانال منتشر کردن زمان بندی شده و با برنامه هفتگی پادکست هاست. به عنوان مثال شما می دونید که رادیو اینترنتی راز شنبه ها رو کانال قرار میگیره.

مووی مجیک – الحق والانصاف که اسم کانال برازندشه! یک کانال عجیب! آرشیوی از فیلم های قدیمی و جدید هالیوود که بصورت فایل ضمیمه قابل دانلود هستند. برام سواله که چه کسایی فایل های یک گیگابایتی رو از طریق تلگرام دانلود می کنن!؟

لینوکسی ها – جایی برای نشر مطالب و آموزش های مربوط به سیستم عامل(های) گنو/لینوکسی

ـــــ ـــــ

این لیست در زمان های مختلف آپدیت میشه. شاید کانالی بهش اضافه بشه یا ازش کم بشه. من صرفا کانال هایی رو که خودم دنبال کردم معرفی می کنم و صددرصد کانال های بیشتر و بهتری هم وجود داره که من ازشون بی خبرم.

چرا اولین شنبه بهمن رو با کتاب بیرون بریم

اونور آبیا یه رسمی دارن که اولین جمعه ماه مِی رو بدون شلوار بیرون میرن! (اجنبی های بی حیا). اولین بار این کارو یه گروه از دانشجوها تو دانشگاه تگزاس تو جشن پایان ترم انجام دادن و این کار به مزاق خیلی خوش اومد و از اون موقع هر ساله تو کشورهای مختلفی این روز رو ملت بدون شلوار تو مترو و بقیه جاها حاضر میشن. البته باید به این موضوع توجه کرد که این کارو صرفا برای تفریح و جنبه فانش انجام میدن.

وقتی امسال خبر روز بدون شلوار تو وب فارسی منتشر شد پیام صادری یه پیشنهاد عالی داد! گفت در مقابل روز بدون شلوار اونا, ما روز با کتاب داشته باشیم. وب فارسی هم این پیشنهاد رو پذیرفت و قرار شد اولین شنبه بهمن ماه رو با کتاب بیرون از خونه حاضر بشیم.بهتریه یه کمی عمیق تر بشیم و ببینیم این کار چه فوایدی داره!

اول از همه برای خودمون خوبه. شاید اینکار باعث بشه واقعا به کتاب و کتابخوانی نزدیک بشیم. شاید اتفاقی هر کدوممون کتابی رو که تو دستمون داریم رو باز کنیم و مشغول خوندنش بشیم و برامون تبدیل به یه عادتی بشه که تو اوقاتی که بیرون از خونه می گذرونیم و بیکاریم مشغول مطالعه و یادگیری بشیم.

گذشته از خودمون, افرادی هستند که واقعا منتظر یه تلنگر کوچیکن! یه شخصی رو فرض کنید که هر روز سوار مترو میشه و طول مسیرش تا محل کارشو فقط محو تماشای بقیه میشه. حالا همون آدم شنبه یهو میبینه عده قابل ملاحظه ای کتاب دستشونه و مشغول مطالعه هستند! اینجور مواقع آدم یه تلنگر می خوره و با خودش میگه من چرا نباید کتاب دستم باشه و مطالعه کنم و ممکنه همون آدم از فردا تو ساعات سوخته روزش کتاب بخونه.

هر کدوم از ما تو خونه کتابایی داریم که چندین بار خوندیمشون و موندن یه گوشه قفسه کتابخونه هامون. میتونیم شنبه همون کتاب هارو برداریم بیاریم بیرون و با همدیگه کتاب های خوندمون رو تعویض کنیم. بدون هزینه ای هر دو طرف به کتاب جدیدی برای خوندن می رسند و هم از شر کتاب هایی که گوشه قفسه هامون افتاده بودن خلاص میشیم.

گذشته از اینا می تونیم با هم در مورد کتابی که تو دستمونه صحبت کنیم. در مورد محتوا یا کتاب هایی که قبلا خوندیم یا ژانری که دوس داریم. از این طریق هم می تونیم دوستای جدید پیدا کنیم افکار و علایقشون با ما هم جهته و هم کتاب های جدید برای مطالعه.

هر طور به قضیه با کتاب نگاه کنید نتایج مثبت می بینید حتی اگه واسه شوآف این کارو بکنید. مطالعه باعث میشه ذهنتون باز بشه و عمیق تر مسائل رو ببینید. البته اگه می خواین در بهشت نادانی بمونین بهتون توصیه اکید می کنم اصلا سمت کتاب نرید!

صفحه:12