آموزش MSP430آموزش الکترونیک

آموزش برنامه نویسی لانچ پد MSP430G2 با Energia IDE

سلام. آموزش برنامه نویسی لانچ پد MSP430G2 با Energia IDE را آماده کردیم.

برد لانچ پد MSP430G2  چیست؟

MSP-EXP430G2 ابزاری برای توسعه a.k.a لانچ پد است که توسط Texas Instruments ارائه شده است. این برد در گروه MSP430 Value Line قرار دارد و می توانیم با آن تمام میکروکنترلرهای سری MSP430 را برنامه ریزی کنیم. این تخته قرمز براق زیبا برای یادگیری میکروکنترلر های مربوط به TI یا همان Texas Instruments بسیار مفید خواهد بود. یادگیری نحوه استفاده از میکروکنترلرهای TI بسیار مفید است زیرا این شرکت برد ها و میکروکنترلر های فراوانی دارد که از قیمت بسیار کمی شروع میشوند و بسیار انعطاف پذیر هستند. متاسفانه لانچ پد های MSP430 علی رغم انعطاف پذیری و قدرت بالا در ایران بسیار گمنام هستند.

ما در این آموزش با MSP430G2 LaunchPad و نحوه برنامه نویسی آن آشنا میشویم. با استفاده از این لانچ پد ها میتوانیم با میکروکنترلر های MSP430 کار کنیم که عملکرد 16 بیتی با سرعت عملیاتی تا 16 مگاهرتز را ارائه می دهد. این آموزش ها برای افراد تازه کار در الکترونیک نوشته شده است و از این رو هر موضوع تا حد امکان توضیح داده شده است. سخت افزار مورد نیاز این آموزش ها یک رایانه عادی و ابزار توسعه MSP430 Value Line LaunchPad با چند جزء اصلی الکترونیکی است که به راحتی می توانید در فروشگاه سخت افزار الکترونیک محلی خود پیدا کنید.

محتویات لانچپد MSP430G2

هنگام خرید ابزار توسعه MSP430G2 LaunchPad از TI یا هر فروشنده، مواد زیر موجود در جعبه خود را دریافت خواهید کرد.

  1. برد توسعه MSP-EXP430G2
  2. میکروکنترلرهای MSP430G2452 و MSP430G2553
  3. کابل USB کوچک
  4. میکرو کریستال اسیلاتور (32.7kHz)

محتویات لانچپد MSP430G2

برد توسعه MSP-EXP430G2

تابلوی رنگ قرمز زرق و برق دار، برد توسعه MSP-EXP430G2 است. این برد می تواند میکروکنترلر های TI را که تحت سری MSP430 قرار می گیرند ، برنامه ریزی کند. هدف اصلی این برد، بارگذاری کد از رایانه به MCU و خواندن داده های سریال از MCU برای اشکال زدایی است. این برد دارای یک دکمه و دو ال ای دی قابل برنامه ریزی در خود است. این برد از زمان راه اندازی خود تکامل زیادی یافته است و آنچه در زیر نشان داده شده است MSP_EXP430G2 Rev1.5 است.

کامپایل و بارگذاری کد در لانچ پد MSP430

میکروکنترلرهای MSP430G2452 و MSP430G2553

همانطور که قبلاً گفته شد ، برد MSP430 می تواند برای برنامه ریزی برای میکروکنترلرهایی که تحت سری Value MSP430 قرار دارند ، مورد استفاده قرار گیرد با استفاده از این کیت توسعه ، TI دو میکروکنترلر از سری MSP430 را ارائه می دهد که عبارتند از MSP430G2452 و MSP430G2553. هر دو 20 پین DIP IC با عملکرد مناسب هستند. به طور پیش فرض ، MSP430G2553 بر روی سوکت IC در برد توسعه شما قرار دارد و MSP430G2452 به طور جداگانه ارائه می شود. مشخصات فنی هر دو MCU در زیر آورده شده است.

نام میکروکنترلر مشخصات فنی
MSP430G255316kB Flash, 512B RAM, 16GPIO

2×16-bit Timer, Watch Dog Timer, Brown Out Reset

1×USI(IIC/SPI/UART), 8ch 10-bit ADC, 8ch Comparator

Capacitive Touch IO Module

MSP430G24528kB Flash, 256B RAM, 16GPIO

1×16-bit Timer, Watch Dog Timer, Brown Out Reset

1×USI(IIC/SPI), 8ch 10-bit ADC, 8ch Comparator

Capacitive Touch IO Module

همانطور که می بینید MSP430G2553 از مشخصات بهتری برخوردار است ، همچنین دارای یک ماژول UART است که هنگام اشکال زدایی با استفاده از Energia بسیار مفید خواهد بود. از این رو در این سلسله آموزش ها ، ما با استفاده از MSP430G2553 کلیه ویژگی های این کیت را بررسی میکنیم.

اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید.

کابل USB کوچک

کابل USB mini برای اتصال برد به رایانه برای بارگذاری کد استفاده میشود. همچنین هنگام اشکال زدایی (سریال مانیتور) ، داده های MCU از طریق این کابل دریافت می شوند. این کابل همچنین برق را در اختیار تابلو قرار می دهد ، بنابراین حتی می توانید از یک شارژر موبایل برای تغذیه تابلوی خود از طریق این کابل پس از بارگذاری برنامه استفاده کنید.

میکرو کریستال نوسانگر

TI همچنین یک اسیلواتور کریستالی 32kHz به همراه کیت توسعه را ارائه می کند. این کریستال را می توان به تخته لحیم کرد اما کاملاً اختیاری است. از آنجا که MSP430G2553 IC دارای یک نوسانگر داخلی 16MHz است که برای شروع کار باید برای ما کافی باشد.

روشن کردن برد توسعه MSP430G2

قبل از شروع هر کاری TI قبلاً یک نمونه را در میکروکنترلر MSP430G2553 خود قرار داده است، بنابراین به راحتی میتوانیم تغذیه را به برد متصل کنیم و بررسی کنیم آیا کار میکند یا خیر. پس از تغذیه باید مشاهده کنید ال ای دی قرمز و سبز در گوشه سمت چپ پایین تخته به طور متناوب میدرخشند. سپس میتوانید دکمه متصل به P1.3 را فشار دهید تا بررسی کنید که آیا سنسور دمای داخلی MSP2553 کار میکند یا خیر. با قرار دادن انگشت خود روی سنسور باید مشاهده کنید که چراغ قرمز روشن میشود که نشان دهنده افزایش دما است.

نرم افزار برنامه نویسی (IDE) برای لانچ پد MSP430

Texas Instruments به ما امکان می دهد تا میکروکنترلرهای خود را از طریق محیط های مختلف برنامه ریزی کنیم. مورد رسمی Code Composer Studio است که معمولاً با CCS شناخته می شود. این نرم افزار رایگان است.

از آنجا که در این مجموعه آموزش مبتدیان مطلق را هدف قرار گرفته ایم، ما از محیط توسعه دیگری به نام Energia استفاده می کنیم. Energia یک محیط آزاد و متن باز است که به ما امکان می دهد تا میکروکنترلرهای TI را به راحتی برنامه ریزی کنیم. هدف اصلی Energia این است بتوانید که برنامه نویسی TI MCU را به راحتی برنامه نویسی در Arduino انجام دهید. بنابراین Energia یک معادل برای آردوینو است که از میکروکنترلر های TI پشتیبانی می کند. افرادی که از آردوینو استفاده کرده اند پس از بارگیری و راه اندازی Energia IDE این مسئله را به طور کامل متوجه میشوند.

دانلود و راه اندازی Energia IDE

همانطور که قبلاً گفته شد Energia یک محیط توسعه متن باز و رایگان است (دانلود نرم افزار Energia IDE). نسخه را بر اساس سیستم عامل خود انتخاب کنید. پس از بارگیری ZIP ، آن را فقط در محل مورد نظر خود استخراج کرده و پوشه را باز کنید. برنامه ای به نام Energia را پیدا می کنید آن را راه اندازی کنید و مانند چیزی در زیر به نظر برسد.

نرم افزار برنامه نویسی (IDE) برای لانچ پد MSP430

کاربران قدیمی آردوینو، میگویند این فقط نرم افزار آردوینو است که لباس قرمز به تن کرده است !

پروژه ال ای دی چشمک زن با MSP430G2

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

توضیحات پین های MSP430G2

این تصویر را ذخیره کنید ، زیرا در حین برنامه نویسی MSP430 از طریق Energia ، همیشه به آن احتیاج خواهیم داشت.

درک برنامه LED چشمک زن

بیایید با برنامه چشمک زن شروع کنیم که در آن LED1 (رنگ قرمز) را که به پین ​​P1.0 میکروکنترلر شما متصل است چشمک میزند.

بارگیری و راه اندازی Energia IDE

برای باز کردن این برنامه به File -> Example -> Basics -> Blink بروید.

برنامه زیر در IDE شما ظاهر می شود.

#define LED RED_LED
void setup() {               
    pinMode(LED, OUTPUT); 
}

void loop() { 
    digitalWrite(LED, HIGH); 
    delay(1000); 
    digitalWrite(LED, LOW); 
    delay(1000); 
}

بیایید کد فوق را به صورت خط به خط بفهمیم اما قبل از آن بگذارید بفهمیم ساختار برنامه نویسی اساسی Energia چگونه است. هر برنامه Energia دارای دو عملکرد اجباری خواهد بود ، آنها Void Setup () و Void Loop () هستند.

کدی که در داخل Void Setup () وجود دارد ، فقط یک بار اجرا می شود و برنامه موجود در داخل void loop () برای همیشه اجرا می شود. تعریف پین ها و یکربندی ها در Void Setup () انجام می شود و برنامه اصلی که باید برای همیشه اجرا شود در داخل void loop () نوشته خواهد شد.

خط اول برنامه ماکرو نامیده می شود. Energia IDE به اندازه کافی هوشمند است تا کلماتی مانند RED_LED ، GREEN_LED ، TEMP_SENSOR و موارد دیگر را درک کند. اینها چیزی نیست جز نام پین هایی که سخت افزار به آنها وصل شده است. برای راحتی برنامه نویسی از ماکرو استفاده می کنیم که می گوید به جای استفاده از نام “RED_LED” در برنامه من فقط با استفاده از از #define همانطور که در کد زیر نشان داده شده است از “LED” استفاده می شود. یعنی نوشتن LED همان کار نوشتن RED_LED را میکند.

#define LED RED_LED

در مرحله بعدی ما به عملکرد void setup ما وارد می شویم ، این جا جایی است که ما به MCU می گوییم از کدام پین ها باید به عنوان پین ورودی استفاده شود و از کدام پین ها به عنوان پین خروجی استفاده شود. در برنامه ما فقط از LED استفاده می کنیم که یک وسیله خروجی است ، بنابراین ما اعلام می کنیم که این یک پین خروجی است.

void setup() {               
  pinMode(LED, OUTPUT);     // تعریف پین ال ای دی به عنوان خروجی
}

pinMode () برای تعین پین های ورودی / خروجی استفاده می شود و سپس نام و نوع پین را در براكت می گوییم. در اینجا نام پین LED و نوع پین OUTPUT یا همان خروجی است.

روش های زیادی وجود دارد که از طریق آنها می توانیم پین را پیکربندی کنیم. در این مثال ما LED را با استفاده از ماکرو #define نامگذاری کرده ایم ، اما می توانیم آن را با استفاده از نام اصلی خودش نیز نامگذاری کنیم. همچنین میتوانیم با توجه به تصویری که در بالا تر ارائه شد شماره آن پین را وارد کنیم. سه خط کد زیر همه عملکرد یکسانی را انجام میدهند.

pinMode(LED, OUTPUT);
pinMode(2, OUTPUT); 
pinMode(P1.0, OUTPUT);

در مرحله بعدی به عملکرد void Loop () میرسیم. در اینجا باید کدی را بنویسیم تا چراغ چشمک بزند. برای چشمک زدن یک چراغ ، باید آن را روشن کنیم و به اندازه دلخواه منتظر بمانیم و سپس آن را خاموش کرده و دوباره پس از مدتی آن را روشن کنیم.

برای روشن یا خاموش کردن پین در Energia ، باید از عملکرد digitalWrite () استفاده کنیم.

digitalWrite(LED, HIGH);   // روشن کردن ال ای دی

در اینجا نام پین LED و حالت آن High (روشن) است ، به همین ترتیب می توانید با استفاده از حالت LOW آن را خاموش کنید.

digitalWrite(LED, LOW);   // خاموش کردن ال ای دی

همانطور که قبلاً گفته شد نام پین می تواند هر چیزی مانند LED ، 2 یا P1.0 برای این پین باشد. بنابراین اشکال دیگر مانند خطوط زیر هم ممکن است.

digitalWrite(2, LOW); digitalWrite(P1.0, LOW);

اکنون ، ما یاد گرفته ایم که چگونه پین ​​ها را روشن یا خاموش کنیم. ما یاد خواهیم گرفت که از delay() استفاده کنیم که با آن میتوانیم بر حسب میلی ثانیه مدت زمان انتظار را مشخص کنیم.

delay(1000);               // تاخیر 1 ثانیه ای

بنابراین بیایید همه اینها را در Loop ترکیب کنیم. ما باید LED را برای 1 ثانیه روشن کنیم ، سپس آن را خاموش کنیم و دوباره 1 ثانیه منتظر باشیم تا روشن شود. این چرخه باید برای همیشه ادامه یابد. بنابراین برنامه ما چیزی شبیه به این خواهد بود :

void loop() {
  digitalWrite(LED, HIGH);   // روشن کردن ال ای دی
  delay(1000);               // تاخیر 1 ثانیه ای
  digitalWrite(LED, LOW);    // خاموش کردن ال ای دی
  delay(1000);               // تاخیر 1 ثانیه ای
}

کامپایل و بارگذاری کد در لانچ پد MSP430

مرحله بعدی بارگذاری این برنامه در برد MSP خواهد بود. برای این کار به سادگی با استفاده از کابل USB mini برد خود را به رایانه متصل کنید و مدتی صبر کنید. درایورهای بورد باید به طور خودکار شروع به نصب کنند. سپس Device Manager را باز کنید و در زیر گزینه ports COM باید نام Board خود را مانند تصویر زیر مشاهده کنید.

کامپایل و بارگذاری کد در لانچ پد MSP430

اگر برد شما شناسایی نشده است، لازم است نصب درایور ها را به صورت دستی انجام دهید.

سپس پورت COM که به برد شما متصل است را یادداشت کنید. در تصویر بالا مشاهده میکنید که برد ما به پورت COM4 متصل است. سپس به Energia IDE بروید و در قسمت Tools -> Port درگاهی را که یادداشت کردید را انتخاب کنید. همانطور که گفته شد برای من COM4 بود و ممکن است برای شما متفاوت باشد. سپس به  Tools -> Boards بروید و MSP-EXP430G2553LP را انتخاب کنید. پس از انجام مراحل بالا باید متنی مشابه تصویر زیر را در گوشه سمت راست پایین نرم افزار Energia IDE مشاهده کنید.

برنامه نویسی MSP430G2 با استفاده از نرم افزار Energia

اکنون روی نماد بارگذاری در گوشه بالا سمت چپ کلیک کنید و برنامه شما باید شروع به بارگذاری کند. اگر همه چیز خوب انجام شد ، باید پیام “Done uploading” را مانند تصویر زیر مشاهده کنید.

بارگذاری برنامه در لانچ پد MSP430

ممکن است در این مرحله خطای متداولی به نام “unable to find a device matching 0451:f432” را مشاهده کنید. اگر این خطا را گرفتید ، مرحله بعدی را دنبال کنید.

در غیر اینصورت هنگامی که برنامه بارگذاری شد ، چراغ قرمز را در برد با تأخیر 1000 میلی ثانیه ای (1 ثانیه) چشمک میزد.

ارور unable to find a device matching 0451:f432

این خطا با Energia IDE بسیار متداول است ، اما خوشبختانه یک راه حل دائمی برای این وجود دارد .

1. فایلی که در مسیر

<energia محل نصب>\hardware\tools\DSLite\DebugServer\drivers\MSP430.dll

قرار دارد را در

<energia محل نصب>\hardware\tools\msp430\bin\

کپی کنید.

2. فایل

<energia محل نصب>\hardware\energia\msp430\boards.txt

را در 2 قسمت ویرایش کنید و rf2500 را با tilib جایگزین کنید.

3. energia را ریستارت کنید و اکنون باید مشکل شما حل شده باشد.

قسمت بعد : آموزش استفاده از Digital Read/Write در لانچ پد MP430GT

حتما ببینید :  آردوینو نانو چیست ؟ (قیمت خرید برد Arduino Nano + مشخصات)
نظرتان را در مورد این مطلب با ستاره دادن اعلام کنید امیدوارم این مطلب برای شما مفید بوده باشد. نظرات ، مشکلات و پیشنهادات خود را در پایین صفحه اعلام کنید

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا