Mündəricat:

Raspberry Pi üçün söndürmə düyməsi: 3 addım
Raspberry Pi üçün söndürmə düyməsi: 3 addım

Video: Raspberry Pi üçün söndürmə düyməsi: 3 addım

Video: Raspberry Pi üçün söndürmə düyməsi: 3 addım
Video: Бесшумное zigbee реле в подрозетник без нулевой линии, особенности монтажа, установка конденсатора 2024, Iyul
Anonim
Raspberry Pi üçün söndürmə düyməsi
Raspberry Pi üçün söndürmə düyməsi

Raspberry Pi, müxtəlif IoT/robot/ağıllı ev/… layihə tətbiqləri yaratmağa imkan verən çox faydalı bir hesablama platformasıdır. Normal bir kompüterlə müqayisədə sahib olmadığı bir şey, bağlama gücünü kəsmə düyməsidir. Elə isə özümüz necə yarada bilərik? Yaxşı, gəlin birlikdə edək!

Bu dərs üçün aşağıdakılara ehtiyacınız olacaq:

  • 1 Raspberry Pi artıq qurulmuş və istifadəyə hazırdır
  • 1 çörək taxtası və ya elektron dövrə yaratmağa imkan verəcək bir şey
  • 1 düymə
  • 2 keçid teli

Heç vaxt Raspberry Pi istifadə etməmisinizsə, onu necə konfiqurasiya etmək üçün nə edəcəyimi öyrənmək üçün təlimatımı oxuya bilərsiniz:

www.instructables.com/How-to-Setup-a-Raspberry-Pi-and-Start-Using-It/

Addım 1: Elektron dövrə

Elektron Dövrə
Elektron Dövrə
Elektron Dövrə
Elektron Dövrə
Elektron Dövrə
Elektron Dövrə

Burada çox mürəkkəb bir şey yoxdur, bu olduqca sadə bir sxemdir. Yuxarıdakı 2 şəkil dövrə quruluşunu izah edir. Düymə girişi üçün istədiyiniz GPIO pinindən istifadə edə bilərsiniz, bunu əks etdirmək üçün kodu yeniləməyinizə əmin olmalısınız.

Bunun necə işləyəcəyini tez bir şəkildə izah edək:

  • QIRMIZI tel, basma düyməsinin bir ucuna 3.3V çəkir.
  • Qara kabel, düymənin digər ucunu giriş olaraq istifadə ediləcək Pi GPIO -ya bağlayır.
  • Varsayılan olaraq düymə açıqdır, buna görə heç bir gərginlik keçmir. Belə ki, düymə basılmadıqda QARA kabel 0V -də olur. Bu, Pi GPIO girişinin məntiqi vəziyyətinin 0 olduğu deməkdir.
  • düyməyə basıldıqda, gərginlik oradan keçəcək və QARA kabel 3.3V -a bağlanacaq. Daha sonra Raspberry Pi, girişində 1 məntiqi vəziyyətinə uyğun olaraq 3.3V gərginlik görəcək.

Addım 2: Python Kodu

Python kodu
Python kodu

İndi dövrə istifadəyə hazırdır, onu işlədən kodu yazmalıyıq və burada PyCharm mühitində Python istifadə edirəm. Düyməni Raspberry Pi-ni yalnız 3 saniyədən çox basıldıqda söndürmək üçün konfiqurasiya etdim. Bunu etməyimin səbəbi, təsadüfən basılması çox asandır və təsadüfən Pi -ni bağlamaq istəmirsiniz.

Yuxarıdakı çap ekranı PyCharm mühitimdəndir və kod aşağıdakı kimidir (başqa bir layihəyə bağlı olan, lakin burada tələb olunmayan 26 -cı sətirdə kiçik bir fərqlə):

