در عصر حاضر مهارت برنامه نویسی جزء یکی از اساسیترین مهارتهای فردی و گروهی است. این درحالی است که مهارت در کشورمان نادیده گرفته شده و در مدارس هیچ زمانی برای این موضوع صرف نمیشود. بنابراین این وظیفه برعهده مدارس غیر انتفاعی و کارگاههای آموزشی است. امرزوه کمتر کسی پیدا میشود که بازی کامپیوتری یا حداقل اسباب بازیهای کنترلی را ندیده باشد که ساخت این وسایل و بازیها با یادگیری برنامه نویسی میکروکنترلرها ممکن است. پس فرزندان شما به جای تلف کردن وقت خود با بازیهای رایانهای، خودشان میتوانند بازی و گجتهای کامپیوتری و دیجیتال طراحی کنند و چه کاری هیجان انگیزتر این.
یک نمونه میکروکنترلر جهت آشنایی با شکل ظاهری این قطعات جادویی
میکروکنترلرها در کجا و چه کاربردی دارند؟
امروزه زندگی بدون وسایل الکترونیکی سخت و حتی نشدنی است. امروزه وسایل منزل هم به سمت هوشمند شدن پیش میروند. خب طبیعی است که افراد در پی ساخت وسایل الکترونیکی و الکتریکی برای راحتتر کردن شیوه زندگی باشند. برای ساخت یک وسیله الکترونیکی، بسته به نوع کاربرد آن، به تجهیزات و وسایل الکترونیکی زیادی لازم است. میکروکنترلرها نیز جزء این وسایل و تجهیزات هستند. میکروکنترلرها و بردهای الکترونیکی، قلب هر وسیلهی الکترونیکی هستند و در ساخت بیشتر وسایل الکترونیکی مانند، رباتهای هوشمند و حتی یک سنسور ساده تشخیص آب گرم به کار میروند. میکروکنترلرها انواع مختلفی داشته و ساختاری شبیه به کامپیوترها دارند. اساس کار آنها، گرفتن اطلاعات از ورودی و پردازش این اطلاعات با استفاده از دستوراتی که در حافظه آنها تعریف شده است. یکی از این مدلها، میکروکنترلر AVR است که قابلیت ذخیرهسازی اطلاعات و انجام سریع دستورات را دارد. همین ویژگی، این مدل را از دیگر مدلها متمایز کرده و در طراحیها کاربرد بیشتری دارد. همانطورکه گفته شد با یادگیری برنامه نویسی میکروکنترلرها، میتوان کارهای مختلفی انجام داد که در ادامه به بخشی از این موارد اشاره میکنیم:
- ساخت دستگاه و سنسورهای سنجش و کنترل نور که جایگزین کلیدهای قطع و وصل برق در خانه میشوند.
- ساخت سنسورهای حرارتی و سنجش و کنترل دما که با توجه به نیاز روزمره بسیار کاربردی هستند.
- سنسورهای ایمنی ساختمان و ایمنی آتش
نمونهای از کاربرد میکروکنترلرها در تابلوهای آنالوگ تبلیغاتی
کارگاه آموزشی آردوینو
درب ورودی به دنیای برنامهنویسی میکروکنترلرها، یادگیری آردوینو میباشد. آردوینو بیشتر برای دانشجویان و محققان طراحی شده است. به عبارت دیگر، افرادی که علاقه به یادگیری میکروکنترلرها و طراحی مدارهای هوشمند دارند، اما به هردلیلی، سابقه کار حرفهای در طراحی مدارهای هوشمند نداشتهاند و اکنون قصد یادگیری با سرعتی بیشتری را دارند، آردوینو بهترین شروع برای آنها است. آردوینو یک قطعه جدا همانند میکروکنترلر AVR نیست بلکه اساس آردوینو میکروکنترلر AVR است. اما تفاوت آردینو و میکروکنترلر AVR در این است که برای کار با آردوینو از محیط برنامهنویسی مختص خود آردینو و کتابخانههای آن برای برنامهریزی میکروکنترلر AVR استفاده میکنیم. یعنی با استفاده از واسطهای به نام محیط برنامهنویسی آردوینو، اقدام به برنامهریزی میکروکنترلر AVR میکنیم. این کار دارای چند مزیت است؛ اول این که در برنامهنویسی آردوینو، ارتباط مستقیم با میکروکنترلر AVR وجود ندارد که همین عامل باعث عدم به وجود آمدن پیچیدگی و کار کردن مستقیم با رجیستریهای خود میکروکنترلر AVR میشود. و دوم این که، دیگر نیازی به یادگیری ساختارهای سیستمی میکروکنترلر AVR نخواهد بود. با توجه به دلایل گفته شده به این نتیجه خواهیم رسید که کارکردن با آردینو راحت است و حتی کودکان و نوجوانان در محدوده سنی 12 الی 14 سال میتوانند مدارهای هوشمند برای استفاده در رباطهای تعقیب خط و سنسورهای ساده طراحی کنند. بردهای آردوینو کاربردهای فراوانی در صنعت و حتی زندگی روزمره دارند. به عنوان مثال با یادگیری برنامه نویسی بردهای آردوینو، میتوان سنسورهای تشخیص رطوبت خاک را طراحی کرد که در سیستمهای آبیاری هوشمند بسیار کاربردی هستند. همچنین شمارشگرهای چراغهای راهنمایی و رانندگی که روزانه آنها را در تقاطع خیابانها میبینید، از نمونه کاربردهای بردهای آردوینو هستند. سیستمهای کنترل از راه دور، بحث رباتیک که امروزه در کشورهای توسعهیافته بسیار جدی گرفته میشود و حتی بخش پزشکی و درمان و ساخت تجهیزات پزشکی و بالینی، ازدیگر موارد کاربردهای بردهای آردوینو به شمار میروند. برد آردوینو قابلیت اتصال به هر چیزی را دارد. ازجمله: کامپیوتر شخصی، گوشی، تبلت، لپتاپ، شبکههای محلی اینترنت یا همان مودمهای خانگی و حتی اتومبیلها.
انتقال داده و دستورات ورودی به بردهای آردوینو بسیار ساده است؛ بدین صورت که شما، دستورات و کدهای برنامه و پروژهی خود را در داخل رایانهی شخصی خود یا هر وسیله الکترونیکی دیگر که قابلیت برنامه نویسی در محیط آردوینو را دارد، مینویسید. سپس به راحتی میتوان این اطلاعات را از طریق یک پورت USB یا فلش به برد آردوینو منتقل کرد. برای تهیه بردهای آردوینو، میتوان سری به فروشگاههای قطعات رباتیک و الکترونیک زد، و حتی میتوان به صورت آنلاین اقدام به خرید کرد. از دیگر دلایلی که به باعث گرایش بیشتر افراد به سمت آردوینو شده است، میتوان به ارزان بودن، قابلیت شخصیسازی و گسترش پذیر بودن و در نهایت مهمترین عامل، وجود منابع آموزشی زیاد برای یادگیری و راهاندازی پروژههای شخصی، اشاره کرد.
میکروکنترلرهای AVR
همانطور که گفته شد اساس کار آردوینو میکروکنترلر AVR است و در آردینو ما با ماژولهای آردوینو کار میکنیم که به سطح کار بسیار بالایی نیاز ندارد؛ اما اگر افراد قصد یادگیری به صورت حرفهای و تخصصیتر را داشته باشند، میتوانند در کارگاههای آموزشی AVR شرکت کنند. در این کارگاهها بیشتر به ساخت دستگاههای حرفهایتر و بررسی سیستمیتر میکروکنترلر AVR پرداخته میشود. افراد شرکتکننده در این کارگاه، با استفاده از زبان برنامهنویسی و محیط برنامهنویسی، نحوه کار با رجیستری میکروکنترلرها را میآموزند. این کار به تخصصی بیشتر و به تبع آن سطح کار بالاتری نیاز دارد؛ زیرا میکروکنترلرهای AVR برخلاف آردوینو، به صورت مستقیم برنامهریزی میشوند. به همین دلیل، این کارگاه برای افرادی که یادگیری آردوینو را گذراندهاند مناسب است. معمولا این کارگاه برای افراد جوان و دارای یک دانش پایهای کار با زبانهای برنامهنویسی پیشنهاد میشود. به دلیل شباهتی که میکروکنترلرهای AVR با رایانهها دارند، اغلب افراد آنها را اشتباه میگیرند. علت این اشتباه هم این است که هر دو (میکروکنترلر AVR و رایانه) دارای حافظه، پردازنده و پورتهای ورودی و خروجی هستند. تفاوت آنها در این است که، رایانهها برای انجام چندین کار مانند انجام محاسبات ریاضی، دسترسی به اینترنت و حتی فیلم دیدن طراحی شدهاند. ولی میکروکنترلر AVR برای انجام فقط یک کار ساخته شده است. به عنوان مثال، اگر دمای یک اتاق بیشتر از یک حدی شود، میکروکنترلر AVR وظیفه دارد که دستگاه تهویه هوا را روشن نماید.
میکروکنترلرهای ARM
همانطورکه گفته شد برای کار با میکروکنترلرها به یک دانش پایهای و آشنایی به زبان برنامهنویسی نیاز داریم. یکی دیگر از این میکروکنترلرها، میکروکنترلر ARM است. این میکروکنترلر نسبت به دیگر همخانوادههای خود مانند میکروکنترلر AVR وPIC از سرعت پردازش بالاتری برخوردار است. همین عامل باعث کاربردی بودن این میکروکنترلرها در مدارهای فرکانس بالا میشود. این میکروکنترلرها، در مدارهای گستردهتر و تخصصیتر به کار میروند. به عنوان مثال، اگر قصد به کارگیری LCDهای با سایز بیشتر از 7 اینچ را داشته باشید، یا قصد دارید UX وUI بهتری را به کاربران خود ارائه دهید، میتوانید از میکروکنترلرهای ARM بهره ببرید. این کار نیاز به دانش تخصصیتری دارد، که ما در کارگاه آموزشی میکروکنترلرهای ARM، به افراد شرکت کننده آموزش میدهیم که چگونه مدارهای هوشمند را با میکروکنترلرهای ARM پیادهسازی کنند.
مزیت به کارگیری میکروکنترلرها
به کارگیری میکروکنترلر، جزء بهترین اختراعات بشر برای سادهسازی کارها بوده است. صنعت الکترونیک در چند دهه گذشته تحول چشمگیری داشته و حضور میکروکنترلرها به عنوان قلب تپنده دستگاههای هوشمند، دراین تحول بسیار اثرگذار بوده است. لازمه کار با مدلهای مختلف میکروکنترلرها، یادگیری برنامه نویسی میکروکنترلرها است. این کار دارای چندین مزیت است که در زیر به بررسی آن میپردازیم.
ابتدا فرد با یادگیری برنامه نویسی میکروکنترلرها تبدیل به یک متخصص میکروکنترلر میشود. و درمرحله دوم، فرد با یادگیری برنامه نویسی، قدرت حل مسئله خود را به دلیل سر وکار داشتن با مسائل پیچیده، تقویت میکند. این کار با به کار گرفتن قوه ابتکار و خلاقیت فرد ممکن میشود. بنابراین برنامه نویسی، باعث به وجودآمدن ایدههای خلاقانه و نوآورانه نیز خواهد شد. در نهایت فرد در طول طی کردن مسیر برنامه نویسی، توانایی کار به صورت تیم و دسته جمعی را میآموزد. بعدها نیز تاثیر بسزایی در شکلگیری روابط اجتماعی فرد نیز خواهد داشت.
همانطور که گفته شد، میکروکنترلرها دارای انواع مختلفی هستند. میکروکنترلر ARM نیز گونهای مشخص از این مدلها شناخته میشود. این میکروکنترلرها کاربردهای فراوانی به دلیل مصرف کمتوان و بیسیم بودن داشته و بیشترین کاربرد آنها در هسته اصلی تلفنهای همراه است. در ابتدای امر، تولید این قطعات پرکاربرد توسط یک شرکت که یک شعبه در آمریکا و یک شعبه در ژاپن داشت، صورت گرفت. ولی بعدها به دلیل کاربرد زیاد این قطعه، شرکتهای سازنده لوازم الکترونیکی و الکتریکی، حق تولید این قطعه را خریداری کردند. میکروکنترلرهای ARM نیز مانند دیگر همخانوادههای خود کاربردهای زیادی در سنسورها، دستگاههای کنترل از راه دور و دوربینها و… دارند. تفاوت بین میکروکنترلرها در انجام دادن وظیفهای است که در حافظهی آنها تعریف شده است. هر میکروکنترلر قابلیت انجام دستورات مشخصی را دارد.
موقعیت شغلی برنامه نویسی با میکروکنترلرها
امروزه با داشتن تخصص در انجام هر فعالیتی، به راحتی میتوان برای خود کسب درآمد کرد. با داشتن تخصص در کار با میکروکنترلرها و برنامه نویسی آنها، به راحتی میتوان یک منبع درآمد مالی برای خود دست و پا کرد. لازمه رسیدن به این هدف، داشتن مهارت کافی در برنامه نویسی این قطعات کوچک الکترونیکی است. همانطور که گفته شد بازارکار این رشته بسیار گسترده بوده و فرصت برای فعالیت همگان وجود دارد. با توجه به پیشرفت روز افزون و رفتن به سمت هوشمندی کامل زندگی، برای این رشته حد نهایتی تعریف نمیشود و میتوان هر روز چیزهای جدید را با توجه به نیاز زندگی، آموخت و تولید کرد. کسانی که مهارت کافی در زمینه میکروکنترلرها به دست میآورند، از فردای همان روز میتوانند شروع به کار کنند و با توجه به حس کارآمد بودن یک محصول در زندگی، اقدام به تولید آن نمایند. با یادگیری برنامه نویسی، قطعا بازار کار مناسبی در داخل و خارج از کشور در انتظارتان خواهد بود.