فهرست مطالب:
تصویری: دکمه خاموش کردن رزبری پای: 3 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:51
Raspberry Pi یک پلت فرم محاسباتی بسیار مفید است که امکان ایجاد برنامه های مختلف IoT/robotics/smart-home/… را فراهم می کند. با این حال ، تنها چیزی که در مقایسه با رایانه معمولی ندارد ، دکمه خاموش کردن است. بنابراین چگونه می توانیم خودمان یکی را ایجاد کنیم؟ خوب ، بیایید این کار را با هم انجام دهیم!
برای این آموزش ، به موارد زیر نیاز دارید:
- 1 Raspberry Pi پیکربندی شده و آماده استفاده است
- 1 تخته نان یا چیزی که به شما امکان ایجاد مدار الکترونیکی را می دهد
- 1 دکمه فشاری
- 2 سیم بلوز
اگر هرگز از Raspberry Pi استفاده نکرده اید ، می توانید آموزش من را در مورد نحوه و چگونگی انجام پیکربندی آن بررسی کنید:
www.instructables.com/How-to-Setup-a-Raspberry-Pi-and-Start-Using-It/
مرحله 1: مدار الکترونیکی
هیچ چیز فوق العاده پیچیده نیست ، این یک مدار مستقیم است. 2 تصویر بالا ساختار مدار را توضیح می دهد. می توانید از هر پین GPIO که می خواهید برای ورودی دکمه استفاده کنید ، فقط باید مطمئن شوید که کد را برای نشان دادن آن به روز کنید.
بیایید سریع توضیح دهیم که چگونه این کار می کند:
- سیم RED 3.3V را به یک سر دکمه فشار می دهد.
- کابل BLACK انتهای دیگر دکمه را به Pi GPIO متصل می کند که به عنوان ورودی استفاده می شود.
- به طور پیش فرض دکمه باز است ، بنابراین هیچ ولتاژی از طریق آن وجود ندارد. بنابراین وقتی دکمه فشار داده نمی شود ، کابل BLACK در 0V است. این بدان معناست که حالت منطقی ورودی Pi GPIO 0 است.
- هنگامی که دکمه فشرده می شود ، ولتاژ از طریق آن عبور می کند و کابل BLACK به 3.3V متصل می شود. سپس رزبری پای ولتاژ 3.3 ولت را در ورودی خود مشاهده می کند که مطابق با حالت منطقی 1 است.
مرحله 2: کد پایتون
اکنون که مدار برای استفاده آماده است ، باید کدی را که اجرا می شود بنویسیم ، و من از Python در محیط PyCharm در اینجا استفاده می کنم. من دکمه را برای خاموش کردن رزبری پای فقط زمانی تنظیم می کنم که بیش از 3 ثانیه فشار داده شود. دلیل اینکه من این کار را می کنم این است که فشار دادن تصادفی آن بسیار آسان است و شما نمی خواهید Pi خود را به طور تصادفی خاموش کنید.
صفحه چاپی بالا از محیط PyCharm من است و کد زیر است (با تفاوت جزئی در خط 26 که به پروژه دیگری مرتبط است اما در اینجا مورد نیاز نیست):
# این یک کد aa برای خاموش کردن Raspberry Pi در هنگام فشار دادن و نگه داشتن یک دکمه تعریف شده است برای خاموش کردن Raspberry PiGPIO.setwarnings (False) GPIO.setmode (GPIO. BCM) # طرح شماره گذاری پین Broadcom button_poweroff، GPIO. RISING) شروع = time.time () time.sleep (0.2) # تغییر حالت خروج در حالی که GPIO.input (button_poweroff) == 1: time.sleep (0.01) طول = time.time () - شروع در صورت طول > hold_time: os.system ("sudo poweroff")
اگر اولین دکمه را به GPIO دیگری متصل کرده اید ، اولین مورد این است که خط 11 را در صفحه چاپ بالا با ورودی GPIO مربوطه به روز کنید:
button_poweroff = GPIO_X # با GPIO صحیح مورد استفاده در مدار خود به روز کنید
همچنین ، متغیر hold_time به شما امکان می دهد زمان انتظار را تغییر دهید که باعث خاموش شدن Pi می شود.
مرحله 3: نحوه راه اندازی خودکار اسکریپت پس از بوت رویه
اکنون که کد را آماده کرده ایم ، فقط باید آن را اجرا کنیم. اما ، اگر بتوانیم این اسکریپت را هر بار که Pi بوت می شود ، به صورت خودکار اجرا کنیم ، راحت خواهد بود ، بنابراین دکمه بدون ما برای اجرای هر بار اسکریپت کار می کند. راه های زیادی برای این کار وجود دارد. من یک خط را به فایل rc.local اضافه کرده ام که در پوشه / etc / Pi شما قرار دارد. به عنوان بخشی از دنباله بوت اجرا می شود.
باید یک خط فرمان باز کنید و دستورات زیر را وارد کنید (صفحه چاپ اول در بالا):
سی دی /
cd و غیره sudo nano rc.local
اولین فرمان شما را از فهرست /home /pi خود به دستور اصلی که /است می برد.
سپس فرمان دوم شما را به فهرست / etc / می برد.
در نهایت ، مورد سوم فایل rc.local را به عنوان یک superuser با حقوق ویرایش کامل باز می کند ، که برای اصلاح فایل به آن نیاز دارید.
هنگامی که در پرونده هستید ، فقط باید یک خط را در انتهای آن اضافه کنید ، اما قبل از دستور exit 0 (صفحه چاپ دوم در بالا):
# این خط را به فایل rc.local اضافه کنید تا اسکریپت راه اندازی شود
sudo python /home/pi/Documents/shutdown_with_hold.py &
در اینجا چند نکته وجود دارد که باید به آنها توجه کنید:
- نام فایل شما: در خط بالا ، من فرض می کنم که فایل shutdown_with_hold.py است. اما می تواند هر آنچه شما می خواهید باشد ، فقط نام را با نام خود به روز کنید.
- جایی که فایل خود را ذخیره کرده اید: در خط بالا ، من فرض می کنم که در فهرست/home/pi/Documents شما ذخیره شده است. اما باز هم می توان آن را در هر جایی یافت. فقط باید مطمئن شوید که مسیر مطلق فایل خود را در اینجا قرار داده اید.
- کاراکتر "&" در انتهای آن: این مهم است و اجازه می دهد تا این فرمان در پس زمینه اجرا شود
و بس! بنابراین ، اسکریپت هر بار که Pi شما روشن است اجرا می شود و فقط باید بیش از 3 ثانیه دکمه را فشار دهید تا خاموش شود.
توصیه شده:
دکمه آمازون دکمه خاموش درب: 10 مرحله (همراه با تصاویر)
دکمه آمازون دکمه خاموش درب: مدام از پنجره به بیرون نگاه می کنید تا بتوانید بازدیدکنندگان را قبل از اینکه زنگ در خانه را بشنوند ، رهگیری کنید؟ آیا از سگ ها و کودک دیوانه شده در هر زمان که زنگ می زند خسته شده اید؟ نمی خواهید پول زیادی را صرف & quot؛ هوشمند & quot؛ راه حل؟ ساختن زنگ خاموش مانند
دکمه فشاری رزبری پای با LED ها فلز برهنه: 8 مرحله
Raspberry Pi Push Button With LEDs Bare Metal: این دومین آموزش من در زمینه برنامه نویسی تمشک pi 3 فلزی برهنه است! اولین موردم را اینجا ببینید. آخرین باری که به شما نشان دادم چگونه می توانید یک تصویر سیستم عامل برای رزبری pi 3 ایجاد کنید که یک led را چشمک می زند ، در این آموزش به شما نشان خواهم داد
کنترل روشنایی کنترل LED مبتنی بر PWM با استفاده از دکمه های فشار ، رزبری پای و خراش: 8 مرحله (همراه با تصاویر)
کنترل روشنایی مبتنی بر PWM کنترل LED با استفاده از دکمه های فشار ، رزبری پای و خراش: من سعی می کردم راهی برای توضیح نحوه عملکرد PWM برای دانش آموزانم بیابم ، بنابراین وظیفه خود را برای کنترل روشنایی یک LED با استفاده از 2 دکمه تنظیم کردم. - یک دکمه روشنایی LED را افزایش می دهد و دکمه دیگر آن را کم می کند. برای پیشرفت
روشن/خاموش کردن رزبری پای با هرگونه کنترل از راه دور: 3 مرحله (همراه با تصاویر)
روشن/خاموش کردن رزبری پای با هرگونه کنترل از راه دور: کنترل قدرت رزبری پای با ریموت IR
نحوه صحیح خاموش کردن PI رزبری: 5 مرحله
چگونه می توان PI رزبری را به طور صحیح خاموش کرد: احتمالاً هر کاربر RPi یک بار می پرسد چگونه Raspberry Pi را خاموش کند؟ اگر این کار را انجام دهید ، به احتمال زیاد روزی کارت SD خراب می شود و RPi شما راه اندازی نمی شود. ابتدا باید سیستم عامل را خاموش کنید و فقط پس از آن