دسته: رزبری پای پیکو

کتاب آموزشی
برنامه های مربوط به کتاب آموزشی
پروژه ها و آموزشهای رزبری پای پیکو
raspberry pi pico

جدید اندازه گیری دما با استفاده از سنسور DS18B20 و رزبری پای پیکو و مایکروپایتون

DS18B20 یک سنسور دما با خروجی دیجیتال است. پروتکل ارتباطی این سنسور ارتباط یک سیمه یا 1-wire است، بنابراین برای ارتباط با میکروکنترلر تنها به یک پین دیجیتال نیاز دارد. سنسور دما DS18B20 نسبتاً دقیق است و دارای محدوده دمایی 55- تا 125+ درجه سانتی گراد و دقت 0.5± درجه سانتی گراد است. رزولوشن پیش‌فرض هنگام روشن شدن، 12 بیت است (یعنی دقت 0.0625 درجه سانتی‌گراد). زمان تبدیل دما در این سنسور 750 میلی ثانیه است و لازم است بین اندازه گیری ها یک تاخیر مناسب قرار دهیم. از آنجا که هر سنسور DS18B20 با یک کد سریال 64 بیتی از پیش برنامه ریزی شده ارایه می شود، می توان تعداد زیادی از آنها را به یک پایه میکروکنترلر متصل نمود و مقدار هر کدام را به طور جداگانه اندازه گیری کرد. این ویژگی زمانی می تواند بسیار مفید باشد که نیاز به اندازه گیری دما در یک منطقه بزرگ دارید. برای اتصال یک سنسور به رزبری پای پیکو مدار را طبق شکل زیر می بندیم: در مایکروپایتون برای ارتباط و خواندن مقدار سنسور یک ماژول اختصاصی وجود دارد. برنامه برای خواندن مقدار یک یا چند سنسور به این صورت است: ابتدا ماژول های مورد [ . . . ]

  • 133 بازدید
  • 0
  • 19 اکتبر, 2023
ادامه مطلب

جدید راه اندازی سنسور شتاب و ژیروسکوپ MPU-6050 توسط رزبری پای پیکو و مایکروپایتون

ماژول شتاب سنج و ژیروسکوپ MPU-6050 می تواند شتاب خطی را در سه محور و شتاب زاویه ای را نیز در سه محور اندازه گیری کند. قصد داریم این مقادیر را به کمک برد میکروکنترلری رزبری پای پیکو و مایکروپایتون بخوانیم و نمایش دهیم. این ماژول برای ارتباط با میکروکنترلر از I2C استفاده می کند. برای تغذیه مدار می توانیم طبق شکل پایه VCC را به خروجی 3.3 ولت رزبری پای پیکو متصل کنیم و GND را هم به یکی از پایه های زمین پیکو متصل نماییم. همان طور که می بینید از کانال I2C شماره 0 پیکو و از پایه های GPIO0 و GPIO1 نیز برای اتصال I2C استفاده کرده ایم. برنامه به این صورت و بدون استفاده از ماژول ها و کتابخانه های آماده نوشته شده است: ابتدا با نوشتن در رجیستر PWR_MGMT_1 سنسور را بیدار می کنیم. سپس در یک حلقه داده های شتاب را از رجیسترهای ACCEL_XOUT_H، ACCEL_YOUT_H و ACCEL_ZOUT_H و داده های ژیروسکوپ از GYRO_XOUT_H، GYRO_YOUT_H، و GYRO_ZOUT_H می خوانیم. این مقادیر را هر ثانیه یک بار خوانده و نمایش می دهیم. در برنامه باید در نظر بگیریم که داده های خام دارای علامت + و – نیستند و باید [ . . . ]

  • 165 بازدید
  • 0
  • 17 اکتبر, 2023
ادامه مطلب

جدید ذخیره داده ها در فایل CSV توسط رزبری پای پیکو و مایکروپایتون

فایل csv یک فایل متنی ساده است که نوشته های آن با کاما ( ، ) از هم جدا شده اند. بنابراین کافی است که داده های خود را به همین صورت در یک فایل با پسوند .csv ذخیره کنید. برنامه نمونه ای می نویسیم که ابتدا نام هر ستون را در فایل بنویسد و سپس سه داده مختلف را در یک سطر ذخیره کند. برای کار با فایلها به ماژول os نیاز داریم. سپس یک فایل ایجاد می کنیم که در محیط برنامه با نام mycsv شناخته می شود اما در فضای حافظه با نام myfile.csv ذخیره می شود. این فایل در حالت نوشتنی ‘w’ باز شده است. اگر قصد دارید داده ها به انتهای یک فایل از قبل موجود اضافه شود از ‘a’ استفاده کنید. داده ها در سه متغیر مختلف ذخیره شده اند. با استفاده از دستور write ابتدا نام ستونها را در فایل می نویسیم، سپس داده ها را در سطر بعدی وارد می کنیم. دقت کنید که برای رفتن به سطر بعدی از \n استفاده شده است. در پایان حتما باید فایل را ببندیم.

  • 120 بازدید
  • 0
  • 13 اکتبر, 2023
ادامه مطلب

جدید اندازه گیری دما و رطوبت با استفاده از سنسور DHT11 و رزبری پای پیکو و مایکروپایتون

سنسور DHT11 سنسور ساده ای هست که دما و رطوبت محیط را اندازه گیری می کند و اطلاعات را از طریق ارتباط 1 سیمه به بیرون منتقل می نماید. برای بستم مدار کافی است طبق شکل پایه شماره 1 سنسور را به خروجی 3.3 ولت پیکو ، پایه 4 سنسور را به یکی از پایه های زمین پیکو و پایه شماره 2 سنسور را به یکی از پایه های GPIO پیکو متصل کنیم. نیازی به اتصال پایه شماره 3 نیست. ما در این پروژه پایه خروجی سنسور را به پایه GPIO0 یا همان پایه فیزیکی 1 وصل کرده ایم. در مایکروپایتون برای این سنسور و سنسور DHT22 که نسخه دقیق تر و بهتر DHT11 است یک کتابخانه ارایه شده که به صورت پیش فرض موجود است و نیازی به نصب ندارد. برنامه را در زیر می توانید مشاهده کنید: کتابخانه های مورد نیاز را به برنامه اضافه کرده و یک شی به نام mysensor از نوع DHT11 می سازیم. سپس یک حلقه ایجاد می کنیم و با توجه به اینکه نرخ نمونه برداری سنسور 1 نمونه در دو ثانیه است یک وقفه 2 ثانیه ای بین هر دو اندازه گیری قرار می دهیم. نتیجه به [ . . . ]

  • 151 بازدید
  • 0
  • 12 اکتبر, 2023
ادامه مطلب

جدید نجات دادن رزبری پای پیکو از حالت قفل شده

بعضی اوقات وقتی در مایکروپایتون برنامه ای می نویسیم و آن را با نام main.py در حافظه فلش رزبری پای پیکو ذخیره می کنیم، به بعضی دلایل مثلا گیر کردن در یک حلقه یا منتظر ماندن برای دریافت یک سیگنال از یک پورت ورودی یا … میکروکنترلر در همان حالت باقی می ماند و حتی با قطع و وصل تغذیه یا اتصال آن به کامپیوتر و استفاده از ctrl + c در ترمینال Thonny یا روشهای دیگر متوقف نمی شود. یک روش قطعی برای نجات چنین میکروکنترلری وجود دارد و آن استفاده از یک فایل باینری ویژه پاکسازی فلش به نام flash_nuke.uf2 است. اگر رزبری پای پیکو را با مایکروپایتون پروگرام کرده باشید حتما می دانید که اگر دکمه BOOTSEL را هنگام وصل کردن Pico به پورت USB کامپیوتر نگه دارید، به صورت یک درایو فلش در کامپیوتر ظاهر می شود که می توانید یک فایل UF2 جدید را بکشید و روی آن بیندازید. حالا اگر بخواهید از شر برنامه main.py مشکل دارتان خلاص شوید می توانید این کار را با کشیدن و رها کردن فایل flash_nuke.uf2 روی Pico انجام دهید. با این کار حافظه پاک می شود و سپس می توانید دوباره فیرمور مایکرو [ . . . ]

  • 383 بازدید
  • 2
  • 19 آگوست, 2023
ادامه مطلب