# Bu, müəyyən edilmiş düyməni basıb saxladığınız zaman Raspberry Pi -ni söndürmək üçün bir koddur # Xarici modul RPi. GPIO -nu GPIOimport zamanı import # OS Raspberry Pi pin və dəyişənlərin tərifi və hold_time = 3 # Poweroffbutton_poweroff = 1 # Push düyməsinə basıb saxlayın Raspberry PiGPIO.setwarnings (Yanlış) GPIO.setmode (GPIO. BCM) # Broadcom pin nömrələndirmə sxemiGPIO.setup (button_poweroff, GPIO. IN, pull_up_down = GPIO. PUD_DOWN) # Dəqiq olaraq giriş olaraq təyin edilmiş düymə: GPIO.wait_for_edge (button_poweroff, GPIO. RISING) start = time.time () time.sleep (0.2) # GPIO.input (button_poweroff) == 1: time.sleep (0.01) length = time.time () - uzunluq varsa başla > hold_time: os.system ("sudo poweroff")

Düyməni fərqli bir GPIO -ya bağlamısınızsa, ilk şey, yuxarıdakı çap ekranında 11 -ci sətri müvafiq GPIO girişi ilə yeniləməkdir:

button_poweroff = GPIO_X # Dövrünüzdə istifadə olunan düzgün GPIO ilə yeniləyin

Ayrıca, hold_time dəyişəni, Pi -nin bağlanmasına səbəb olan gözləmə müddətini dəyişdirməyə imkan verir.

Addım 3: Boot Prosedurundan sonra Skriptin avtomatik olaraq necə işə salınması

Yükləmə prosedurundan sonra skriptin avtomatik olaraq necə işə salınması
Yükləmə prosedurundan sonra skriptin avtomatik olaraq necə işə salınması
Yükləmə prosedurundan sonra skriptin avtomatik olaraq necə işə salınması
Yükləmə prosedurundan sonra skriptin avtomatik olaraq necə işə salınması

Kod hazır olduqdan sonra onu icra etməliyik. Ancaq bu skriptin Pi açılışında hər dəfə avtomatik olaraq icra olunmasını təmin edə bilsək rahat olardı, buna görə də hər dəfə skriptin işləməsi üçün düymə bizsiz işləyəcəkdi. Bunun bir çox yolu var. Pi -nin / etc / qovluğunda yerləşən rc.local faylına bura bir sətir əlavə etdim. Yükləmə ardıcıllığının bir hissəsi olaraq icra olunur.

Bir əmr satırını açmalı və aşağıdakı əmrləri yazmalısınız (yuxarıdakı 1 -ci ekran):

cd /

cd və s. sudo nano rc.local

İlk əmr sizi /home /pi qovluğunuzdan kök olana aparacaq.

İkinci əmr sizi / etc / qovluğuna aparacaq.

Nəhayət, üçüncüsü, rc.local faylını dəyişdirmək üçün lazım olan tam redaktə hüquqlarına malik super istifadəçi olaraq açacaq.

Dosyada bir dəfə, sonuna bir sətir əlavə etməlisiniz, ancaq 0 ifadəsindən çıxmazdan əvvəl (yuxarıdakı 2 -ci ekran):

# Skript başlatmaq üçün bu xətti rc.local faylına əlavə edin

sudo python /home/pi/Documents/shutdown_with_hold.py &

Burada diqqət etməli olduğunuz bir neçə şey var:

  1. faylınızın adı: yuxarıdakı sətirdə, faylın shutdown_with_hold.py olduğunu düşünürəm. Ancaq istədiyiniz hər şey ola bilər, sadəcə adını öz adınızla yeniləyin.
  2. faylınızı harada saxladığınız: yuxarıdakı sətirdə/home/pi/Documents qovluğunda saxlanıldığını düşünürəm. Ancaq yenə də hər yerdə ola bilər. Faylınızın mütləq yolunu bura qoyduğunuzdan əmin olmalısınız.
  3. sonundakı "&" işarəsi: bu vacibdir və bu əmrin arxa planda işləməsinə imkan verir

Və bu qədər! Beləliklə, indi Pi hər dəfə AÇIQ olanda skript icra olunacaq və onu söndürmək üçün düyməni 3 saniyədən çox basmalı olacaqsınız.

Tövsiyə: