مسعود رادپور – برنامهنویسی Raspberry Pi Pico RP2040 در MicroPython دوره مناسبی برای مبتدیان با مثال است. Raspberry Pi Pico بهاندازه بردهای آردوینو محبوب نیست به این دلیل که بیش از 80٪ از دانشجویان و علاقهمندان الکترونیک به دنبال بردهای Arduino میروند، درحالیکه واقعیت این است که Raspberry Pico بهترین برد میکروکنترلر بازار است که توانایی انجام کارها را دارد. کارهایی که حتی نمیتوانید تصور کنید که با بردهای آردوینو انجام دهید. Raspberry Pi Pico بسیار ارزانتر از Arduino Uno، Arduino Nano و سایر بردهای Arduino است.
بههرحال ازآنجاییکه این یک آموزش برای شروع است؛ بنابراین، تمام تلاشمان را خواهیم کرد تا تکتک جزئیات را توضیح دهیم:
پس از پرداختن به موارد ابتدایی، به طور عملی به شما نشان خواهیم داد که چگونه از متداولترین قطعات الکترونیکی مورداستفاده در کنار Raspberry Pi Pico استفاده کنید. ازآنجاییکه این مقاله را برای مبتدیان مینویسیم، بنابراین ابتدا با سادهترین مثال که کنترل LED بر روی رزبری پای پیکو است شروع میکنیم، یک برنامه بسیار ابتدایی برای روشن و خاموشکردن LED مینویسیم.
سپس در مثال دوم، نحوه اتصال LED خارجی را به شما نشان خواهیم داد.
در مثال سوم، به شما نشان خواهیم داد که چگونه چندین LED را به هم متصل کنید و چگونه کد موجود را تغییر دهید تا الگوهای جالبی ایجاد کنید. این پروژههای نمونه LED به شما در درک نحوه روشن و خاموشکردن هر پین GPIO در Raspberry Pi Pico کمک میکند.
در مثال چهارم، به شما نشان خواهیم داد که چگونه یک ورودی دیجیتال را در هر پین GPIO Raspberry Pi Pico بخوانید، برای این کار از Pushbutton استفاده میکنیم. ما همزمان هر دو را میخوانیم و کنترل میکنیم. برد Raspberry Pi Pico کلیک دکمه را حس میکند و سپس LED را روشن یا خاموش میکند.
در مثال پنجم، نحوه اتصال ماژول نمایشگر OLED را با Raspberry Pi Pico به شما نشان خواهم داد. یک برنامه بسیار ابتدایی برای چاپ متن روی ماژول نمایش OLED خواهیم نوشت. این یک مثال مهم است؛ زیرا در اکثر پروژهها به نمایشگر برای چاپ متن و مقادیر سنسور نیاز خواهید داشت.
در مثال ششم، نحوه استفاده از سنسور آنالوگ با Raspberry Pi Pico و نمایش مقدار آن در ماژول نمایش OLED را به شما نشان خواهیم داد. برای اهداف نمایشی، از یک پتانسیومتر بهعنوان حسگر استفاده خواهیم کرد.
در مثال هفتم، نحوه استفاده از سنسور اولتراسونیک با Raspberry Pi Pico و نمایش مقدار آن در ماژول نمایش OLED را به شما نشان خواهیم داد.
در مثال هشتم، به شما نشان خواهیم داد که چگونه یک سیستم مانیتورینگ دما بسازید و از سنسور دمای داخلی Raspberry Pi Pico استفاده خواهیم کرد.
در مثال نهم، نحوه ساخت سیستم تشخیص روز و شب را به شما نشان خواهیم داد. این واقعاً یک مثال مهم است؛ زیرا نحوه استفاده از سنسور LDR و ماژول رله را برای کنترل یک لامپ AC توضیح خواهیم داد.
در دهمین و آخرین مثال، یک سیستم امنیتی کوچک با استفاده از یک سنسور PIR و یک زنگ میسازیم. سنسور PIR حرکتی را حس میکند که Raspberry Pi Pico را تحریک میکند و سپس Raspberry Pi Pico صدای زنگ را روشن میکند.
تمام این پروژههای نمونه Raspberry Pi Pico به شما کمک میکند تا با این برد میکروکنترلر مبتنی بر RP2040 کمهزینه و قدرتمند شروع کنید؛ بنابراین، بدون تأخیر بیشتر، بیایید شروع کنیم!
قطعات موردنیاز:
پردازنده دو هستهای RP2040 Arm Cortex M0 در رزبری پای پیکو استفاده شده است. Raspberry pi Pico بسیار سریع با فرکانس ساعت 133 مگاهرتز است که میتوانیم بر اساس نیاز خود تغییر دهیم. این کنترلر دارای 2 مگابایت حافظه داخلی است که میتوانیم فایلهای برنامه را در آن ذخیره کنیم.
مشخصات فنی Raspberry pi Pico:
Raspberry pi Pico در مجموع 40 پین یا GPIO دارد که از این تعداد 26 GPIO چندمنظوره هستند. از آنجاییکه ولتاژ پایه های Raspberry Pi Pico سازگار با 3.3 ولت است، بنابراین ولتاژ کاری در این GPIOها نباید از 3.3 ولت تجاوز کند. از این 26 پایه، 23 پایه (GPIO0 تا GPIO22) فقط دیجیتال هستند و 3 پایه (GPI026 تا GPIO28) میتوانند بهعنوان GPIO دیجیتال یا ورودی ADC استفاده شوند. Raspberry pi Pico دارای 2 پایه SPI، 2 پایه I2C، 2 پایه UART، 16 پایه PWM قابلکنترل و 9 پایه زمین است. در پشت برد، میتوانید ببینید که تمام پینها بهوضوح برچسبگذاری شدهاند. این برد دارای 3 پین پورت دیباگ سیم سریال اضافی است.
VBUS ولتاژ ورودی micro-USB است که به پایه پورت micro-USB 1 متصل است. این ولتاژ معمولاً 5 ولت است (یا 0 ولت اگر USB وصل نباشد یا تغذیه نشود).
VSYS ولتاژ ورودی اصلی سیستم است که میتواند در محدوده مجاز 1.8 ولت تا 5.5 ولت متغیر باشد و توسط تغذیه 3.3 ولت برای RP2040 و GPIOهای آن استفاده میشود.
3V3_EN به پین فعال SMPS داخلی متصل میشود و از طریق یک مقاومت K100 به بالا (به VSYS) کشیده میشود.
3V3 منبع اصلی 3.3 ولت RP2040 و پینهای ورودی/خروجی آن است که توسط SMPS داخلی تولید میشود. از این پین میتوان برای تغذیه مدار خارجی استفاده کرد (حداکثر جریان خروجی به بار RP2040 و ولتاژ VSYS بستگی دارد، توصیه میشود بار روی این پایه کمتر از 300 میلیآمپر نگه دارید).
ADC_VREF تغذیه ADC (و مرجع) ولتاژ آنالوگ است و در Pico با فیلترکردن منبع تغذیه 3.3 ولت تولید میشود. در صورت نیاز به عملکرد بهتر ADC، میتوان از این پین با یک مرجع خارجی استفاده کرد.
AGND مرجع زمینی برای GPIO26-29 است، یک صفحه زمین آنالوگ جداگانه در زیر این سیگنالها اجرا میشود و به این پین ختم میشود. اگر ADC استفاده نمیشود یا عملکرد ADC حیاتی نیست، این پین را میتوان به یک زمین دیجیتال متصل کرد.
اجزای پردازنده Raspberry Pi Pico :
اکنون، اجازه دهید قبل از شروع برنامهنویسی، به مرحله بعدی برویم، یعنی آماده سازی Raspberry Pi Pico جهت اتصال به کامپیوتر و استفاده از کامپایلر.
راهاندازی Raspberry Pi Pico:
نصب میکرو پایتون در Raspberry Pi Pico ، دکمه انتخاب بوت BOOTSEL را فشار داده و نگه دارید و Raspberry Pi Pico خود را به پورت USB لپتاپ یا رایانه خود متصل کنید.
دستگاه بهعنوان یک دستگاه ذخیرهسازی انبوه به نام RPI-RP2 شناسایی میشود. پس از اتصال Pico، دکمه BOOT Selection را رها کنید. فایل MicroPython UF2 را دانلود کنید.
MicroPython UF2 را دانلود کنید.
پس از دانلود فایل MicroPython UF2، بهسادگی دستگاه RP1-RP2 را بازکرده و فایل را داخل آن Paste کنید.
نصب درایور Raspberry Pi Pico در صورت نیاز
در مرحله بعد، درایور را بررسی کنید که آیا نصب شده است. در ویندوز 10 درایور به طور خودکار نصب میشود، اما اگر از نسخه پایینتر ویندوز استفاده میکنید، باید درایور را بهصورت دستی نصب کنید.
درایور atmel_devices_cdc را دانلود کنید.
بههرحال درایور نصب شده و همچنین MicroPython روی Raspberry Pi Pico نصب شده است. اکنون میتوانید برد Raspberry Pico را جدا کنید.
نصب Thonny IDE:
اکنون مرحله آخر نصب Thonny IDE است.
Thonny IDE را دانلود کنید
هیچچیز پیچیدهای وجود ندارد، بهسادگی دستورالعملهای روی صفحه را دنبال کنید. پس از اتمام نصب؛ Thonny IDE را باز کنید، به منوی Run بروید و روی مفسر Select کلیک کنید.
MicroPython (Raspberry Pi Pico) را انتخاب کرده و روی دکمه OK کلیک کنید. اکنون IDE برای برنامهنویسی آماده است.
برد Raspberry Pi Pico من برای اولین پروژه خود آماده است که هدف آن چشمک زدن LED بر روی برد است. میخواهیم برد Pico خود را به لپتاپ متصل کنیم. حالا بیایید کمی جلو برویم و نگاهی به برنامه چشمکزن LED بیندازیم.
import machine
import utime
led = machine.Pin(25, machine.Pin.OUT)
:while True
led.value(1)
utime.sleep(1)
led.value(0)
utime.sleep(1)
هدف از این کد روشنکردن LED به مدت 1 ثانیه و سپس خاموشکردن آن به مدت 1 ثانیه است. بگذارید کد را توضیح دهیم.
import machine
ماژول ماشین شامل عملکردهای خاص مربوط به سختافزار روی یک برد خاص است.
import utime
ماژول utime توابعی را برای دریافت زمان و تاریخ فعلی، اندازهگیری فواصل زمانی و تأخیرها ارائه میکند.
led = machine.Pin(25, machine.Pin.OUT)
کلاس پین دارای روشهایی برای تنظیم حالت پین (IN، OUT و غیره) و روشهایی برای دریافت و تنظیم سطح منطق دیجیتال است.
while True:
led.value(1)
utime.sleep(1)
led.value(0)
utime.sleep(1)
این بخش از کدها بهسادگی LED را برای 1 ثانیه روشن میکنند و سپس led را برای 1 ثانیه خاموش میکنند. این خطوط کدها بارهاوبارها اجرا میشوند تا زمانی که برد Raspberry Pi Pico را خاموش کنیم.
توجه داشته باشید همانند کدهای پایتون نیازمند رعایت فاصله در برنامه نویسی به میزان یک Tab هستیم.
برای اجرای این کد روی Raspberry Pi Pico کافی است روی دکمه Play کلیک کنید، از شما سوال میشود که فایل کد را کجا ذخیره کنید؟ در کامپیوتر یا برد Raspberry Pico باید برد Raspberry Pi Pico را انتخاب کنید و همان کاری که میخواهیم انجام دهیم. من روی Raspberry Pi Pico کلیک میکنیم.
یک نام برای فایل “Led_Blinking.py” بگذارید و فراموش نکنید که پسوند py. را اضافه کنید، در غیر این صورت، کد روی Pico Board اجرا نمیشود. بهمحض کلیک بر روی دکمه OK ، شروع به چشمک زدن میکند. زمان تأخیر چشمک زدن LED را میتوان افزایش یا کاهش داد. در حال حاضر LED روشن میشود و بعد از هر یک ثانیه خاموش میشود.
حالا اگر برد Raspberry Pico خود را از برق بکشید و دوباره آن را وصل کنید، کد به طور خودکار اجرا میشود.
متن حقوقی است ، ترجمه فارسی و برداشت شخصی مترجم مقاله سایت الکترونیک 3 می باشد.
منابع مورد نیاز طراحی برای کاربران ماهر با سطح دانش فنی مناسب از دانش طراحی در نظر گرفته شده است. کاربران تنها مسئول هستند!
انتخاب و استفاده از منابع و هرگونه استفاده از محصولات شرح داده شده در آنها با موافقت کاربر می باشد. جبران خسارت کلیه تعهدات شامل هزینه ها، خسارات اعلام شده، درخصوص استفاده از قطعه فوق در تجهیزات ذیل متن بر عهده ( RASPBERRY PI LTD (“RPL”) ) RPL نمی باشد.
استفاده از محصولات رزبری پای در موارد طراحی تجهیزات به کار برده شده با ریسک بالا و اطمینان از عملکرد حداکثری توصیه نمی گردد.
مانند تأسیسات هسته ای، ناوبری هواپیما یا سیستمهای ارتباطی، کنترل ترافیک هوایی، سیستمهای تسلیحاتی یا کاربردهای حیاتی ایمنی تجهیزات پزشکی که خرابی در آن محصولات میتواند مستقیماً منجر به مرگ، آسیبهای شخصی یا آسیب فیزیکی یا محیطی شدید (“فعالیت های پرخطر”).
مسعود رادپور | تداخل الکترومغناطیسی EMI پدیده ای است که در آن یک موج الکترومغناطیس…
برای ثبت گزارش طراحی در پروژه های الکترونیک باید در چند مرحله به ایجاد برگه…
مسعود رادپور - MVP چیست ؟ و حداقل ویژگی قابل قبول در طراحی محصولات الکترونیک…
مسعود رادپور - در این مقاله سلسلهمراتب نیازهای مزلو را در دنیای طراحی محصول و…
مسعود رادپور - برد STM32F103C8T6 Blue Pill ، یک برد توسعه برای میکروکنترلر ARM Cortex…
مسعود رادپور - در مقاله برنامهنویسی Raspberry Pi Pico RP2040 در محیط MicroPython اشاره شد…