Daftar Isi:

Open Source Data Logger (OPENSDL): 5 Langkah (dengan Gambar)
Open Source Data Logger (OPENSDL): 5 Langkah (dengan Gambar)

Video: Open Source Data Logger (OPENSDL): 5 Langkah (dengan Gambar)

Video: Open Source Data Logger (OPENSDL): 5 Langkah (dengan Gambar)
Video: Golang vs Python #shorts tiktok hackmymozg 2024, Juli
Anonim
Pencatat Data Sumber Terbuka (OPENSDL)
Pencatat Data Sumber Terbuka (OPENSDL)
Pencatat Data Sumber Terbuka (OPENSDL)
Pencatat Data Sumber Terbuka (OPENSDL)
Pencatat Data Sumber Terbuka (OPENSDL)
Pencatat Data Sumber Terbuka (OPENSDL)

Tujuan dari proyek ini adalah untuk merancang, membangun, dan menguji sistem pengukuran berbiaya rendah untuk studi Evaluasi Kinerja Bangunan yang mencakup setidaknya suhu, kelembaban relatif, pencahayaan, dan dapat diperluas ke sensor tambahan, dan untuk mengembangkan prototipe perangkat ini..

Hal ini menghasilkan sistem yang disesuaikan dan terjangkau yang memungkinkan pemangku kepentingan melakukan pengukuran yang diperlukan untuk membangun evaluasi kinerja dengan cara yang efisien dan terjangkau dengan mencatat beberapa parameter lingkungan sekaligus. Open Source Data Logger (OPENSDL) yang dikembangkan dibandingkan dengan data logger HOBO U12-012. Sistem rekanan yang tersedia secara komersial ini, dapat mengukur 3 parameter, yaitu- suhu, RH, dan pencahayaan, dan satu saluran eksternal untuk jenis sensor lainnya. Perangkat penginderaan yang berbeda akan diperlukan untuk pengukuran parameter lainnya. Karakteristik parameter yang akan diukur terbatas pada perangkat keras dan perangkat lunak berpemilik, yang membatasi sistem untuk mengukur parameter tertentu dengan akurasi tertentu. Sebuah HOBO U12-012 berharga sekitar 13.000 (US$ 185), sedangkan OPENSDL berharga 4, 605 (US$ 66), yang hampir sepertiga dari rekan komersial.

Pencatat data sumber terbuka untuk memantau suhu, RH, dan tingkat cahaya (penerangan) dengan bantuan Arduino Uno Ini adalah DIY untuk mengembangkan pencatat data OPENSDL.

Waktu yang dibutuhkan: 2-3 jam untuk menyolder, 5 jam untuk pengemasan (4 jam - pencetakan 3D, dan 1 jam untuk pemotongan laser) Keterampilan yang dibutuhkan: Menyolder, sedikit atau tidak memiliki pengetahuan dalam pemrograman dan elektronik

Bagian yang dibutuhkan:

  1. Arduino Uno dengan kabel
  2. Perisai pencatat data
  3. Baterai sel koin CR1220
  4. Papan breakout sensor tekanan kelembaban suhu BME280
  5. Papan breakout sensor cahaya TSL2561
  6. Modul Wi-Fi ESP01-8266
  7. Konektor RJ-9 pria dan wanita
  8. Header susun perisai untuk Arduino
  9. Kartu memori SD (kapasitas apa saja)
  10. Papan vektor (26 x 18 lubang)
  11. 8 baterai AA Tempat baterai

Alat yang Diperlukan:

  • Besi solder (35W)
  • Kawat Solder
  • Alat pemotong kawat
  • Alat penjepit
  • Multimeter

Perangkat lunak yang dibutuhkan: Arduino IDE (1.0.5 atau lebih tinggi)

Library Arduino yang digunakan:

  • Perpustakaan kawat
  • Perpustakaan SparkFun TSL2561
  • Perpustakaan multisensor kaktus BME280
  • perpustakaan kartu SD
  • perpustakaan SPI
  • perpustakaan RTC

Catatan: Sensor BME280 adalah sensor suhu, kelembaban relatif, dan tekanan yang sangat akurat dari Bosch. Demikian pula, DS1307 adalah jam waktu nyata yang akurat dari Maxim dan TSL2561 adalah sensor cahaya yang akurat. Ada alternatif yang lebih murah dan kurang akurat untuk produk ini, tetapi tutorial ini ditujukan untuk orang-orang yang tertarik mengumpulkan data untuk evaluasi kinerja bangunan dan aplikasi pemantauan bangunan yang membutuhkan presisi dan akurasi tinggi. Ini berarti bahwa pengaturan perangkat keras dan perangkat lunak tertentu (perpustakaan, kode program) hanya dimaksudkan untuk produk tertentu saja.

Langkah 1: Perakitan

perakitan
perakitan
perakitan
perakitan
perakitan
perakitan
perakitan
perakitan

Pelindung data logger dapat dengan mudah ditumpuk di atas papan Arduino Uno. Perisai ini menyediakan kemampuan pencatatan data (penyimpanan waktu dan penyimpanan data). Perisai harus ditumpuk. Baterai sel koin CR1220 harus dimasukkan ke dalam slot bundar yang disediakan untuk menjaga jam tetap berjalan bahkan ketika Arduino dimatikan. Kartu memori SD harus dimasukkan ke dalam slot kartu terpasang yang disediakan. Perisai khusus yang unik dikembangkan dengan menggunakan pin perempuan konektor RJ-9 dan header susun perisai Arduino. Header yang sesuai disolder di lokasi yang sesuai sehingga pelindung terpasang dengan sempurna di papan Arduino. Arduino memiliki 18 pin di satu sisi dan 14 pin di sisi lain. Header dengan jumlah pin yang sama digunakan pada jarak yang sama (terpisah 18 pin) seperti pada Arduino. Sisa ruang ekstra yang berdekatan dengan header digunakan untuk menempatkan konektor RJ-9.

Header adalah cara terbaik untuk menggunakan pin yang diperlukan, sambil membuatnya tetap tersedia untuk digunakan ke komponen lain. Sensor yang digunakan mengikuti protokol komunikasi I2C, yang membutuhkan 4 pin dari Arduino, yaitu: SDA (juga tersedia sebagai A4), SCL (juga tersedia sebagai A5), 3.3V & GND. Empat kabel yang keluar dari konektor RJ-9 disolder ke empat pin header ini. Jumlah konektor RJ-9 yang diperlukan tergantung pada jumlah sensor. Dalam proyek ini, 3 konektor RJ-9 digunakan (dua untuk BME280 & satu untuk TSL2561). Empat kabel yang keluar dari konektor RJ-9 diberi kode warna, dan setiap kabel warna ditetapkan sebagai pin khusus untuk semua konektor RJ-9. Perlu diperhatikan bahwa kode warna dapat berbeda pada potongan RJ-9 yang berbeda. Dalam kasus seperti itu, lokasi kabel pada konektor harus diperhatikan. Konektor RJ-9, setelah disolder, dibuat menempel pada papan vektor menggunakan Feviqwik, sehingga menempel di permukaan. Koneksi ini dapat diverifikasi dengan menggunakan mode kontinuitas pada multimeter. Ketika dalam mode kontinuitas, multimeter harus menunjukkan resistansi nol. Hubungkan salah satu probe multimeter ke pin yang disolder, dan probe lain ke pin di dalam konektor RJ-9. Multimeter harus mengeluarkan nada, yang berarti sambungan solder sudah benar, dan sambungan telah dibuat dengan benar. Jika nada tidak keluar, periksa sambungan solder. Demikian pula, solder konektor RJ-9 dengan kabel yang sama yang terhubung ke lubang jarum yang sama pada papan breakout sensor, yaitu A4, A5, 3.3V & GND. Sensor BME280 mendukung dua alamat I2C, artinya dua sensor BME280 dapat dihubungkan ke pengontrol yang sama sekaligus. Saat melakukannya, alamat salah satu sensor harus diubah dengan menjembatani bantalan solder pada sensor. Chip koneksi nirkabel ESP-01 memerlukan koneksi berikut dengan Arduino.

ESP-01 --------- Arduino Uno

10 --------------------TX

11 -------------------- RX

Vcc ----------------CH_PD

Vcc -------------------Vcc

GND -----------------GND

Catatan: - Beberapa LED pada Arduino Uno telah dihapus untuk meningkatkan masa pakai baterai. LED indikator daya, LED RX, dan TX dilepas dengan memanaskan sambungan solder dan mendorong LED dengan forsep.

Langkah 2: Siapkan IDE dan Pustaka

Sebelum melakukan pemrograman apa pun, Arduino IDE (Integrated Development Environment) harus diunduh. Pemrograman dilakukan pada platform ini. Pustaka yang berbeda diperlukan untuk berinteraksi dengan komponen OPENSDL yang berbeda. Pustaka berikut digunakan untuk komponen yang diberikan.

Komponen -------------------------------------------------- --------------Perpustakaan

Sensor suhu & RH BME280 ---------------------------------Cactus_io_BME280_I2C.h

Sensor cahaya------------------------------------------------ ----------------SparkFun TSL2561.h

Jam waktu nyata ---------------------------------------------------------- -------------RTClib.h

Soket kartu SD ----------------------------------------------- ------------- SD.h

Koneksi I2C -------------------------------------------------- -------------Wire.h

Pustaka terpisah untuk berkomunikasi dengan ESP01 tidak diperlukan karena kode yang diunggah di Arduino memiliki perintah AT, yang dikirim ke monitor serial, dari mana ESP-01 mengambil instruksi. Jadi, pada dasarnya, perintah AT yang menjalankan ESP01, dicetak ke Serial Monitor, yang diambil sebagai perintah input oleh ESP-01. Untuk menginstal perpustakaan ini, setelah mengunduhnya, buka Arduino IDE, buka Sketsa -> Sertakan Perpustakaan -> Tambahkan perpustakaan. Zip, dan pilih perpustakaan yang diunduh.

Langkah 3: Pemrograman Sistem

Memprogram Sistem
Memprogram Sistem

Sebelum memprogram OPENSDL, sambungkan Arduino dengan laptop. Setelah terhubung, buka Tools -> Port, dan pilih port COM di mana OPENSDL terhubung. Juga, pastikan bahwa di bawah Alat -> Papan, Arduino Uno dipilih.

OPENSDL dikembangkan untuk bekerja dalam 2 mode. Dalam mode pertama, ia menyimpan data pada kartu SD pada pelindung data logger. Dalam mode kedua, ia mengirimkan data melalui internet ke situs web dengan menggunakan chip Wi-Fi ESP-01. Program untuk kedua mode berbeda. Baris kode ini dapat langsung disalin dan ditempel di editor Arduino IDE, dan digunakan secara langsung. Setelah dalam kode, kita perlu membuat beberapa penyesuaian sesuai kebutuhan kita:

  1. Ubah secara manual nilai delay (1000) di akhir kode untuk mengubah interval logging. Nilai 1000 mewakili interval dalam milidetik.
  2. Edit baris kode yang mengatakan mySensorData = SD.open("Logged01.csv", FILE_WRITE); dan ganti Logged01 dengan nama file dari nama file yang diinginkan. Ekstensi file juga dapat diubah dengan memodifikasi ekstensi.csv tepat setelah nama file.
  3. Persamaan kalibrasi yang dicapai dengan mencari korelasi antara sensor Master/referensi dan BME280 akan bervariasi untuk setiap sensor. Ganti baris kode ini dengan persamaan untuk mengkalibrasi sensor: Serial.print((1.0533*t2)-2.2374 – untuk sensor dengan alamat default (0x77), di mana t2 adalah nilai yang dibaca dari sensor suhu.

Program terpisah telah disediakan untuk memprogram mode OPENSDL kedua yang tersedia, yaitu sistem nirkabel. ESP-01 harus terhubung ke OPENSDL sesuai dengan koneksi seperti yang dijelaskan pada Langkah #2. Setelah menyelesaikan koneksi, sambungkan Arduino ke laptop, dan unggah sketsa kosong di Arduino. Letakkan ESP-01 dalam mode pembaruan dan perbarui firmware ke pembaruan terbaru yang tersedia. Setelah memperbarui, pastikan untuk menghubungkan pin reset Arduino dengan pin 3.3V, yang melewati bootloader Arduino

Langkah 4: Fabrikasi

Pembuatan
Pembuatan
Pembuatan
Pembuatan
Pembuatan
Pembuatan

Enclosure untuk OPENSDL dibuat untuk perlindungan dan untuk meningkatkan estetika. Casing dikembangkan dengan pencetakan 3D menggunakan bahan PLA, dan casing untuk mikrokontroler dikembangkan dengan memotong lembaran MDF dengan laser dan merekatkan bagian-bagiannya. Model cetak 3D dikembangkan dengan menggunakan perangkat lunak SketchUp, dan gambar dxf 2D untuk pemotongan laser dibuat dengan menggunakan AutoCAD.

Untuk pencetakan 3D, file STL yang dihasilkan dengan menggunakan SketchUp dibuka dan diperiksa di perangkat lunak Ultimaker Cura 3.2.1. Pastikan bahan PLA yang digunakan, dan nozzle printer yang digunakan untuk pencetakan 0.4mm. Pelat pembuatan printer 3D mungkin memerlukan lem untuk menempelkan objek cetakan 3D. Tetapi ketika pencetakan selesai, lem menciptakan daya rekat yang kuat antara objek yang dicetak dan pelat pembuatan.

Langkah 5: Kode

Kode (file.ino) dibuat untuk bekerja di perangkat lunak Arduino IDE. Berikut ini tautan ke halaman Github saya untuk kode dan detail lainnya.

github.com/arihant93/OPENSDL

Jangan ragu untuk bertanya tentang proyek.

Terima kasih.

Direkomendasikan: