سرزمین الکترونیک - صفحه 3 از 62 - تولید محتوای آموزشی در زمینه های الکترونیک ، رباتیک ، میکرو ، نرم افزار

در جلسات قبلی پکیج “آموزش برنامه نویسی STM32 در آردوینو” در خصوص روشهای راه اندازی و برنامه نویسی بصورت مفصل بحث شد. در این جلسه از پکیج بعنوان اولین پروژه ی کاربردی، یک سیستم هوشمند را توسط STM32 پیاده سازی میکنیم. بعبارتی دقیقتر، توسط یک گوشی اندرویدی اقدام به کنترل وسایل خانگی یا خروجیهای متصل به مدار میکنیم. در این پروژه از پروتکل بلوتوث استفاده شده است. برای اینکه بتوان بصورت بی سیم و از راه دور اطلاعات را توسط پروتکل بلوتوث بین میکروکنترلر و وسیله ای که قصد کنترلش را داریم مبادله کنیم، در فرستنده نیاز به سخت افزاری داریم که بتواند این اطلاعات را از میکرو بگیرد و از طریق پروتکل بلوتوث ارسالشان کند و همچنین در گیرنده سخت افزار باید بتواند اطلاعات را از پروتکل بلوتوث بگیرد و تبدیل به دیتای لازم جهت ارسال از طریق پورت سریال بکند. ما قصد داریم از موبایل خود بعنوان فرستنده استفاده کنیم. برای این منظور یک اپلیکیشن اندرویدی طراحی کرده ایم. هر وسیله ی برقی چه وسایلی که برق DC کار میکنند و چه وسایلی که با برق AC کار میکنند را میتوان توسط اپلیکیشن طراحی شده از راه دور بصورت بیسیم کنترل کرد. به خروجیهای مدار میتوان وسایل مختلفی مانند کولرهای آبی و گازی و هیترها(وسایل گرمایشی و سرمایشی)، شیرهای قطع گاز و آب و قفلهای برقی را متصل کرد و بنابراین قادر خواهیم بود این وسایل را بصورت بیسیم توسط گوشی خود کنترل کنیم یا بعبارتی آنها را روشن و خاموش کنیم. ماژول بلوتوثی که برای دریافت دیتا در این پروژه از آن استفاده کرده ایم ماژول بلوتوث HC05 می باشد.

فایلهای ارائه شده همراه پروژه

سورس کد برنامه

آموزش برنامه نویسی

شماتیک مدار

اپلیکیشن اندرویدی طراحی شده برای مدار

در جلسه ی قبلی پکیج یعنی جلسه ی سوم، به راه اندازی برد و کدنویسی برای آن پرداخته شد و آموزش کار با پینهای I/O و واحدهای مختلفی از قبیل ADC بیان شد. در جلسه چهارم و پنجم پکیج آموزش برنامه نویسی STM32 در آردوینو که باهم منتشر شده اند، با استفاده از آموخته های قبلی خود، به راه اندازی سنسورها و ماژولها میپردازیم. در ابتدا سنسور دمای LM35 را که یک سنسور آنالوگ است بررسی میکنیم و روش کار با سنسور و دریافت خروجی از آن و همچنین تبدیل این خروجی که از جنس ولتاژ است به دما بر حسب درجه سانتیگراد را آموزش میدهیم. سپس آموزش کار با سنسور دمای DS18B20 را که یک سنسور دیجیتال است بیان میکنیم. در ادامه کار با سنسور DHT11 را آموزش میدهیم و دما و رطوبت محیط را توسط آن اندازه میگیریم. برای فاصله سنجی هم از آلتراسونیک استفاده میکنیم و آموزش سنجش فاصله را بیان خواهیم کرد. توسط ماژول HC05 که یک بلوتوث است برد را با دنیای بیرون از طریق پروتکل بلوتوث ارتباط میدهیم و به تبادل داده خواهیم پرداخت. ماژول ریدر RFID را مورد بررسی قرار میدهیم و آموزش کامل کار با آن را ارائه خواهیم داد و نهایتا ماژول GSM را راه اندازی میکنیم و اقدام به ارسال sms توسط آن میکنیم.

برنامه نویسی و راه اندازی ماژولها و سنسورها-2

  • آموزش کار با سنسور آنالوگ LM35 و راه اندازی آن و اندازه گیری دما
  • آموزش کار با سنسور دمای دیجیتال DS18B20 و راه اندازی آن
  • آموزش راه اندازی سنسور DHT11 و اندازه گیری دما و رطوبت محیط
  • آموزش کار با سنسور آلتراسونیک و روش راه اندازی آن و اندازه گیری فاصله
  • آموزش کا با ماژول بلوتوث HC05 و روش برقراری ارتباط با اندروید
  • آموزش کار با ماژولهای RFID و راه اندازی آنها
  • آموزش راه اندازی ماژولهای GSM(ماژول sim800)

در جلسه ی دوم از پکیج خود، به پروگرم کردن برد پرداختیم و ابتدا روشهای مختلف پروگرم کردن برد را معرفی کردیم و آنها را باهم مقایسه نمودیم. در ادامه ی جلسه ی 2، آموزش پروگرم کردن برد با روشهای معرفی شده همراه با ارائه ی مثالی بیان شدند. همچنین آموزش روش نصب بوتلودر روی برد بیان شد. در جلسه سوم پکیج آموزش برنامه نویسی STM32 در آردوینو ، سراغ راه اندازی و کدنویسی برای برد میرویم. در ابتدا بخش تغذیه ی برد را بررسی میکنیم و روشهای اعمال تغذیه به برد را بیان میکنیم. سپس سراغ پینهای I/O برد میرویم و پینهای دیجیتال و آنالوگ برد را راه اندازی میکنیم و مثال عملی برای آنها ارائه میکنیم. آموزش کار با واحد ADC برد و همچنین بخش PWM برد، با ارائه ی مثالهایی بیان شده اند. در ادامه LEDهای RGB بصورت کامل معرفی و راه اندازی شده اند. کار با نمایشگرهای کاراکتری و رله ها نیز بصورت کامل بیان شده است. در انتهای این جلسه پورت USART برد مورد بررسی قرار داده شده و آموزش کار با آن نیز بیان شده است.

برنامه نویسی و راه اندازی ماژولها و سنسورها-1

  • آموزش کار با پینهای I/O میکروکنترلر(پینهای دیجیتال)
  • آموزش راه اندازی و کار با واحد ADC میکروکنترلر(پینهای آنالوگ)
  • کنترل RGB LED
  • آموزش کار با رله و بررسی مدار راه انداز آن
  • آموزش کار با نمایشگر کاراکتری و روش راه اندازی آن
  • آموزش کار با واحد UART میکروکنترلر

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

پروگرم کردن

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

در جلسه اول پکیج آموزش برنامه نویسی STM32 در آردوینو ، در ابتدا با بیان دلایل و مثالهایی، ضرورت و مزیت استفاده از میکروکنترلرهای سری ARM را بیان کرده ایم. سپس به بررسی میکروکنترلر موردنظر خود پرداخته ایم و ویژگیها و قابلیتهای مهمی که دارد را بیان کرده ایم. در ادامه بردی که برای آموزشهای پکیج انتخاب کرده ایم را بصورت کامل مورد بررسی قرار داده ایم و ویژگیها و نقاط قوت برد را ذکر کرده ایم. سخت افزار برد را مورد بررسی قرار داده ایم و شماتیک برد و بخشهای سخت افزاری مختلف برد از جمله مدار تغذیه ی برد و مدار ریست آن را تحلیل کرده ایم تا دید بهتری نسبت به برد داشته باشید و بتوانید بهتر با آن کار کنید. سپس بصورت مختصر در خصوص آردوینو و سخت افزار و نرم افزار آردوینو صحبت کرده ایم. برد انتخابی خود را از لحاظ قیمت و قابلیتهایش، با بردهای آردوینوی معروف مانند آردوینو UNO، آردوینو NANO و آردوینو DUE مقایسه کرده ایم. در این جلسه هدف این است که کاربران یک دید کلی نسبت به پکیج و همچنین نسبت به برد پیدا کنند تا بتوانیم در جلسات بعدی بهتر با برد کار کنیم.

محتویات جلسه 1 پکیج آموزشی

  • مقایسه ی میکروکنترلرهای سری AVR و ARM
  • معرفی میکروکنترلر و بیان ویژگیها و خصوصیات آن
  • بیان ویژگیها و دلایل انتخاب برد میکروکنترلر STM32
  • بررسی سخت افزار برد و معرفی قطعات استفاده شده در برد
  • بررسی کامل شماتیک برد
  • مقایسه ی برد انتخابی با بردهای آردوینوی معروف مانند UNO و NANO و DUE و بیان مزایای آن
  • معرفی قطعات مورد نیاز در طول پکیج
  • معرفی ابزار های مورد نیاز در طرول پکیج
  • معرفی و نصب نرم افزار های مورد نیاز بری برنامه نویسی و کار با برد

بیشتر افرادی که قبلا با میکروکنترلرهای AVR کار کرده اند و قصد دارند برای بهبود عملکرد پروژه های خود و همچنین صنعتی تر کردن مدارهای خود، از میکروکنترلرهای سری ARM بجای میکروکنترلرهای AVR استفاده کنند و از امکانات بی نظیر سری ARM (مانند سرعت پردازش بالاتر، نویز پذیری کمتر، حافظه ی بیشتر و مصرف توان پایینتر) بهره ببرند ممکن است از انجام این کار ناتوان باشند و به دلیل عدم آشنایی با رجیسترهای میکروکنترلر و زبان برنامه نویسی آن و همچنین به دلیل عدم آشنایی با محیط توسعه ی KEIL که جهت برنامه نویسی میکروکنترلرهای خانواده ی ARM استفاده می شود، برای آنها کار کردن با میکروکنترلرهای ARM مشکل باشد. از طرفی محیط توسعه ی آردوینو به دلیل کاربر پسند بودن و سادگی کار با آن و همچنین فراوانی کتابخانه ها برای آن، محبوبیت فراوانی بین کاربران دارد. بنا به همین دلایل و همچنین به دلیل اینکه اطلاعات و مستندات مناسبی در این خصوص موجود نیست و اطلاعات موجود در اینترنت بسیار پراکنده و گمراه کننده است، اقدام به تهیه ی یک پکیج آموزشی جامع نمودیم. در این پکیج آموزشی ابتدا به مقایسه ی میکروکنترلرهای ARM و AVR پرداخته ایم. سپس میکروکنترلر STM32 انتخابی و برد آن و سخت افزارش را مورد بررسی قرار داده ایم. در ادامه چند روش برای پروگرم کردن برد و نحوه ی نصب بوتلودر روی میکروکنترلر STM32 را آموزش داده ایم. سپس به برنامه نویسی و راه اندازی واحدهای دیجیتال و آنالوگ میکروکنترلر و همچنین راه اندازی سنسورها و ماژولهای مختلف توسط برد پرداخته شده است. نهایتا در آخر برای جمع بندی پکیج خود، پروژه های کاربردی و عملی مختلفی از جمله هوشمندسازی منزل و ساختمان، قفل درب کارتی، سیستم امنیتی و … قرار داده شده اند.

توضیحات بیشتر در خصوص پکیج و سرفصلها در ادامه ی مطلب

مطالب سایت