آردوینو برد ESP8266 برد Nodemcu برد ویموس Wemos نمایشگر OLED

آموزش راه اندازی ماژول فاصله سنج SRF و نمایشگر Oled به کمک برد ESP8266

نوشته شده توسط CiferTech

ماژول فاصله سنج SRF کاربردهای مختلفی در رباتیک و گجت‌های مختلف دارد. این ماژول قابلیت سنجش مانع به صورت سونار را دارد. در این آموزش با استفاده از راه اندازی ماژول فاصله سنج SRF اقدام به محاسبه فاصله و نمایش آن در سریال مانیتور نرم‌افزار Arduino IDE خواهیم کرد. در ادامه مقادیر بدست آمده را با استفاده از ماژول نمایشگر ۰٫۹۶ Oled نمایش می‌دهیم. روش خواندن و نمایش اطلاعات در نمایشگر OLED حائز اهمیت است. در ادامه این آموزش با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

آموزش راه اندازی ماژول فاصله سنج SRF با برد Nodemcu - دیجی اسپارک

 


برد ESP8266


ماژول های ESP32 و ESP8266 ساخت شرکت Espressif Systems از در دسترس ترین تراشه های اینترنت اشیا هستند. و همچنین قیمت پایین تری نسبت به دیگر تراشه های اینترنت اشیا دارند و برای توسعه کد های آن میتوانیم از نرم افزار Arduino استفاده کنیم که دسترسی آسان تری را برای کاربر فراهم میکند.

برخی از ویژگی های ESP8266

  • ماژول شبکه و میکروکنترولر ESP8266 یکی از معروفترین و ارزان ترین و دردسترس ترین تراشه های اینترنت اشیا میباشد.
  • این ماژول با دارا بودن میکروکنترولر قدرتمند بهمراه ارتباط شبکه WIFI داخلی،
  • پشتیبانی کامل فول استک TCP/IP
  • و همچنین با ارائه رابط های سخت افزاری کافی گزینه مناسبی برای کاربرد های کوچک و کم مصرف اینترنت اشیا میباشد.
  • این میکروکنترولر در سال ۲۰۱۴ به بازار عرضه گردید.

 


ماژول نمایشگر Oled 1306


نمایشگر OLED به واسطه تولید رنگ‌های اورگانیک و یا همان طبیعی و مصرف انرژی بسیار ناچیز، مورد توجه هستند. معمولا در پروژه های اینترنت اشیا و دیگر پروژه های امبدد از برای نمایش متن و مقادیر مختلف از نمایشگرهای Oled استفاده می‌شود. این ماژول ها در انواع مختلف بسته به نوع درایور راندازه یافت می‌شوند که یکی از پرطرفدارترین آن ها نمایشگر OLED با SSD1306 است. این نوع از Oled ها معمولا در اندازه های ۰٫۹۶ و ۱٫۳ اینچ ساخته می شوند همچنین پروتکل ارتباطی Oled ها I2C می باشد. به عبارتی فقط با اشغال کردن ۴ پایه از برد آردوینو ارتباط برقرار می‌کنند.

نمایش دما در OLED با 8266/ESP 32

 


ماژول فاصله سنج SRF


این نوع از ماژول‌های فاصله سنج در انواع مختلفی تولید می شوند، که از محبوب ترین آن ‌ها می‌توان SRF-04 و SRF-05 را نام برد. نحوه کارکرد این ماژول ها با استفاده از دو نوع قطعه آلتراسونیک است که بر روی ماژول قرار دارد. یکی فرستنده امواج فراصوت و دیگری گیرنده امواج است. امواج التراسونیک بر اساس زمان ارسال بازخورد امواج، قادر به محاسبه فاصله تا جسم خواهد بود. همان طور که ذکر شد در این ماژول دو نوع قطعه التراسونیک وجود دارد که یکی از آن ها از نوع T یا فرستنده و دیگری از نوع R یا دریافت کننده است. پس ماژول به این صورت کار می کند که با ارسال و دریافت امواج التراسونیک فاصله با اجسام را در نهایت قابل محاسبه می کند.


وسایل مورد نیاز


ماژول فاصله سنج SRF04

برد ESP8266

نمایشگر Oled 0.96

وسایل مورد نیاز تشخیص فاصله SRF با برد Nodemcu - دیجی اسپارک

 


نصب کتابخانه مورد نیاز


ابتدا در نرم افزار Arduino IDE اقدام به نصب کتابخانه مورد نیاز خواهیم‌کرد. مراحل زیر را دنبال کنید:

  1. این مسیر را دنبال کنید Sketch Include Library > Manage Libraries
  2. کلمه Adafruit SSD1306  را جستجو کنید.
  3. کتابخانه را نصب کنید.

افزودن کتابخانه به نرم افزار آردوینو - دیجی اسپارک

نمایش دما در OLED با 8266/ESP 32

 

  • سپس کلمه “GFX” را جستجو کنید و آن را نصب کنید.

نمایش دما در OLED با 8266/ESP 32

 


تست و راه ‌اندازی


در این قسمت تنها با استفاده از برد ESP8266 که البته در این آموزش از Nodemcu استفاده شده و ماژول فاصله‌سنج مقادیر بدست آمده را در سریال مانیتور نمایش خواهیم داد. اتصالات را مطابق جدول زیر برقرار کنید همچنین کد را با تنظیمات پیش‌فرض در برد ESP8266 خود کامپایل کنید. ماژول فاصله سنج SRF دارای ۴ پایه است که مطابق جدول زیر به برد Nodemcu متصل می‌کنیم. در ادامه شماتیک اتصالات هم نمایش داده شده است.

 

کد های این بخش از پروژه به شرح زیر است، ابتدا بخش های مهم آن را مورد بررسی قرار می دهیم. در دو خط اول پایه های ۴ و ۵ یا همان D1 ,D2 را نام گذاری می‌کنیم.

 

در بخش void setup، حالت پین های Trig و Echo را مشخص خواهیم کرد به این معنا که ورودی یا خروجی بودن آن‌ها را مشخص می‌کنیم، همچنین حالت LED داخلی در برد را خروجی قرار می‌دهیم.

 

در این قسمت از کد یعنی void loop محاصبات مورد نیاز انجام خواهد شد به این صورت که ابتدا به پایه Trig یک پالس به طول حداقل ۱۰ میکرو ثانیه اعمال می‌کنیم، در ادامه ماژول به شکلی طراحی شده که ۸ پالس با فرکانس ۴۰ کیلو هرتز ارسال می‌کند از طریق سنسور srf نوع T، پس از ارسال پالس، پایه Echo در حالت ۱ قرار می‌گیرد و تا زمانی که پالس برگشتی توسط ماژول دریافت نشود، Echo همچان در حالت ۱ باقی می‌ماند، پس با محاصبه زمانی که این پایه در حالت یک بوده زمان رفت و برگشت پالس را بدست آورده‌ایم که باید این مقدار تقسیم بر ۲ شود تا فاصله واقعی را بدست آوریم.

 

کد کامل پروژه راه اندازی ماژول فاصله سنج SRF

 

 


نمایش مقادیر در نمایشگر Oled


در این مرحله اقدام به راه‌اندازی نمایشگر Oled برای نمایش مقادیر بدست آمده خواهیم کرد. ایتدا اتصالات را مطابق جدول زیر برقرار کنید.

کد این پروژه تفاوت چندانی با کد قبل ندارد بجز مواردی که مربوط به را‌ه‌اندازی نمایشگر Oled است، پس باهم این موارد را بررسی خواهیم کرد. ابتدا کتابخانه های مورد نیاز را معرفی می‌کنیم.

 

در این قسمت طول و عرض نمایشگر Oled را وارد می‌کنیم.

 

در ادامه پایه های مربوط را نام‌‌گذاری میکنیم در ضمن پایه های SCL, SDA در نمایشگر Oled، بطور پیشفرض کتابخانه مورد استفاده، به پایه های I2C برد ESP8266 متصل می‌گردند.

 

در بخش void loop توابع مربوط به راه اندازی نمایشگر Oled را فراخوانی می‌کنیم، برای مثال اندازه فونت و رنگ متون را مشخص خواهیم‌کرد.

 

کد کامل پروژه راه اندازی ماژول فاصله سنج SRF و نمایشگر Oled

 

راه اندازی ماژول فاصله سنج SRF و نمایشگر Oled - دیجی اسپارک

 


جمع بندی


در این آموزش با استفاده از ماژول فاصله سنج SRF04، یک نمایشگر Oled و همچنین برد ESP8266 یک دستگاه فاصله‌سنج ساخته ایم که بر اساس استاندارد متریک و دقت یک سانتی‌متر کار می‌کند. از این پروژه می توانید استفاده های زیادی داشته باشید بدلیل جامع بودن کاربرد آموزش و همچنین قابل ذکر است، بدلیل پایه بودن کد می توان در پروژه های دیگر نیز از این کد استفاده داشت.

  • تنظیمات منوی tools در نرم افزار آردوینو نیز مانند تصویر زیر است.

 

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

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

CiferTech

سلام، معمولا من رو با اسم سایفر می شناسند، دانشجوی الکترونیک هستم، و علاقمند به هک، البته این لفظ همیشه به این معنا نیست که کارهایی که به اصطلاح غیر قانونی هستند رو انجام بدم، هک برای من مثل حل کردن یک پازل یا پیدا کردن راه حل در موقعیت مختلف هست و در کل یک ابزار قدرتمند. پس دوست دارم از هر چیزی سر دربیارم و اطلاعاتی داشته باشم :)

تبادل نظر و رفع عیب با ثبت دیدگاه

۲ دیدگاه

  • با سلام، ضمن تشکر بابت این آموزش خوب، در بخشی از متن درج شده این OLED ها با اشغال ۴ پایه از آردینو راه اندازی می شوند، در حالی که پایه های GND و VCC جز مسیرهای دیتا و پایه های اشغال شده حساب نمی شود. لذا این نمایشگرها با اشغال ۲ پایه راه اندازی می شود.

    • با سلام، با تشکر از توجه شما.
      بله اگر پایه های تغذیه ماژول را حساب نکنیم درست است، البته در oled هایی با پروتکل SPI تعداد پایه ها با این تفصیر به ۵ خواهد رسید.