راهنما راه اندازی ربات کنترلی با وای فای با میکرو آرم سری ST
هدف از انجام این پروژه به حرکت درآوردن و کنترل ربات در چهار جهت اصلی
توسط وای فای (به طور مثال از طریق برنامه Hercules) می باشد.
شما در این پروژه، موارد زیر را فرا خواهید گرفت:
- کار با ماژول وای فای ESP8266
- کار با درایور موتور L298
- راهاندازی درگاه UART میکروکنترلر ARM ST
- کار با GPIO های مختلف میکروکنترل ARM ST
موارد مورد نیاز:
- برد 2wheels controller
- پروگرمر ST-Link
- منبع تغذیه
- شاسی ربات 4 چرخ
- ماژول WiFi ESP8266
توضیحات برنامه:
ابتدا تنظیمات مربوط به ماژول WiFi را انجام میدهیم؛ نام و رمز برای آن انتخاب کرده و نوع پروتکل ارتباطی آن را مشخص میکنیم (TCP/IP).
سپس وقفه دریافت درگاه UART را فعال میکنیم. پس از فراخوانی تابع وقفه، بیت وقفه پاک شده و دوباره باید تنظیم شود. برای همین در تابع وقفه دوباره این کد تکرار شدهاست.
در ادامه تایمر 6 را نیز فعال کردهایم و LED روی برد را توسط این تایمر کنترل میکنیم.
تابع فراخوانی وقفه تایمر در انتهای سربرگ main.c اورده شدهاست.
نکته: دقت داشته باشید در برنامه CubeMX حتما وقفه تایمرها، UART و دیگر وقفههای مورد نیاز را فعال سازید.
درادامه وارد حلقه اصلی برنامه میشویم. در این حلقه، وظیفهای تعریف نشدهاست. برنامه کنترلی در سربرگ وقفه نوشته شدهاست.
همانطور که قبلا گفته شد، وقفه دریافت را دوباره فعال میکنیم:
دستوراتی که از طرف کاربر ارسال میشوند، با کاراکتر ‘@’ شروع میشوند. پس برای جلوگیری از بروز خطا، از دستوراتی که غیر از این الگو باشند، صرف نظر میشود.
کاربر میتواند 5 دستور کنترلی را ارسال کند ( در این پروژهها از نرمافزار Hercules برای ارتباط با برد و ارسال فرامین استفاده شدهاست).
دستورات قابل قبول عبارتند از:
- @F: حرکت رو به جلو
- @B: حرکت رو به عقب
- @R: حرکت به راست
- @L: حرکت به چپ
- @S: توقف
در صورتی که ارتباط با ماژول WiFi قطع شود، ربات از حرکت باز خواهد ایستاد.
کد سر برگ main.c به صورت زیر خواهد بود:
کد سربرگ xx_it.c به صورت زیر خواهد بود: