هدف ما از انجام این پروژه چیست؟
در این بخش قصد داریم سنسور رطوبت مقاومتی GEBRABIT Resistive Soil Moistureرا به وسیله میکروکنترلر آرم، سری STM32F راه اندازی کنیم. به منظور استفاده راحت تر و بهینه تر در این پروژه از دو ماژول آماده GB633EN و GebraBitSTM32F303استفاده میکنیم.
این دو ماژول شامل مینیمم قطعات لازم سنسور رطوبت مقاومتی و میکروکنترلر STM32F میباشند که توسط تیم جبرابیت جهت آسان سازی کار فراهم شده اند.
در این آموزش چه چیزهایی یاد میگیریم؟
شما در این بخش ضمن راه اندازی و استفاده از سنسور رطوبت مقاومتی ، به طور خلاصه با نحوه تنظیم بخش های مختلف میکروکنترلر STM32 آشنا می شوید. همچنین برای راه اندازی این ماژول توسط واحد ADC ، با چگونگی استفاده از فایل کتابخانه و درایور مختص ماژول GB633EN، نحوه فراخوانی توابع و در نهایت دریافت داده های سنسور در کامپایلر Keilنیز آشنا خواهید شد.
برای انجام این پروژه به چه چیزهایی نیاز داریم؟
همانطور که احتمالا میدانید برای انجام این پروژه به سخت افزارها و نرم افزارهایی نیاز داریم. عناوین این سخت افزارها و نرم افزارها در جدول زیر در اختیارتان قرار داده شده که میتوانید با کلیک روی هرکدام از آنها، آنها را تهیه/دانلود کنید و برای شروع آماده شوید.
سخت افزارهای مورد نیاز
|
نرم افزارهای مورد نیاز
|
---|---|
GebraBit resistive soil moisture module
|
Keil compiler
|
STM32CubeMX program
|
|
ST-LINK/V2 programmer
|
ابتدا مانند تصویر زیر ماژول GEBRABIT Resistive Soil Moistureرا به صورت زیر به ماژول GebraBit STM32F303متصل می کنیم:
در نهایت مقادیر مربوط به میزان رطوبت را به صورت real time در پنجره ی watch1 کامپایل keil مشاهده می کنیم.
تنظیمات STM32CubeMX
در ادامه تنظیمات مربوط به هریک از بخش های ADC , RCC , Debug , Clock را در میکروکنترلرSTM32F303 برای راه اندازی ماژولGEBRABIT Resistive Soil Moisture را مرور می کنیم.
تنظیمات RCC
با توجه به وجود کریستال 8Mhz در ماژولGebraBit STM32F303 کلاک خارجی را در بخش RCC انتخاب می کنیم:
تنظیمات Debug&Programming
با توجه به دسترسی به پین های SWCLK و SWDIO در ماژولGebraBit STM32F303 ،برای کاهش تعداد پین هنگام Debug&Programming در بلوک SYS گزینه Serial Wire را در بخش Debug انتخاب می کنیم:
تنظیمات ADC
برای خواندن مقادیر آنالوگ و تبدیل آن به مقادیر دیجیتال از واحد ADC استفاده می کنیم. در بخش mode از پنجره ی کشویی IN1 گزینه ی IN1 Signle-ended را انتخاب می کنیم. از قسمت Configuration و در بخش Resolution گزینه ی ADC 12bit-resolution را انتخاب می کنیم. گزینه ی Continuous conversion mode را نیز Enable می کنیم.
تنظیمات Clock
تنظیمات کلاک مربوط به هریک از بخش های میکروکنترلر STM32F303 در این کد به شرح ذیل می باشد: