- شنبه ۲۳ دی ۱۴۰۲
مقدمه بر رازبری پای (Raspberry Pi) رازبری پای چیست؟
مقدمه بر رازبری پای (Raspberry Pi)
رازبری پای چیست؟
· یک رایانه به اندازه کارت اعتباری
· بر سیستم عاملهای زیر اجرا میشود:
o Raspbian (ما از این سیستم عامل استفاده میکنیم.)
o Windows 10 IoTCore
o RetroPie
o OpenElec
· میتوان آن را به حسگرهای مختلف متصل کرد تا با دنیای خارج تعامل کند.
· پردازش اطلاعات بهدستآمده از حسگرها و تصمیمگیری براساس این اطلاعات.
آغاز کار با رازبری پای
اصول کار با رازبری پای عبارتاند از:
· اتصال رازبری پای به صفحهکلید، موس و نمایشگر
· اتصال برق و انتظار برای بوت شدن
· کلمه کاربری: pi و کلمه عبور: raspberry (ضروری نیستند)
رازبری پای بهعنوان رایانه رومیزی
· سعی کنید از طریق رازبری پای خود به اینترنت متصل شوید و تصویری را بیابید که نشاندهنده گروه شما باشد.
· این تصویر را در رایانه رومیزی دسکتاپ ذخیره کنید.
ارتباط از طریق ترمینال
· به بخش Accessories بروید و با کلیک بر روی برنامه ترمینال، آن را راهاندازی کنید.
· دستورات را اجرا کنید تا کمکم کشف کنید چگونه باید دایرکتوریها و فهرست محتواهای آنها را تغییر دهید.
برنامهنویسی در پایتون ۳
· زبانهای برنامهنویسی چندمنظوره که برای اپلیکیشنهای علمی و عددی و همچنین اپلیکیشنهای دسکتاپ و وب به کار میروند.(آموزش برق و الکترونیک)
· زبان متنباز که منابع آنلاین فراوانی برای رفع مشکلاتی دارد که به آنها بر میخورید.
· ما برای برنامهنویسی با پایتون ۳ در رازبری پای ۳ مدل B از Thonny IDE استفاده میکنیم.
· برای رفع مشکلات برنامهنویسی خود به stackoverflow مراجعه کنید.
GPIO چیست؟
G: General: عمومی
P: Purpose: هدف
I: Input: ورودی
O: Output: خروجی
استفاده از GPIO برای ارسال خروجیها و خواندن ورودیها
· مدار را مطابق شکل بسازید
· از مقاومت ۴۷۰ اهم استفاده کنید
· در ادامه برنامهای میسازیم که باعث میشود یک چراغ چشمک بزند و روشن و خاموش شود و برنامه دیگری که با فشار دکمه میزان نور را کم و زیاد میکند.
خطاهای رایج و عیبیابی
· پایتون به تورفتگی (indentation) حساس است.
· لازم است متغیرها و توابع بهشیوه دقیقاً یکسان نوشته شوند. مراقب حروف کوچک و بزرگ باشید.
· پایتون از صفر شروع به شمارش میکند، منظور در استفاده از حلقههاست.
توابع خود را بنویسید
ساخت تابع sin(x) برای دریافت خروجی
استفاده از حسگر در رازبری پای
· GPIO در رازبری پای میتواند حداکثر یک سیگنال ۳.۳ ولت را بپذیرد، اما سنسورهای بسیاری وجود دارند که میتوانند سیگنال ۵ ولت را به GPIO بازگردانند. این باعث آسیب رازبری پای میشود.
· چطور باید این مشکل را حل کرد؟
o مقاومتهای را بهعنوان تقسیمکننده ولتاژ متصل کنید.
· آگاهی از این موضوع بسیار مهم است.
اندازهگیری فاصله با سنسور اولتراسونیک HC-SR04
· صدایی میفرستیم که برخورد میکند و باز میگردد.
· اگر زمان بین ارسال و دریافت را اندازهگیری کنیم، فاصله به دست میآید.
o نکته: در اینجا از دو مقاومت مختلف استفاده میشود.
راهاندازی و تنظیم رازبری پای
تابع محاسبه فاصله
· به کمک حسگر میتوان زمان لازم برای ارسال یک سیگنال و بازگشت آن را اندازه گرفت.
· باید زمان را به فاصله تبدیل کنیم و این کار را به کمک سرعت صوت در هوا و ضرب آن در زمان تقسیم بر دو انجام میدهیم. (زیرا صوت به شی میرسد و بعد باز میگردد.)
تابع فاصله
آن بهصورت لوپ درآورید تا وقتی که دستور توقف به آن بدهید:
اگر برنامه شما اندازهگیری را انجام نمیدهد، کارهای زیر را انجام دهید:
· شیوه نگارش کدها را بررسی کنید.
· کدها را بررسی کنید.
· مقاومتها را بررسی کنید.
· دوباره شیوه نگارش را بررسی کنید.
ساخت یک اپلیکیشن دسکتاپ
معرفی Tkinter یک رابط کاربری گرافیکی برای پایتون
· رابط کاربری استاندارد برای پایتون
· جعبه ابزار برای برنامهنویسی رابط کاربری گرافیکی در پایتون
· یکی از پرکاربردترین و معمولترین جعبه ابزارها
· به شما امکان میدهد با دکمهها، اسلایدرها، کشوها و سایر ابزارها، یک رابط کاربری گرافیکی برای کاربران برنامه یا دستگاه خود بسازید.
برنامهنویسی رویدادمحور
· هنگام ساخت رابط کاربری گرافیکی از برنامهنویسی رویدادمحور استفاده میکنید.
· در رابط کاربری گرافیکی همه دکمهها، اسلایدرها و غیره بهعنوان ابزارک (Widgets) شناخته میشوند.
· با استفاده از ابزارکها یک رویداد در کد شما آغاز میشود.
ساختن یک رابط کاربری گرافیکی ساده (GUI)
· یک رابط کاربری گرافیکی میسازیم که به ما کمک میکند یک چراغ را با یک دکمه در رابط کاربری روشن و خاموش کنیم.
· در مدار از یک مقاومت ۴۷۰اهمی استفاده میکنیم.
ساخت کد رابط کاربری گرافیکی
ساخت رابط کاربری گرافیکی
ساخت رابط کاربری
· حال باید تصمیم بگیریم که این رابط کاربری واقعاً چه میکند.
· یک دکمه میسازیم که چراغ را روشن و خاموش کند.
· همچنین باید یک دکمه خروجی بسازیم که وقتی از برنامه خارج میشویم چراغ خاموش شود و پورت GPIO به حالت پیشفرض یک پورت ورودی بازگردد.
ساختن رویداد ()ledToggle
ساختن رویداد ()close
ساختن دکمه یا ابزارک
ساختن دکمه خروجی
چه میشود اگر برنامه را از طریق پنجره خروجی ببندیم؟
به یک خروج درست نیاز داریم
چه میشود اگر برنامه را اجرا کنید و دکمه رابط کاربری را بزنید؟
اجرای عمدی برنامه حتی پس از بستن آن
در ادامه برنامه را تست کنید.
جمعبندی
مجتمع فنی تهران: در اینجا رابری پای و نحوه استفاده از آن بهعنوان یک رایانه را معرفی کردیم. چند دستور ساده برای استفاده در ترمینال را شناختیم. GPIO را معرفی کردیم و نحوه گرفتن ورودی از دنیای بیرون، تفسیر آنها و ساختن خروجی از آن ورودیها را شناختیم. از حسگر برای خواندن و ارزیابی دادهها از محیط استفاده کردیم. همچنین بسته Tkinter را معرفی کردیم و یک رابط کاربری گرافیکی ساده و رویدادمحور ساختیم.
نویسنده: جانی کالاسنیمی (Jani Kalasniemi)
مترجم: بهناز دهکردی
منابع:
· RaspberryPi GPIO examples:
https://sourceforge.net/p/raspberry-gpio-python/wiki/Examples/
· Python Documentation:
· Tkinter Documentation:
https://www.tutorialspoint.com/python/python_gui_programming.htm