Temperature Sensor: Cara Menggunakan Sensor Suhu Bawaan Raspberry Pi Pico

Raspberry Pi Pico tidak hanya dapat digunakan untuk mengontrol LED, membaca tombol, atau menghubungkan sensor eksternal. Board mikrokontroler ini juga memiliki sensor suhu bawaan (built-in temperature sensor) yang dapat digunakan untuk membaca perkiraan suhu chip RP2040. Menariknya, kita tidak membutuhkan sensor suhu eksternal seperti LM35, DHT11, atau DS18B20 untuk mencoba fitur ini. Dengan beberapa baris kode MicroPython, nilai suhu dari sensor bawaan Raspberry Pi Pico dapat dibaca dan ditampilkan melalui Thonny IDE. Pada tutorial ini akan membahas tentang cara menggunakan built-in temperature sensor Raspberry Pi Pico, cara kerja sensor tersebut, rumus konversi nilai ADC menjadi suhu, serta contoh program MicroPython yang bisa langsung dipraktikkan.

Apa Itu Built-in Temperature Sensor Raspberry Pi Pico?

Built-in temperature sensor Raspberry Pi Pico adalah sensor suhu yang sudah terintegrasi di dalam chip RP2040 yang menjadi otak Raspberry Pi Pico. Sensor ini sebenarnya mengukur suhu yang berhubungan dengan chip RP2040, bukan suhu udara di sekitar board secara langsung. Karena itu, hasil pembacaan sebaiknya dianggap sebagai perkiraan suhu internal chip, bukan sebagai termometer ruangan. Sensor suhu internal ini terhubung ke salah satu kanal ADC pada RP2040. Ketika kita membaca kanal tersebut menggunakan MicroPython, kita mendapatkan nilai tegangan yang kemudian dapat dikonversi menjadi temperatur dalam satuan Celsius.

Apakah Perlu Sensor Eksternal?

Tidak. Untuk mencoba tutorial Raspberry Pi Pico temperature sensor, Anda hanya membutuhkan:

- Raspberry Pi Pico

- Kabel USB

- Komputer atau laptop

- Thonny IDE

- MicroPython yang sudah terpasang pada Raspberry Pi Pico

Tidak diperlukan sensor suhu tambahan.

Cara Kerja Sensor Suhu Bawaan Raspberry Pi Pico

Pada RP2040 terdapat ADC atau Analog-to-Digital Converter yang dapat digunakan untuk membaca beberapa sumber analog, termasuk sensor suhu internal. Secara sederhana, proses pembacaannya sebagai berikut:

Sensor suhu internal → ADC → nilai ADC → tegangan → suhu Celsius

MicroPython menyediakan akses ke ADC melalui modul machine. Untuk membaca sensor suhu internal, Anda dapat menggunakan ADC(4). Pada RP2040, kanal ADC 4 digunakan untuk membaca sensor temperatur internal. Berbeda dengan GPIO ADC eksternal yang menggunakan pin fisik, ADC 4 untuk sensor suhu internal tidak terhubung ke pin GPIO yang perlu kita pasangi kabel.

Rumus Konversi Suhu

Nilai ADC yang diperoleh perlu dikonversi menjadi tegangan terlebih dahulu. Dengan ADC 12-bit dan referensi tegangan 3,3 V, secara sederhana tegangan dapat dihitung menggunakan:

 

Tegangan = Nilai ADC × 3.3 / 65535 


Kemudian tegangan tersebut dapat digunakan dalam persamaan karakteristik sensor temperatur RP2040:

 

T = 27 - (V - 0.706) / 0.001721 


Keterangan:

- T = temperatur dalam °C

- V = tegangan keluaran sensor dalam Volt

- 0.706 V = nilai tegangan nominal pada temperatur tertentu

- 0.001721 V/°C = perubahan tegangan terhadap temperatur

Catatan: pembacaan sensor internal tidak ditujukan sebagai alat ukur temperatur presisi. Hasilnya dapat berbeda dari suhu lingkungan sebenarnya.

Persiapan Raspberry Pi Pico

Sebelum menjalankan program, pastikan Raspberry Pi Pico sudah terhubung ke komputer menggunakan kabel USB. Jika menggunakan Thonny IDE, pilih interpreter MicroPython untuk Raspberry Pi Pico.

1. Buka Thonny IDE, kemudian masuk ke Run → Configure Interpreter.

2. Pada bagian interpreter, pilih MicroPython (Raspberry Pi Pico).

3. Pastikan perangkat Raspberry Pi Pico sudah terdeteksi.

4. Setelah itu, kita dapat menulis program pada editor atau bagian Untitled di Thonny, bukan pada Shell. Shell digunakan untuk melihat output program, sedangkan kode program ditulis pada editor.

Program Membaca Suhu Internal Raspberry Pi Pico

Berikut contoh program sederhana untuk membaca temperature sensor bawaan Raspberry Pi Pico.

 

from machine import ADC

import time


sensor_temp = ADC(4)


conversion_factor = 3.3 / 65535


while True:

    reading = sensor_temp.read_u16()

    

    voltage = reading * conversion_factor

    

    temperature = 27 - (voltage - 0.706) / 0.001721

    

    print("Suhu:", temperature, "°C")

    

    time.sleep(1)


Program tersebut akan membaca sensor suhu setiap satu detik dan menampilkan hasilnya pada Shell Thonny IDE.

Penjelasan Program

1. Mengimpor ADC dan Time

 

from machine import ADC

import time

 

ADC digunakan untuk membaca nilai analog dari sensor suhu internal. Sedangkan modul time digunakan agar program dapat memberikan jeda menggunakan time.sleep().

2. Memilih Sensor Suhu Internal

 

sensor_temp = ADC(4)

 

Baris ini merupakan bagian penting dari program. ADC(4) digunakan untuk mengakses sensor temperatur internal RP2040. Jadi, Anda tidak perlu menentukan GPIO seperti GP26, GP27, atau GP28 untuk sensor suhu internal.

3. Membuat Conversion Factor

 

conversion_factor = 3.3 / 65535


MicroPython pada Raspberry Pi Pico menyediakan pembacaan ADC menggunakan read_u16(), sehingga nilai ADC berada dalam rentang 0 hingga 65535. Nilai tersebut kemudian dikonversi menjadi tegangan berdasarkan referensi ADC 3,3 V.

4. Membaca Nilai ADC

 

reading = sensor_temp.read_u16()

 

Fungsi read_u16() digunakan untuk membaca nilai ADC. Hasilnya berupa angka yang kemudian digunakan untuk menghitung tegangan.

5. Mengubah Nilai ADC Menjadi Tegangan

 

voltage = reading * conversion_factor

 

Pada tahap ini, nilai ADC dikonversi menjadi tegangan dalam satuan Volt.

6. Menghitung Temperatur

 

temperature = 27 - (voltage - 0.706) / 0.001721

 

Persamaan tersebut digunakan untuk memperkirakan temperatur berdasarkan karakteristik sensor temperatur internal RP2040. Hasil akhirnya berupa temperatur dalam derajat Celsius (°C).

7. Menampilkan Suhu

 

print("Suhu:", temperature, "°C")

 

Perintah print() mengirimkan hasil pembacaan ke Shell Thonny IDE. Contoh hasilnya kurang lebih seperti:

 

Suhu: 29.84 °C

Suhu: 29.76 °C

Suhu: 29.71 °C

Suhu: 29.68 °C

 

Nilai yang muncul dapat berbeda karena dipengaruhi kondisi board, suhu lingkungan, suplai daya, dan aktivitas chip.

8. Memberikan Jeda

 

time.sleep(1)


Program berhenti selama satu detik sebelum melakukan pembacaan berikutnya. Dengan demikian, temperatur akan diperbarui setiap satu detik.

Versi Program yang Lebih Sederhana

Jika ingin membuat program Raspberry Pi Pico temperature sensor yang lebih ringkas, Anda dapat menggunakan kode berikut:

 

from machine import ADC

import time


temp_sensor = ADC(4)


while True:

    adc_value = temp_sensor.read_u16()

    voltage = adc_value * 3.3 / 65535

    temperature = 27 - (voltage - 0.706) / 0.001721


    print("Temperature:", temperature, "°C")

    

    time.sleep(1)


Program ini memiliki fungsi yang sama, tetapi penulisannya dibuat lebih sederhana agar lebih mudah dipahami oleh pemula.

Cara Menjalankan Program di Thonny IDE

Langkah 1: Hubungkan Raspberry Pi Pico

Hubungkan Raspberry Pi Pico ke komputer menggunakan kabel USB.

Langkah 2: Pastikan Interpreter Benar

Pada Thonny, pilih interpreter MicroPython (Raspberry Pi Pico).

Langkah 3: Masukkan Program

Tulis kode program pada editor Thonny. Jangan menulis seluruh program pada Shell, karena editor digunakan untuk membuat dan menyimpan file program.

Langkah 4: Jalankan Program

Klik tombol Run atau tekan F5. Jika muncul pilihan untuk menyimpan file, program dapat disimpan sebagai main.py. Menyimpannya sebagai main.py berguna jika Anda ingin program dijalankan otomatis ketika Raspberry Pi Pico dinyalakan.

Langkah 5: Lihat Hasil

Perhatikan bagian Shell pada Thonny. Jika program berjalan dengan benar, akan muncul nilai temperatur seperti:

 



Gambar di atas menunjukkan Raspberry Pi Pico yang terhubung ke komputer menggunakan kabel USB. Tidak ada sensor suhu eksternal yang diperlukan karena pembacaan dilakukan menggunakan sensor suhu internal RP2040. Pada percobaan ini, Anda tidak perlu menghubungkan kabel jumper ke pin sensor suhu. Sensor sudah berada di dalam chip RP2040.

Mengapa Suhu yang Dibaca Bisa Berbeda?

Jangan khawatir jika hasil pembacaan tidak sama dengan suhu ruangan. Misalnya, termometer ruangan menunjukkan 27 °C sedangkan Raspberry Pi Pico menunjukkan 31 °C. Hal tersebut dapat terjadi karena sensor yang digunakan adalah sensor temperatur internal chip, bukan sensor temperatur udara.

1. Panas dari Chip RP2040

Saat Raspberry Pi Pico menjalankan program, chip RP2040 menghasilkan panas dalam jumlah tertentu. Semakin tinggi aktivitas pemrosesan, kondisi lingkungan, dan faktor lainnya, hasil pembacaan dapat berubah.

2. Posisi Raspberry Pi Pico

Jika board berada di tempat yang panas atau terkena sumber panas, temperatur internal chip juga dapat meningkat.

3. Akurasi Sensor

Sensor temperatur internal RP2040 lebih cocok untuk eksperimen, pembelajaran, monitoring sederhana, dan mengetahui perubahan temperatur chip. Jika membutuhkan pengukuran suhu lingkungan yang lebih akurat, sebaiknya gunakan sensor eksternal seperti DS18B20, DHT11, atau sensor temperatur lain yang memang dirancang untuk mengukur suhu lingkungan.

Contoh Pengembangan Proyek

Setelah berhasil membaca sensor suhu bawaan Raspberry Pi Pico, proyek dapat dikembangkan menjadi beberapa aplikasi sederhana.

1. Monitoring Suhu Chip

Data temperatur dapat ditampilkan secara terus-menerus pada Shell.

2. Sistem Peringatan Suhu

Program dapat dibuat untuk memberikan peringatan ketika suhu melewati batas tertentu. Contohnya:

 

if temperature > 50:

    print("PERINGATAN: Suhu tinggi!")

else:

    print("Suhu normal:", temperature, "°C")


Dengan konsep tersebut, Raspberry Pi Pico dapat digunakan untuk membuat monitoring temperatur internal sederhana.

3. Menampilkan Suhu pada LCD

Nilai temperatur juga dapat dikirim ke LCD I2C sehingga pengguna tidak perlu membuka komputer untuk melihat hasilnya.

4. Mengirim Data ke Komputer

Data temperatur dapat dikirim melalui USB serial untuk kemudian diproses menggunakan aplikasi komputer.

5. Data Logging

Hasil pembacaan dapat disimpan secara berkala sehingga perubahan temperatur dapat dianalisis dalam bentuk tabel atau grafik.

Perbedaan Sensor Suhu Internal dan Sensor Suhu Eksternal


Fitur

Sensor Suhu Internal

Sensor Eksternal

Lokasi

Di dalam RP2040

Di luar Raspberry Pi Pico

Sensor tambahan

Tidak diperlukan

Diperlukan

Mengukur suhu chip

Ya

Tidak secara langsung

Mengukur suhu ruangan

Tidak ideal

Lebih sesuai

Rangkaian

Sangat sederhana

Membutuhkan koneksi tambahan

Cocok untuk

Pembelajaran dan monitoring chip

Pengukuran lingkungan


Dari tabel tersebut dapat disimpulkan bahwa built-in temperature sensor Raspberry Pi Pico sangat praktis karena tidak membutuhkan komponen tambahan. Namun, sensor tersebut memiliki tujuan yang berbeda dengan sensor suhu eksternal.

Masalah yang Sering Terjadi

1. Suhu Tidak Muncul di Shell

Pastikan program dijalankan menggunakan MicroPython dan Raspberry Pi Pico sudah terhubung dengan benar. Periksa juga apakah kode menggunakan:

 

sensor_temp = ADC(4)

 

2. Muncul Error ADC

Jika muncul error terkait ADC, periksa kembali interpreter pada Thonny. Pastikan yang dipilih adalah MicroPython untuk Raspberry Pi Pico, bukan interpreter Python biasa pada komputer.

3. Hasil Suhu Terlihat Tidak Akurat

Hal ini merupakan hal yang wajar karena sensor internal RP2040 bukan sensor suhu lingkungan presisi. Gunakan hasil pembacaan terutama untuk melihat perubahan temperatur internal chip, bukan sebagai pengganti termometer.

4. Nilai Suhu Naik Saat Program Berjalan

Kenaikan temperatur dapat terjadi karena chip RP2040 sedang aktif menjalankan program. Jika program melakukan proses yang lebih berat, kondisi temperatur internal juga dapat berubah.

 

Baca juga: LED Blink: Cara Menyalakan dan Mematikan LED Bawaan Raspberry Pi Pico

 

 

 

Dalam praktik, hasil dan kendala yang ditemui bisa berbeda tergantung perangkat, konfigurasi, versi library, dan sistem yang digunakan.

Posting Komentar

0 Komentar