بررسی چهار برد میکرو ارزان قیمت برای یادگیری زبان برنامه نویسی C++/C
بردهای میکروکنترلری در علم الکترونیک، اجزایی بسیار جذاب هستند. به این خاطر که قابلیت برنامه نویسی دارند. یعنی فقط یک کاربرد خاص ندارند و براساس نیازمندی که داشته باشید، میتوانید فرامین را برنامه نویسی کرده و آن برد اقدام به اجرا میکند. یکی از زبانهای پایهای و بسیار مهم در بردهای میکروکنترلری زبان C++/C هستند. این زبان توسط دستورهایی که دارد، قابلیت کنترل و شرط گذاری برای میکروکنترلر را فراهم میکند. در این پست راجع به چهار برد ارزان قیمت برای یادگیری این زبان برنامه نویسی، مطالبی را ارایه میکنیم. در روند برنامه نویسی امکان کنترل تمامی پایههای سخت افزاری یا همان GPIOها فراهم خواهد بود. هدف ما ارتقا دانش کاربران فارسی زبان است. همچنین رشد اطلاعات عمومی مدیران در شرکتهای مختلف را مد نظر داریم. بنابراین اگر این مطلب از بلاگ دانشجو کیت برای شما ارزشمند بود و به اطلاعاتتان اضافه کرد، آنرا با دیگران به اشتراک بگذارید تا دانش فنی مدیرها و کاربران فارسی زبان در این حوزه و IoT رشد پیدا کند.
شناخت زبان C/C++
میکروکنترلرها برای ارتباط با سنسورها و ماژول ها نیاز به برنامه نویسی و کامپایلر دارند تا بتوانند دقیقا کاری که قرار است اجرا کنند را انجام دهند. زبان برنامه نویسی ++C , C سرعت و کارآیی و کنترل نزدیک تری به میکروکنترلرها دارد و بهترین انتخاب برای اجرای پروژه ها خواهد بود. C++ امکان کنترل دقیق و مستقیم تر از سختافزار را در اختیار برنامهنویسان قرار میدهد. این امکان به برنامهنویسان اجازه میدهد که به طور مستقیم با ویژگیها و قابلیتهای میکروکنترلرها کار کنند و بهینهسازیهای خاصی را برای عملکرد و مصرف انرژی انجام دهند.
زبان C++ یک زبان پرتابل است، به این معنا که کدهای نوشته شده برای یک میکروکنترلر به راحتی به میکروکنترلرهای دیگر قابل انتقال هستند. این ویژگی مهم است زیرا میکروکنترلرها ممکن است در محصولات مختلفی استفاده شوند و برنامهنویسان نیاز دارند که کدها را به راحتی به سایر میکروکنترلرها منتقل کنند. زبان C++ از ویژگیهای پیشرفتهای مانند شیگرایی پشتیبانی میکند.
برای زبان C++ مجموعهای از کتابخانهها و ابزارهای پشتیبانی برای میکروکنترلرها وجود دارد که کمک میکند تا کارهای رایج مرتبط با میکروکنترلرها مانند کنترل پورتها، مدیریت تایمرها، ارتباطات سریالی و پروتکل های ارتباطی را به سهولت انجام دهند. C++ امکاناتی مانند تعریف نوع دادههای سفارشی، اشارهگرها، مدیریت حافظه را فراهم میکند که این امکان را میدهد که به طور دقیقتر و انعطافپذیرتر برنامه نوشته و کنترل دقیقتری بر روی منابع داشته باشند. در این بلاگ چهار برد کاربردی برای شروع کار با میکروکنترلر ها با زبان برنامه نویسی سی پلاس پلاس را یاد خواهیم گرفت.
برد آردوینو Arduino Nano R3 , CH340
برد آردوینو مدل نانو در ابعاد کوچک طراحی شده تا هم فضای کمتری اشغال کند و هم از نظر قیمت مقرون به صرفه باشد تا دو نیاز مهم در یک پروژه را برآورده کند. برد آردوینو نانو از یک میکروکنترلر ATmega328P ساخته شده است. زبان برنامهنویسی C++ یک زبان قدرتمند و گسترده است که در زمینههای مختلف از جمله برنامهنویسی میکروکنترلرها، رباتیک، الکترونیک و اینترنت اشیاء استفاده میشود. با شروع کار با برد آردوینو نانو، میتوانید مفاهیم پایه زبان C++ را یاد بگیرید و به تدریج به پیچیدگیهای آن پی ببرید.
برد آردوینو نانو دارای پایهها و پورتهای مختلفی است که به شما این امکان را میدهد تا به راحتی با سنسورها و قطعات الکترونیکی دیگر ارتباط برقرار کنید. این امکان به شما کمک میکند تا به ترکیب آموزش برنامهنویسی با پروژههای عملی بپردازید. دو مدل مبدل برای ساخت این برد استفاده شده است که با توجه به درایور مورد نظر حق انتخاب خواهید داشت. یک برد آردوینو نانو با مبدل CP2102 و دیگری CH340 که نسبت به مدل R3 ارزان تر است. با توجه به بودجه خود میتوانید بین این دو انتخاب کنید.
- میکروکنترلر: ATmega328P
- ولتاژ عملکرد: 5 ولت
- ولتاژ ورودی: 7 تا 12 ولت
- ولتاژ ورودی مناسب: 6 تا 20 ولت (حداکثر)
- تعداد پینهای دیجیتال: 14 (از جمله 6 پین PWM)
- تعداد پینهای آنالوگ: 8
- جریان خروجی دیجیتال: 40 میلیآمپر بر هر پین
- حافظه فلش: 32 کیلوبایت (از کل یک مگابایت میکروکنترلر)
- حافظه SRAM: 2 کیلوبایت
- حافظه EEPROM: 1 کیلوبایت
- حافظه EEPROM: 1 کیلوبایت
- رابطها: USB (Micro-USB) برای برنامهریزی و تغذیه، پینهای GPIO، UART، I2C، SPI
- ابعاد: 18.5 میلیمتر در 43.2 میلیمتر
برد NodeMCU ESP8266 CP2102
ّاگر میخواهید در سطح بالاتری برنامه نویسی را آغاز کنید و به ارتباطی شروع حرفه ای داشته باشید، میتوانید از بردی با قابلیت وای فای و شبکه استفاده کنید تا مفاهیم شبکه را در کنار برنامه نویسی سی پلاس پلاس آموزش ببینید. قطعا ارزان ترین برد که قابلیت اجرای پروژه را برای شما ساده تر کند، برد Nodemcu است. تراشه ESP8266 از وای فای 802.11 b/g/n Wi-Fi پشتیبانی میکند و برای اجرای پروژه های تحت پلتفرم انتخاب مناسبی است.ماژول ESP8266 یک ماژول Wi-Fi کوچک با پردازندهی میکروکنترلر داخلی است که به راحتی قابل برنامهنویسی است.
انتخاب ESP8266 به عنوان یک ابزار یادگیری برای میکروپایتون دارای چندین دلیل است. ماژول ESP8266 به عنوان یک ماژول Wi-Fi با قیمت مناسب شناخته میشود و در بازار به راحتی دسترسی دارد. این ارزانی به شما کمک میکند تا بدون هزینههای بالا ابتداییترین مراحل یادگیری را طی کنید.ESP8266 با یک جامعه فعال از توسعهدهندگان و طراحان همراه است. این به شما امکان میدهد تا با استفاده از منابع آموزشی با افراد دیگر تعامل داشته باشیدESP8266 به طور رسمی توسط میکروپایتون پشتیبانی میشود. این به شما این امکان را میدهد که با استفاده از زبان برنامهنویسی میکروپایتون به راحتی با ماژول ارتباط برقرار کرده و کد بنویسید.ESP8266 درواقع یک میکروکنترلر با پردازنده و واحد Wi-Fi یکپارچه است، این به شما این امکان را میدهد که بدون نیاز به اتصالات خارجی، از ویژگیهای مختلف سختافزاری ماژول بهرهبرداری کنید.با توجه به این موارد، ESP8266 به عنوان یک انتخاب مناسب برای یادگیری و تجربه کردن برنامهنویسی میکروپایتون در زمینه اینترنت اشیاء (IoT) و پروژههای مرتبط با Wi-Fi میتواند بسیار مفید باشد.
- نوع: Tensilica Xtensa LX106
- فرکانس: تا 80 مگاهرتز
- حافظه فلش داخلی: 512 کیلوبایت یا 4 مگابایت
- حافظه رم: 80 کیلوبایت
- Wi-Fi: 802.11 b/g/n با پشتیبانی از WPA/WPA2
- GPIO: دارای پایههای ورودی/خروجی عمومی با قابلیت برنامهریزی
- UART: برای ارتباط سریال با دیگر ماژول ها
- SPI: برای ارتباط با حافظهها
- I2C: برای ارتباط با سنسورها و نمایشگرها
- ADC: تبدیل آنالوگ به دیجیتال با ورودیهای آنالوگ
- PWM: تولید سیگنالهای پالسعریض برای کنترل موتورها
- قابلیت ارتباط با سرورها و ابری از طریق پروتکلهای HTTP، MQTT
برد آردوینو Arduino UNO SMD CH340
آردوینو (Arduino) یک پلتفرم برنامه نویسی میکروکنترلر است که برای ساخت انواع پروژه های الکترونیکی و رباتیکی استفاده می شود. این پلتفرم شامل یک برد الکترونیکی، یک محیط برنامه نویسی و یک زبان برنامه نویسی است که به کاربران این امکان را می دهد تا با استفاده از آن، پروژه های مختلفی را ایجاد کنند. Arduino UNO CH340 یکی از بردهای آردوینو است که دارای یک پردازنده ATmega328P می باشد. این برد دارای درگاه USB و 14 پایه دیجیتال و 6 پایه آنالوگ است.
برای برنامه نویسی این برد می توان از زبان برنامه نویسی C/C++ استفاده کرد و با استفاده از محیط برنامه نویسی Arduino IDE می توان برنامه های مختلفی را برای آن نوشت.این مدل برد آردوینو از تراشه CH340 درایور استفاده میکند. جهت ارتباط برد با سیستم باید در ابتدا درایور CH340 را نصب کنید. برد آردوینو UNO CH340 از میکروکنترلر ATmega328P استفاده می کند و برای اتصال برد به سیستم، از یک کنترلر سریال به نام CH340 استفاده می کند. 14 پایه دیجیتال و 6 پایه آنالوگ برای ارتباط با سنسورها و ماژول ها در اختیار شما قرار گرفته شده است تا به بهترین روش ممکن زبان برنامه نویسی سی پلاس پلاس را به صورت ماژولار آغاز کنید.
- میکروکنترلر: ATmega328P
- ولتاژ عملکرد: 5 ولت
- ولتاژ ورودی: 7-12 ولت
- جریان خروجی دیجیتال: 20 میلی آمپر (برای هر پین)
- جریان خروجی آنالوگ: 0-5 میلی آمپر
- تعداد پینهای دیجیتال: 14 (از جمله 6 پین PWM)
- تعداد ورودی آنالوگ: 6
- حافظه فلش: 32 کیلوبایت (0.5 کیلوبایت برای بوتلودر)
- حافظه SRAM: 2 کیلوبایت
- سرعت کلاک: 16 مگاهرتز
- رابط USB به UART: CH340
- ابعاد: حدود 68.6mm x 53.4mm
برد آردوینو D1 با تراشه ESP8266
ESP8266-D1 یک برد توسعه کنندهی میکروکنترلر بیسیم 802.11 (وای فای) است که با محیط توسعهی آردوینو سازگاری دارد. این برد، ماژول ESP8266 که بسیار محبوب است، را به یک برد توسعهی کامل بر پایه آردوینو تبدیل کرده است. طراحی این برد بر اساس یک طراحی سختافزاری استاندارد آردوینو یعنی برد آردوینو UNO است. با توجه به اینکه برد D1 مشابه برد UNO است از تمامی شیلدهای مخصوص آردوینو UNO پشتیبانی میکند.
برد آردوینو D1 دارای یک رابط USB به سریال CH340 است که امکان اتصال و برنامهریزی مستقیم ازسیستم را فراهم میکند و تنها به یک کابل میکرو USB دیتا مورد نیاز است . پس از اتصال به سیستم و نصب درایور CH340 برای برد، ESP8266-D1 به عنوان یک پورت سریال COM استاندارد ظاهر میشود. با خرید برد D1 به نظر میرسد اینبار تراشه ESP8266 را در ظاهر برد Arduino uno خواهید داشت و تمامی شیلدهای برد آردوینو UNO با این برد قابل استفاده خواهد بود.
- میکروکنترلر: ATmega328P
- فرکانس میکروکنترلر: 16 مگاهرتز
- حافظه فلش: 32 کیلوبایت (حدود 2 کیلوبایت برای برنامهنویسی)
- حافظه RAM: 2 کیلوبایت
- تعداد پایههای دیجیتال: 14 (قابلیت ورودی و خروجی دیجیتال)
- تعداد پایههای آنالوگ: 8
- پینهای PWM: 6
- پورت USB: میکرو USB
- پایههای SPI و I2C: دارد (امکان اتصال به ماژولها و سنسورهای مختلف)
- ولتاژ کاری: 5 ولت
- ولتاژ ورودی: 7-12 ولت (DC)
- ابعاد: 18x45 میلیمتر
جمع بندی
اگر مهندس الکترونیک هستید و تازه فارغ التحصیل شدید و حتی دانش آموزش هستید باید بردی را انتخاب کنید که کمترین دردسر برای راه اندازی داشته باشد. علاوه بر آن بایستی هزینه و بودجه را هم برای شروع کار در نظر بگیرید. پروژه های ساده و آموزش محور نیاز به برد قوی با امکانات زیاد ندارد و یک برد با حداقل کاربرد و امکانات تمامی نیاز شما برای یادگیری الکترونیک و برنامه نویسی را فراهم خواهم کرد. در این بلاگ چهار برد را برای شروع کار با قیمت مقرون به صرفه انتخاب کنید.