آموزش رزبری پای رزبری پای

پروژه ساخت دماسنج و رطوبت سنج با رزبری پای پیکو Pico و میکروپایتون

create-temperature-and-humidity-display-with-oled-raspberry-pico-micropython-digispark
نوشته شده توسط پریسا پوربلورچیان

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

دماسنج و رطوبت سنج با رزبری پای پیکو - دیجی اسپارک

 


برد رزبری پای پیکو RASPBERRY PI PICO


رزبری پای Pico یک برد توسعه یافته بر پایه تراشه RP2040 است. RP2040 یک پردازنده ی ۳۲ بیتی dual ARM Cortex-M0+ Microcontroller است. تراشه از یک سیلیکون ۴۰nm با ابعاد ۷X7 میلی متری از پکیج QFN-56 SMD است. فرکانس پردازنده ۱۳۳MHz و حافظه SRAM برابر با ۲۶۴KB است. برای کدنویسی رزبری پای پیکو از زبان برنامه نویسی میکروپایتون استفاده می‌کنیم. بهترین نرم افزار برای کار با برد رزبری پای پیکو THONNY IDE است. برد رزبری پای پیکو از ۴۰ ردیف پین هدر با استایل ۲۱X51 با ضخامت ۱ میلی متری است. از این ۴۰ پایه ۲۶ پایه منحصرا با ولتاژ ۳٫۳ ولت برای GPIO یعنی پایه های ورودی و خروجی است. از این ۴۰ پایه ۲۳ برای پایه های دیجیتال است. رزبری پای پیکو دارای ولتاژ داخلی ۳٫۳ ولت است و در تمامی پایه ها ثابت است. ۲۶ پایه از ۳۰ پایه RP2040 قابل استفاده است.

  • پایه های GPIO0 تا GPIO22 پایه های دیجیتال هستند.
  • پایه های GPIO26 – GPIO28 به عنوان دیجیتال و ورودی ADC قابل استفاده است.
  • پایه های GP0, GP1 پایه های UART هستند.
  • پایه های GP26-27-28 پایه های ADC است.
  • پایه های GP16-17-18-19 پایه های SPI است.
  • پایه های GP4-GP5 پایه های I2C است.

آموزش میکروپایتون با رزبری پای پیکو بخش اول: معرفی و شروع کار با برد

 سپس برای نصب نرم افزار THONNY IDE آموزش بخش دوم را مطالعه کنید.

آموزش میکروپایتون با رزبری پای پیکو بخش دوم: نرم افزار Arduino و Thonny

پروژه ساخت دماسنج و رطوبت سنج با رزبری پای پیکو Pico - دیجی اسپارک

 


اتصال سنسور DHT11 به PICO


برای انجام اتصالات فقط به سه پایه نیاز داریم. پایه دیتا OUT، پایه تغذیه VCC و پایه GND که در Pinout رزبری پای پیکو مشخص است که هر پایه میتوانید چه ماهیتی داشته باشد. در اجرای این پروژه به صورت دلخواه برای اتصال پایه دیتا OUT از هر کدام از پایه های GP که با رنگ سبز مشخص شده است میتوانید استفاده کنید ( در این پروژه از پایه GP16 استفاده شده است) سپس پایه تغذیه VCC را ۳٫۳ ولت و یکی از پایه های GND را انتخاب کنید.

اتصالات ساخت دماسنج و رطوبت سنج با رزبری پای پیکو - دیجی اسپارک

 

  • پایه OUT سنسور را به پایه GP16 اتصال دهید.
  • پایه VCC سنسور را به پایه ۳٫۳ ولت اتصال دهید.
  • پایه GND سنسور  را به پایه GND اتصال دهید.

نمایش دما رطوبت روی OLED با رزبری پای پیکو - دیجی اسپارک

 


راه اندازی سنسور DHT با PICO


 سنسور DHT11 کالیبره شده و دارای خروجی دیجیتال است. محدوده اندازه گیری رطوبت بین ۲۰ تا ۹۰% RH و محدوده‌ی دما از ۰ تا ۵۰ درجه سانتی گراد می‌باشد. ولتاژ کاری ماژول DHT بین ۳٫۳ تا ۵ ولت DC است. فاصله انتقال سیگنال در ماژول DHT11 تا ۲۰ متر می‌باشد. ماژول دما و رطوبت DHT11 بسیار مقرون به صرفه، دارای کیفیت‌ عالی و واکنش سریع نسبت به تغییر دمای محیط است. این سنسور دما رطوبت به ترتیب دارای ۳ پایه GND, VCC, Signal می‌باشد. سنسور dht قابلیت نمایش دما و روطوبت را دارد که میتوانید با هر میکروکنترلی به راحتی توسط کتابخانه ی توسعه یافته برای آن راه اندازی کرد. در این آموزش نیاز به اندازه گیری دمای منفی نداریم. برای راه اندازی سنسور DHT11 در رزبری پای پیکو و نرم افزار THONNY IDE باید کتابخانه آن را به هر دو معرفی کنیم. برای اینکار نرم افزار THONNY IDE را باز کنید و مطابق با روش زیر پیش بروید.

 

معرفی کتابخانه DHT11 به نرم افزار THONNY

در قدم اول دو روش برای فراخوانی کتابخانه و معرفی آن به نرم افزار THONNY وجود دارد. یکی از طریق مسیر View/ Files که در در ستون سمت چپ در ابتدا فایل کتابخانه دانلودی را وارد می‌کنید. سپس در منو پایین Raspberry Pi PICO کتابخانه را اضافه ADD می‌کنید. روش دوم اضافه کردن دستی کتابخانه به برنامه است. به این طریق که فایل کتابخانه را در یک تب جدید در نرم افزار وارد کرده و با نام خودش در برد رزبری پای پیکو ذخیره می‌کنید. در ابتدا کتابخانه را وارد نرم افزار کنید.

 

این برنامه را با اسم dht.py در برد رزبری پای پیکو Raspberry Pi PICO ذخیره کنید.

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

 

تا این مرحله فقط کتابخانه dht را در برد رزبری پای پیکو با نام dht.py ذخیره کردیم. حالا میتوانیم یک کد راحت برای نمایش دما رطوبت در کنسول نرم افزار نمایش دهیم. یک تب جدید باز کنید. کد زیر را کپی و انتقال دهید. برنامه را با نام دلخواه dht11test.py در سیستم ذخیره کنید.

نصب کتابخانه DHT در رزبری پای پیکو - دیجی اسپارک

 

 

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

 

همانطور که در شل مشاهده می‌کنید، دیتای دما رطوبت از سنسور خوانده شده و نمایش داده می‌شود.

 

برای معرفی ورودی و استفاده از GP که به سنسور متصل شده است، از تابع زیر استفاده می‌کنیم. سنسور به GP16 متصل شده و پول دان است.

 

برای نمایش دیتای دما از سنسور DHT11 از تابع زیر استفاده کنید.

 

برای نمایش دیتای رطوبت از سنسور DHT11 از تابع زیر استفاده کنید.

 

برای نمایش دیتای دریافتی رطوبت و دما از سنسور از تابع زیر استفاده کنید.

 


اتصال نمایشگر OLED به PICO


برای اتصال نمایشگر OLED به رزبری پای پیکو از رابط I2C استفاده می‌کنیم.

نقشه پایه های برد رزبری پای پیکو Pico - دیجی اسپارک

 

در پین اوت بالا پایه هایی که با رنگ آبی و فلش آبی مشخص شده است، پایه های ارتباطی I2C در پیکو هستند که مجاز به استفاده از آن ها هستیم.

شماتیک اتصال OLED به برد رزبری پای پیکو Pico - دیجی اسپارک

 

  • پایه VCC نمایشگر OLED را به پایه ۳٫۳ ولت پیکو اتصال دهید.
  • پایه GND نمایشگر OLED را به پایه GND پیکو اتصال دهید.
  • پایه SDA نمایشگر OLED را به پایه GP0 پیکو اتصال دهید.
  • پایه SCL نمایشگر OLED را به پایه GP1 پیکو اتصال دهید.

پروژه دماسنج دیجیتال با رزبری پای پیکو Pico - دیجی اسپارک

 


راه اندازی نمایشگر OLED با PICO


برای راه اندازی نمایشگر OLED با رزبری پای پیکو قبلا در یک آموزش کامل روش نصب درایور SSD1306 به صورت کامل آموزش داده شده است. بر روی لینک زیر کلیک کنید.

راه اندازی نمایشگر OLED با رزبری پای PICO

اما مراحل اصلی را یک بار دیگر در این آموزش با هم اجرا می‌کنیم. برای راه اندازی OLED به درایور SSD1306 نیاز داریم. همانند روش قبل یک تب جدید در نرم افزار THONNY ایجاد کنید. درایور را کپی و انتقال دهید. سپس این تب را با نام SSD1306.PY در مسیر RASPBERRY PI PICO ذخیره کنید.

 


نمایش دما رطوبت با میکروپایتون


پس از فراخوانی کتابخانه DHT11 و درایور SSD1306 برای نمایشگر OLED در تب های جداگانه بایستی از ترکیب هر دو در کدنویسی پروژه استفاده کنیم.

  • فراخوانی کتابخانه DHT11
  • فراخوانی کتابخانه SSD1306
  • توابع مربوط به معرفی سنسور DHT11  مشخص کردن پایه دیتا
  • مشخص کردن ابعاد OLED
  • مشخص کردن توابع I2C برای نمایشگر OLED
  • مشخص کردن پایه های I2C برای OLED
  • نوشتن تابع نمایش متن در OLED
  • نوشتن تابع نمایش دیتا در OLED
  • دریافت دیتا دما از سنسور DHT11
  • دریافت دیتا رطوبت از سنسور DHT11

در نهایت با ترکیب هر دو برنامه، میتوانیم یک کد سالم برای این پروژه بنویسیم. کد را کپی و به THONNY در یک تب جداگانه اضافه کنید. اسم دلخواه برای این تب در نظر بگیرید و میتوانید در سیستم و یا رزبری پای پیکو ذخیره کنید. در این پروژه برنامه نهایی با نام dht11.py در سیستم ذخیره شده است.

 

 

  • حتما درایور SSD1306 در برد پیکو ذخیره شده باشد و تب آن باز باشد.
  • حتما درایور DHT11 در برد پیکو ذخیره شده باشد و تب آن باز باشد.
  • برنامه نهایی را با اسمی متفاوت هم در سیستم و هم در برد پیکو میتوانید ذخیره کنید.
  • برنامه را اجرا کنید.
  • نمایشگر OLED دما و رطوبت را نمایش میدهد.

 

قدم اول فراخوانی کتابخانه ها در برنامه نهایی است.

 

سپس ابعاد نمایشگر OLED را در برنامه تعریف کنید.

 

در قدم بعدی با توجه به اینکه نمایشگر OLED از پروتکل ارتباطی I2C استفاده می‌کند، آدرس I2C را اسکن و پایه های GP I2C رزبری پای پیکو را برای پایه های SDA , SCL در کد برنامه مشخص می‌کنیم.

 

تابع فراخوانی و فعال شدن نمایشگر OLED را مینویسیم.

 

در قدم بعدی توابع مورد نیاز برای دریافت دیتا از سنسور DHT که به پایه شماره ۱۶ یا همان GP16 متصل شده است را فراخوانی می‌کنیم. دیتای دما را در متغیری به نام T و دیتای رطوبت را در متغیری به نام H ذخیره می‌کنیم. دما و رطوبت هرکدام توابع جداگانه ای برای دریافت خواندن دیتا دارند. سپس برای نمایش دیتاها در shell از print استفاده می‌کنیم.

 

در قدم بعدی باید دیتای خوانده شده از سنسور را در نمایشگر OLED وارد کنیم. برای نمایش دیتا از OLED.TEXT استفاده می‌کنیم. ابعاد نمایش و سایز را میتوانید توسط تابع OLED.TEXT مشخص کنید. اگر مقدار OLED.FILL را صفر در نظر بگیرید، تمامی صفحه نمایش را در اخیتار داریم.

 

کد به پایان رسید. برنامه را اجرا کنید. دیتا برای شما نمایش داده خواهد شد.

 

 


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


برد رزبری پای پیکو 

نمایشگر OLED SSD1306

سنسور دما رطوبت DHT11

برد بورد 

کابل فلت 

 


جمع بندی لیدی پای


ساخت ترموستات با هر میکروکنتری چالش های زیادی دارد اما چالش اصلی استفاده از زبان برنامه نویسی جدیدی است که این روزها برای میکروکنترلرها تعریف شده است و آن چیزی نیست جز میکروپایتون MICROPYTHON. در این پروژه به زبان میکروپایتون توسط سنسور دما رطوبت DHT11 و نمایشگر OLED یک دماسنج و رطوبت سنج با برد رزبری پای پیکو در نرم افزار THONNY IDE نوشته و اجرا کردیم. با اجرای این آموزش به تحلیل کدهای میکروپایتون و اجرای پروژه مسلط خواهید شد.

 

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

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

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