Daftar Isi:

Tombol Power-off untuk Raspberry Pi: 3 Langkah
Tombol Power-off untuk Raspberry Pi: 3 Langkah

Video: Tombol Power-off untuk Raspberry Pi: 3 Langkah

Video: Tombol Power-off untuk Raspberry Pi: 3 Langkah
Video: Cara Membuat Tombol Power Sendiri Untuk Raspbery Pi | How To Make Power Button For Raspberry Pi 2024, November
Anonim
Tombol Power-off untuk Raspberry Pi
Tombol Power-off untuk Raspberry Pi

Raspberry Pi adalah platform komputasi yang sangat berguna yang memungkinkan pembuatan berbagai aplikasi proyek IoT/robotics/smart-home/… Satu hal yang tidak dimilikinya, dibandingkan dengan komputer biasa, adalah tombol matikan daya. Jadi bagaimana kita bisa membuatnya sendiri? Baiklah, mari kita lakukan bersama!

Untuk tutorial ini, Anda memerlukan yang berikut:

  • 1 Raspberry Pi sudah dikonfigurasi dan siap digunakan
  • 1 papan tempat memotong roti atau sesuatu yang memungkinkan Anda membuat sirkuit elektronik
  • 1 tombol tekan
  • 2 kabel jumper

Jika Anda belum pernah menggunakan Raspberry Pi, Anda dapat melihat tutorial saya tentang bagaimana dan apa yang harus dilakukan untuk mengkonfigurasinya:

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

Langkah 1: Sirkuit Elektronik

Sirkuit Elektronik
Sirkuit Elektronik
Sirkuit Elektronik
Sirkuit Elektronik
Sirkuit Elektronik
Sirkuit Elektronik

Tidak ada yang super rumit di sini, ini sirkuit yang cukup mudah. 2 gambar di atas menjelaskan pembuatan sirkuit. Anda dapat menggunakan pin GPIO mana pun yang Anda inginkan untuk input tombol, Anda hanya perlu memastikan untuk memperbarui kode untuk mencerminkan hal itu.

Mari kita jelaskan dengan cepat bagaimana ini akan bekerja:

  • kabel MERAH membawa 3.3V ke salah satu ujung tombol tekan.
  • kabel BLACK menghubungkan ujung push button yang lain ke Pi GPIO yang akan digunakan sebagai input.
  • secara default tombolnya terbuka, jadi tidak ada tegangan yang melewatinya. Jadi kabel HITAM berada pada 0V saat tombol tidak ditekan. Ini berarti bahwa keadaan logis dari input Pi GPIO adalah 0.
  • ketika tombol akan ditekan, tegangan akan melewatinya dan kabel HITAM akan terhubung ke 3.3V. Raspberry Pi kemudian akan melihat tegangan 3,3V pada inputnya, sesuai dengan keadaan logis 1.

Langkah 2: Kode Python

Kode Python
Kode Python

Sekarang sirkuit siap digunakan, kita perlu menulis kode yang akan menjalankannya, dan saya menggunakan Python di lingkungan PyCharm di sini. Saya mengonfigurasi tombol untuk mematikan Raspberry Pi hanya ketika ditekan lebih dari 3 detik. Alasan mengapa saya melakukannya adalah karena sangat mudah untuk menekannya secara tidak sengaja, dan Anda tidak ingin mematikan Pi Anda secara tidak sengaja.

Layar cetak di atas berasal dari lingkungan PyCharm saya, dan kodenya adalah sebagai berikut (dengan sedikit perbedaan pada baris 26 yang ditautkan ke proyek lain tetapi tidak diperlukan di sini):

# Ini adalah kode aa untuk mematikan Raspberry Pi saat menekan dan menahan tombol yang ditentukan# Modul eksternal mengimpor impor RPi. GPIO sebagai GPIOimpor waktu impor os# Pin & variabel Raspberry Pi didefinisikan &hold_time = 3 # Tahan waktu dalam detik untuk poweroffbutton_poweroff = 1 # Tekan tombol untuk mematikan Raspberry PiGPIO.setwarnings(False)GPIO.setmode(GPIO. BCM) # Skema penomoran pin BroadcomGPIO.setup(button_poweroff, GPIO. IN, pull_up_down=GPIO. PUD_DOWN) # Tombol ditetapkan sebagai inputsementara Benar: GPIO.wait_for_edge(button_poweroff, GPIO. RISING) start = time.time() time.sleep(0.2) # Beralih debounce saat GPIO.input(button_poweroff) == 1: time.sleep(0.01) length = time.time() - start if length > hold_time: os.system("sudo poweroff")

Hal pertama, jika Anda telah menghubungkan tombol tekan ke GPIO yang berbeda, adalah memperbarui baris 11 pada layar cetak di atas dengan input GPIO yang relevan:

button_poweroff = GPIO_X # Perbarui dengan GPIO yang benar yang digunakan di sirkuit Anda

Juga, variabel hold_time memungkinkan Anda untuk mengubah waktu tunggu yang memicu Pi untuk dimatikan.

Langkah 3: Cara Meluncurkan Script Secara Otomatis Setelah Prosedur Boot

Cara Meluncurkan Script Secara Otomatis Setelah Prosedur Boot
Cara Meluncurkan Script Secara Otomatis Setelah Prosedur Boot
Cara Meluncurkan Script Secara Otomatis Setelah Prosedur Boot
Cara Meluncurkan Script Secara Otomatis Setelah Prosedur Boot

Sekarang kita memiliki kode yang siap, kita hanya perlu menjalankannya. Namun, akan lebih mudah jika kita dapat menjalankan skrip ini setiap kali Pi boot, secara otomatis, sehingga tombol akan berfungsi tanpa kita menjalankan skrip setiap kali. Ada banyak cara untuk melakukannya. Saya telah menambahkan satu baris di sini ke dalam file rc.local yang terletak di folder /etc/ dari Pi Anda. Itu dieksekusi sebagai bagian dari urutan boot.

Anda perlu membuka baris perintah dan ketik perintah berikut (layar cetak pertama di atas):

cd /

cd dll sudo nano rc.local

Perintah pertama akan membawa Anda dari direktori /home/pi ke direktori root, yaitu /.

Perintah kedua kemudian akan membawa Anda ke direktori /etc/.

Terakhir, yang ketiga akan membuka file rc.local sebagai pengguna super, dengan hak edit penuh, yang Anda perlukan untuk memodifikasi file tersebut.

Setelah berada di file, Anda hanya perlu menambahkan baris di akhir, tetapi sebelum pernyataan exit 0 (layar cetak ke-2 di atas):

# Tambahkan baris ini ke file rc.local untuk meluncurkan skrip

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

Ada beberapa hal yang perlu Anda perhatikan, berikut ini:

  1. nama file Anda: pada baris di atas, saya berasumsi bahwa file tersebut adalah shutdown_with_hold.py. Tapi bisa apa saja yang Anda inginkan, cukup perbarui namanya dengan nama Anda.
  2. di mana Anda telah menyimpan file Anda: pada baris di atas, saya berasumsi bahwa itu disimpan di direktori /home/pi/Documents Anda. Tapi sekali lagi, itu bisa di mana saja. Anda hanya perlu memastikan untuk meletakkan path absolut ke file Anda di sini.
  3. karakter "&" di akhir: ini penting, dan memungkinkan perintah ini berjalan di latar belakang

Dan itu saja! Jadi sekarang, skrip akan dieksekusi setiap kali Pi Anda AKTIF, dan Anda hanya perlu menekan tombol lebih dari 3 detik untuk mematikannya.

Direkomendasikan: