Buat monitor suhu Raspberry Pi menggunakan Sense HAT dan tampilkan pembacaan reguler pada matriks LED-nya.

Ada beberapa cara di mana Anda dapat memantau suhu sekitar menggunakan komputer papan tunggal Raspberry Pi, mungkin sebagai bagian dari pengaturan stasiun cuaca. Meskipun Anda dapat menggunakan sensor eksternal yang terhubung ke pin GPIO Raspberry Pi, berikut akan dijelaskan cara memantau suhu dengan Raspberry Pi yang dilengkapi Sense HAT.

Apa itu Sense HAT?

Kredit Gambar: Raspberry Pi

Seorang pejabat TOPI Raspberry Pi (Perangkat Keras Terlampir di Atas) papan tambahan yang dirancang dan diproduksi oleh perusahaan Raspberry Pi, Sense HAT awalnya dibuat untuk digunakan oleh astronot di Stasiun Luar Angkasa Internasional. Sejak tahun 2015, dua komputer Raspberry Pi yang dilengkapi dengan Sense HAT telah digunakan dalam eksperimen ilmiah yang dirancang oleh anak-anak sekolah yang memasuki masa percobaan. AstroPi tantangan Kedua unit ini telah digantikan oleh versi yang ditingkatkan berdasarkan Raspberry Pi 4 dan dilengkapi dengan Kamera Berkualitas Tinggi.

instagram viewer
Kredit Gambar: Raspberry Pi

Meskipun tidak memiliki casing perak khusus yang dirancang untuk digunakan di luar angkasa, papan Sense HAT standar memiliki fungsi yang persis sama. Kompatibel dengan apa pun Model Raspberry Pi dengan header GPIO 40-pin, ia dilengkapi serangkaian sensor terpasang yang memungkinkannya memantau lingkungan sekitar dan juga mendeteksi orientasi dan pergerakannya sendiri. Selain itu, ia memiliki matriks LED 8x8 RGB untuk menampilkan teks, data, dan gambar. Ada juga joystick mini lima arah.

Rangkaian lengkap fungsi sensorik Sense HAT adalah sebagai berikut:

  • Kelembaban: Sensor STMicro HTS221 dengan rentang kelembapan relatif 0 hingga 100%, ditambah penginderaan suhu dari 32°F hingga 149°F (0°C hingga 65°C ± 2°C).
  • Tekanan barometrik: Sensor STMicro LPS25HB dengan rentang 260 hingga 1260 hPa, ditambah penginderaan suhu dari 59°F hingga 104°F (15°C hingga 40°C ±0,5°C).
  • Suhu: Nilai ini dapat dibaca dari sensor kelembapan atau tekanan, atau diukur dengan mengambil rata-rata dari kedua pembacaan tersebut.
  • Giroskop: IMU STMicro LSM9DS1 dapat mengukur rotasi Sense HAT relatif terhadap permukaan bumi (dan seberapa cepat rotasinya).
  • Akselerometer: Fungsi lain dari IMU adalah dapat mengukur gaya percepatan dalam berbagai arah.
  • magnetometer: Dengan merasakan medan magnet bumi, IMU dapat menentukan arah utara magnet dan memberikan pembacaan kompas.

Sekarang setelah Anda mengetahui apa yang dapat dilakukan oleh Raspberry Pi HAT serbaguna ini, sekarang saatnya untuk memulai proyek ini.

Langkah 1: Pasang TOPI Sense

Untuk menghubungkan Sense HAT, pastikan terlebih dahulu Raspberry Pi Anda dalam keadaan mati dan terputus dari listrik. Kemudian dengan hati-hati dorong Sense HAT (dengan pemanjang header hitam yang disertakan) ke header GPIO 40-pin Raspberry Pi sehingga papan Sense HAT ditempatkan di atas papan Raspberry Pi. Pastikan semua pin sejajar dengan benar dan kedua baris terhubung. Anda juga dapat menggunakan penahan sekrup untuk membantu mengamankannya.

Anda dapat menggunakan model Raspberry Pi standar apa pun yang memiliki header GPIO 40-pin. Salah satu dari batasan utama Raspberry Pi 400Namun, header GPIO-nya terletak di bagian belakang keyboard terintegrasi. Artinya Sense HAT akan menghadap ke belakang, jadi Anda mungkin ingin menggunakan kabel ekstensi GPIO untuk menyambungkannya.

Langkah 2: Siapkan Raspberry Pi

Seperti proyek lainnya, Anda harus mencolokkan keyboard dan mouse USB lalu menyambungkannya sambungkan Raspberry Pi Anda ke monitor atau TV. Anda juga harus memasukkan kartu microSD dengan OS Raspberry Pi standar—jika Anda belum melakukannya, lihat cara install sistem operasi pada Raspberry Pi. Anda kemudian siap untuk menyalakan daya.

Alternatifnya, Anda dapat menggunakan Raspberry Pi dengan Sense HAT dalam mode tanpa kepala, tanpa monitor tersambung dan terhubung ke Raspberry Pi dari jarak jauh menggunakan SSH dari komputer atau perangkat lain. Jika melakukan ini, Anda tidak akan dapat menggunakan IDE Thonny Python, Anda masih dapat mengedit program menggunakan editor teks nano dan menjalankannya dari baris perintah.

Firmware Sense HAT harus diinstal secara default. Untuk memeriksa ulang, buka jendela Terminal dan masukkan:

sudo apt install sense-hat

Kemudian, jika paket baru saja diinstal, reboot Raspberry Pi:

sudo reboot

Langkah 3: Mulai Pemrograman dengan Python

Meskipun Anda dapat menggunakan Raspberry Pi Sense HAT dengan bahasa pemrograman berbasis blok Scratch, kami akan menggunakan Python untuk membaca dan menampilkan pembacaan sensornya.

Thonny IDE (lingkungan pengembangan terintegrasi) adalah cara yang baik untuk melakukan pemrograman Python pada Raspberry Pi, karena memiliki banyak fungsi termasuk fitur debugging yang berguna. Di GUI desktop Raspberry Pi OS, buka Menu (ikon raspberry kiri atas) > Pemrograman > Thonny IDE untuk meluncurkannya.

Langkah 4: Lakukan Pembacaan Suhu

Di jendela utama Thonny IDE, masukkan baris kode berikut:


from sense_hat import SenseHat

sense = SenseHat()
sense.clear()

temp = sense.get_temperature()
print(temp)

Baris pertama mengimpor Topi Rasa kelas dari akal_topi Pustaka Python (yang sudah diinstal sebelumnya di Raspberry Pi OS). Ini kemudian ditugaskan ke nalar variabel. Baris ketiga membersihkan matriks LED Sense HAT.

Kami kemudian mengambil pembacaan suhu dan mencetaknya ke area Shell di Thonny IDE. Ini dalam derajat Celcius, jadi Anda mungkin ingin mengubahnya terlebih dahulu ke Fahrenheit:

temp = (sense.get_temperature() * 1.8 + 32)

Pembacaan sensor suhu akan memiliki beberapa digit setelah koma desimal. Jadi kita akan menggunakan bulat berfungsi untuk membulatkannya ke satu tempat desimal:

temp = round(temp, 1)

Itu sense.get_temperature() fungsi membaca sensor suhu yang terpasang pada sensor kelembaban. Alternatifnya, Anda dapat membaca suhu dari sensor tekanan dengan sense.get_temperature_from_pressure() atau bahkan mengambil kedua pembacaan dan menghitung rata-rata (dengan menjumlahkannya dan membaginya dengan dua).

Langkah 5: Tunjukkan Suhu pada Sense HAT

Mencetak pembacaan suhu tunggal ke Python Shell agak membosankan, jadi mari kita lakukan pembacaan baru secara rutin dan tunjukkan pada matriks LED RGB Sense HAT. Untuk menampilkan pesan teks bergulir, kami menggunakan tunjukkan pesan fungsi. Kami juga akan menggunakan a sementara: Benar loop untuk terus melakukan pembacaan baru setiap 10 detik—yang kami gunakan tidur fungsi dari waktu perpustakaan.

Berikut program lengkapnya:

from sense_hat import SenseHat
from time import sleep

sense = SenseHat()
sense.clear()

whileTrue:
 temp = (sense.get_temperature() * 1.8 + 32)
 temp = round(temp, 1)
 message = "Temp: " + str(temp)
 sense.show_message(message)
 sleep (10)

Jalankan kode ini dan Anda akan melihat setiap pembacaan suhu baru bergulir melintasi matriks LED. Coba tiup Sense HAT untuk melihat apakah suhunya berubah.

Pembacaan suhu mungkin dipengaruhi oleh panas yang ditransfer dari CPU Raspberry Pi tepat di bawahnya, sehingga penyesuaian mungkin diperlukan untuk mendapatkan angka yang lebih akurat. Solusi lain adalah dengan menggunakan header bertumpuk untuk menaikkan Sense HAT lebih tinggi di atas Raspberry Pi.

Gunakan Raspberry Pi untuk Memantau Suhu

Meskipun Anda dapat menggunakan sensor suhu mandiri untuk proyek ini, Sense HAT memudahkan Anda memantau suhu dengan Raspberry Pi. Anda juga dapat menggunakannya untuk mengambil sejumlah pembacaan sensor lainnya, seperti tekanan barometrik dan kelembaban relatif, dan menampilkannya pada LED-nya. matriks.