آردوینو آموزش آردوینو نمایشگر OLED پروژه های آردوینو

پروژه ساخت اسیلوسکوپ ساده با نمایشگر Oled برد آردوینو

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

شاید تابحال با ابزار هایی با نام اسیلوسکوپ مواجه شده‌اید که یکی از ابزار های کارآمد در دنیای الکترونیک و سخت افزار هستند، که در انواع مختلف و قابلیت های متفاوتی تولید می‌شوند. در این آموزش قصد داریم به کمک برد آردوینو و نمایشگر Oled 1306 یک اسیلوسکوپ ساده بسازیم تا شکل موج های مختلف را در آن نمایش دهیم. البته این اسیلوسکوپ ساخته ما قابلیت هایی که موارد صنعتی و شرکتی این دستکاه دارند را شامل نمی‌شود و تنها برای نمایش شکل موج ها در مدار های DC بکار می‌رود.  در ادامه این آموزش با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

 

Build a simple oscilloscope with Arduino and Oled display - دیجی اسپارک

 


اسیلوسکوپ با برد آردوینو


مجموعه برد های آردوینو از جمله برد های توسعه پرطرفدار بین مهندسین امبدد هستند که در مدل های مختلفی از جمله Micro ,  proMini , Nano , Uno و همچنین Mega قابل تهیه هستند، هسته مرکزی این برد های محبوب از سری AtMega328 می باشد. آردوینو پلتفرم سخت‌افزاری و نرم‌افزاری متن‌باز است. همان طور که قبل تر اشاره کردیم، پلتفرم آردوینو شامل یک میکروکنترلر تک‌بردی متن‌باز است که قسمت سخت‌افزار آردوینو را تشکیل می‌دهد. علاوه بر این، پلتفرم آردوینو یک نرم‌افزار آردوینو IDE که به منظور برنامه‌نویسی برای بردهای آردوینو طراحی شده‌است و یک بوت لودر نرم‌افزاری که بر روی میکروکنترلر بارگذاری می‌شود را در بر می‌گیرد.

 simple oscilloscope with Arduino

 


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


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

 


اسیلوسکوپ Oscope


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

 


روش کار پروژه اسیلوسکوپ ساده


در این پروژه با استفاده از قطعه ساده یعنی برد آردوینو نانو و نمایشگر Oled با دریاور SSD1306 و ابعاد ۰٫۹۶ اینچ، اشکال موچ بدست آمده از سورس مدنظر را با کمک آنالوگ به دیجیتال آردوینو (پین A0) اندازه‌گیری و نمایش خواهیم داد، مقادیر بصورت گراف هایی وابسته به زمان و ولتاژ در نمودار نمایش داده می‌شوند. به این ترتیب می‌توانیم شکل موج حاصل از ولتالژه ای مختلف را در نمایشگر مشاهده کنیم.

Build a simple oscilloscope with Arduino and Oled display

 


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


برد آردوینو نانو Nano

نمایشگر Oled 0.96

Arduino and Oled display

 


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


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

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

 


اتصالات و راه‌اندازی


در این بخش اقدام به برقراری اتصالات بین نمایشگر Oled و برد آردوینو نانو خواهیم کرد. نمایشگر ما یعنی Oled 0.96 برای برقراری ارتباط با برد آردوینو از پروتکل I2C استفاده می‌کند. برای ایجاد این ارتباط ار پین های i2c برد آردوینو استفاده خواهیم کرد، یعنی پین های A4 و A5 که به ترتیب به SDA و SCL در نمایشگر ما متصل می‌شوند. اتصالات را با توجه به جدول و شماتیک زیر برقرار کنید.

اتصالات ماژول OLED به برد آردوینو - دیجی اسپارک

 

  • شماتیک اتصالات پروژه اسیلوسکوپ ساده با آردوینو و نمایشگر Oled

Build a simple oscilloscope with Arduino and Oled display

در این بخش نوبت به کد های این پروژه می‌رسد،ابتدا چندبخش از این کد را مورد بررسی قرار خواهیم داد. در این کد برای راه‌انداز ینمایشگر از کتابخانه های Adafruit_SSD1306.h استفاده شد و در کنار این کتابخانه از Adafruit_GFX.h استفاده شده تا امکان نمایش گرافیک های مورد نیاز را داشته باشیم. همچنین از دو کتابخانه SPI , Wire در این کد در کنار دو کتابخانه قبل استفاده شده.

 

در این پروژه از پین A0 برای دریافت سیگنال از منبع، تحلیل در میکروکنترلر و در نهایت نمایش آن استفاده می‌شود. همچنین از یک پین برای کالیبره و یک پین نیز برای تولید PWM استفاده شده.

 

شما در این پروژه قادر هستید با توجه به Oled خود تنظیمات نمایشگر را تغییر دهید، تا روند نمایش مقادیر با توجه به ابعاد و درایور سخت افزار شما تنظیم شود.

 

در این بخش دو مورد حلقه For تعریف شده که برای نمایش خطوط عمودی و افقی محور ما هستند.

 

کد کامل پروژه اسیلوسکوپ ساده با آردوینو و نمایشگر Oled

 


جمع بندی


در این پروژه توانستیم یک اسیلوسکوپ ساده بسازیم تا بتوانیم سیگنال هایی را از منبع مورد نظر را نمایش دهیم. البته این پروژه کاربر های متفاوتی دارد یه این صورت که شما قادر خواهید بود مقادیر بدست امده از سنسور های مختلف را بصورت گراف با استفاده از این کد نمایش دهید و به پروزه خود یک ظاهر مناسب اضافه کنید.

 

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

 

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

 

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

CiferTech

فقط 10 نوع آدم در این دنیا وجود داره، اونی که باینری میفهمه و اونی که باینری نمیفهمه! ^-^

~ اینستاگرام: CiferTech

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

۲ دیدگاه