Daftar Isi:

Pengukuran Suhu Menggunakan XinaBox dan Termistor: 8 Langkah
Pengukuran Suhu Menggunakan XinaBox dan Termistor: 8 Langkah

Video: Pengukuran Suhu Menggunakan XinaBox dan Termistor: 8 Langkah

Video: Pengukuran Suhu Menggunakan XinaBox dan Termistor: 8 Langkah
Video: Membuat pengukur Suhu tanpa sentuh dengan mlx90614 dan Android 2024, November
Anonim
Pengukuran Suhu Menggunakan XinaBox dan Termistor
Pengukuran Suhu Menggunakan XinaBox dan Termistor

Ukur suhu cairan menggunakan input analog xChip dari XinaBox dan probe termistor.

Langkah 1: Hal-hal yang Digunakan dalam Proyek Ini

Komponen perangkat keras

  • XinaBox SX02 x 1 xChip sensor input analog dengan ADC
  • XinaBox CC01 x 1 xChip versi Arduino Uno berdasarkan ATmega328P
  • Resistor 10k ohm x 1 10k resistor untuk jaringan pembagi tegangan
  • Thermistor Probe x 1 10k pada 25 ° C NTC probe termistor tahan air
  • XinaBox IP01 x 1 xChip USB Programmer berdasarkan FT232R Dari FTDI Limited
  • XinaBox OD01 x 1 xChip 128x64 Pixel Layar OLED
  • XinaBox XC10 x 4 xChip bus konektor
  • XinaBox PU01 x 1 xChip USB (Tipe A) Catu Daya
  • Catu Daya USB 5V x 1 Bank Daya atau yang serupa

Aplikasi perangkat lunak dan layanan online

Arduino IDE

Perkakas tangan dan mesin fabrikasi

Obeng Flathead Untuk mengencangkan atau mengendurkan klem terminal sekrup

Langkah 2: Cerita

pengantar

Saya ingin mengukur suhu cairan dengan membuat termometer sederhana. Dengan menggunakan XinaBox xChips saya bisa melakukannya dengan relatif sederhana. Saya menggunakan input analog SX02 xChip yang menerima 0 - 3.3V, CC01 xChip berdasarkan ATmega328P dan OD01 OLED display xChip untuk melihat hasil suhu saya.

Termistor mengukur suhu air dalam gelas

Langkah 3: Unduh File yang Diperlukan

Anda akan memerlukan perpustakaan dan perangkat lunak berikut:

  • xSX0X- Perpustakaan sensor input analog
  • xOD01 - perpustakaan tampilan OLED
  • Arduino IDE - Lingkungan pengembangan

Klik di sini untuk melihat cara menginstal perpustakaan.

Setelah Anda menginstal Arduino IDE, buka dan pilih "Arduino Pro atau Pro Mini" sebagai papan untuk mengunggah program Anda. Pastikan juga prosesor ATmega328P (5V, 16MHz) dipilih. Lihat gambar di bawah.

Pilih papan Arduino Pro atau Pro Mini dan prosesor ATmega328P (5V, 16MHz)

Langkah 4: Merakit

Klik programmer xChip, IP01, dan CC01 xChip berbasis ATmega328P bersama-sama menggunakan konektor bus XC10 seperti yang ditunjukkan di bawah ini. Untuk mengunggah ke CC01, Anda harus menempatkan sakelar masing-masing di posisi 'A' dan 'DCE'.

IP01 dan CC01 diklik bersama

Selanjutnya, ambil resistor 10kΩ Anda dan kencangkan salah satu ujungnya di terminal bertanda "IN" dan ujung lainnya di terminal ground, "GND", pada SX02. Ambil kabel pada probe termistor dan kencangkan salah satu ujungnya di Vcc, "3.3V", dan ujung lainnya di terminal "IN". Lihat grafik di bawah ini.

koneksi SX02

Sekarang gabungkan OD01 dan SX02 dengan CC01 hanya dengan mengkliknya bersama-sama menggunakan konektor bus XC10. Lihat di bawah. Elemen perak pada gambar adalah probe termistor.

Unit lengkap untuk pemrograman

Langkah 5: Program

Masukkan unit ke port USB di komputer Anda. Unduh atau salin dan tempel kode di bawah ini ke Arduino IDE Anda. Kompilasi dan unggah kode ke papan Anda. Setelah diunggah, program Anda akan mulai berjalan. Jika Anda memeriksa pada kondisi suhu kamar, Anda harus mengamati ±25°C pada tampilan OLED seperti yang ditunjukkan di bawah ini.

Setelah mengunggah, amati suhu ruangan pada layar OLED

Langkah 6: Termometer Portabel

Lepaskan unit dari komputer Anda. Bongkar unit dan pasang kembali menggunakan PU01, bukan IP01. Sekarang ambil catu daya portabel USB 5V Anda seperti bank daya atau sejenisnya dan masukkan rakitan baru ke dalamnya. Anda sekarang memiliki termometer portabel keren dengan akurasi yang baik. Lihat gambar sampul untuk melihatnya beroperasi. Saya mengukur air panas dalam gelas. Gambar di bawah ini menunjukkan unit lengkap Anda.

Unit lengkap terdiri dari CC01, OD01, SX02 dan PU02.

Langkah 7: Kesimpulan

Proyek ini membutuhkan waktu kurang dari 10 menit untuk merakit dan 20 menit lagi untuk memprogram. satu-satunya komponen pasif yang diperlukan adalah resistor. xChips cukup klik bersama sehingga sangat nyaman.

Langkah 8: Kode

ThermTemp_Display.ino Arduino Penelitian termistor untuk memahami perhitungan dalam kode.

#include // sertakan pustaka inti untuk xCHIP

#include // sertakan library sensor input analog #include // sertakan library tampilan OLED #include // sertakan fungsi matematika#define C_Kelvin 273,15 // untuk konversi dari kelvin ke celsius #define series_res 10000 // nilai resistor seri dalam ohm #define B 3950 // Parameter B untuk termistor #define room_tempK 298.15 // suhu ruangan dalam kelvin #define room_res 10000 // tahanan pada suhu ruangan dalam ohm #define vcc 3.3 // tegangan suplai xSX01 SX01(0x55); // mengatur tegangan float alamat i2c; // variabel yang berisi voltase terukur (0 - 3.3V) float therm_res; // resistansi termistor float act_tempK; // suhu aktual kelvin float act_tempC; // suhu aktual dalam celsius void setup() { // letakkan kode setup Anda di sini, untuk dijalankan sekali: // inisialisasi variabel ke 0 voltage = 0; suhu_res = 0; act_tempK = 0; act_tempC = 0; // memulai komunikasi serial Serial.begin(115200); // memulai komunikasi i2c Wire.begin(); // memulai sensor input analog SX01.begin(); // mulai tampilan OLED OLED.begin(); // hapus tampilan OD01.clear(); // delay untuk menormalkan delay(1000); } void loop() { // letakkan kode utama Anda di sini, untuk dijalankan berulang kali: // baca tegangan SX01.poll(); // simpan tegangan tegangan = SX01.getVoltage(); // menghitung resistansi termistor therm_res = ((vcc * series_res) / tegangan) - series_res; // hitung suhu sebenarnya dalam kelvin act_tempK = (room_tempK * B) / (B + room_tempK * log(therm_res / room_res)); // konversi kelvin ke celsius act_tempC = act_tempK - C_Kelvin; // suhu cetak pada tampilan OLED // pemformatan manual untuk ditampilkan di tengah OD01.set2X(); OD01.println(""); OD01.println(""); OD01.print(" "); OD01.print(act_tempC); OD01.print("C"); OD01.println(""); penundaan(2000); // perbarui tampilan setiap 2 detik }

Direkomendasikan: