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
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.
- Diskusi umum dan tanya jawab praktik: https://t.me/edukasielektronika
- Kendala spesifik dan kasus tertentu: http://bit.ly/Chatarduino







0 Komentar