Isi kandungan:

Pembuka Data Sumber Terbuka (OPENSDL): 5 Langkah (dengan Gambar)
Pembuka Data Sumber Terbuka (OPENSDL): 5 Langkah (dengan Gambar)

Video: Pembuka Data Sumber Terbuka (OPENSDL): 5 Langkah (dengan Gambar)

Video: Pembuka Data Sumber Terbuka (OPENSDL): 5 Langkah (dengan Gambar)
Video: Atraksi Srikandi Pagar Nusa Kertosono #shorts 2024, November
Anonim
Pembalak Data Sumber Terbuka (OPENSDL)
Pembalak Data Sumber Terbuka (OPENSDL)
Pembalak Data Sumber Terbuka (OPENSDL)
Pembalak Data Sumber Terbuka (OPENSDL)
Pembalak Data Sumber Terbuka (OPENSDL)
Pembalak Data Sumber Terbuka (OPENSDL)

Tujuan projek ini adalah untuk merancang, membina, dan menguji sistem pengukuran kos rendah untuk kajian Penilaian Prestasi Bangunan yang merangkumi sekurang-kurangnya suhu, kelembapan relatif, pencahayaan, dan dapat diperluas ke sensor tambahan, dan untuk mengembangkan prototaip peranti ini.

Ini menghasilkan sistem yang disesuaikan dan berpatutan yang membolehkan pihak berkepentingan melakukan pengukuran yang diperlukan untuk penilaian prestasi bangunan secara efisien dan berpatutan dengan mencatat beberapa parameter persekitaran sekaligus. Pembuka Data Sumber Terbuka (OPENSDL) yang dikembangkan dibandingkan dengan pembalak data HOBO U12-012. Sistem rakan niaga yang tersedia secara komersial ini, dapat mengukur 3 parameter, yaitu- suhu, RH, dan pencahayaan, dan satu saluran luaran untuk jenis sensor lain. Peranti penginderaan yang berbeza diperlukan untuk pengukuran parameter lain. Ciri parameter yang akan diukur terbatas pada perkakasan dan perisian eksklusif, yang membatasi sistem untuk mengukur parameter tertentu dengan ketepatan tertentu. HOBO U12-012 berharga sekitar ₹ 13, 000 (US $ 185), sedangkan OPENSDL berharga ₹ 4, 605 (US $ 66), yang merupakan hampir satu pertiga daripada rakan niaga komersial.

Pembalak data sumber terbuka untuk memantau suhu, RH, dan tahap cahaya (pencahayaan) dengan bantuan Arduino Uno Ini adalah DIY untuk mengembangkan logger data OPENSDL.

Masa yang diperlukan: 2-3 jam untuk pematerian, 5 jam untuk pembungkusan (4 jam - percetakan 3D, dan 1 jam untuk pemotongan laser) Kemahiran diperlukan: Memateri, sedikit atau tidak ada pengetahuan dalam pengaturcaraan dan elektronik

Bahagian yang diperlukan:

  1. Arduino Uno dengan kabel
  2. Perisai pencatat data
  3. Bateri sel duit syiling CR1220
  4. Papan pelarian sensor tekanan kelembapan suhu BME280
  5. Papan pelarian sensor cahaya TSL2561
  6. Modul Wi-Fi ESP01-8266
  7. Penyambung lelaki dan wanita RJ-9
  8. Header susun perisai untuk Arduino
  9. Kad memori SD (sebarang kapasiti)
  10. Papan vektor (26 x 18 lubang)
  11. 8 bateri AA Pemegang bateri

Alat yang diperlukan:

  • Besi pematerian (35W)
  • Kawat pateri
  • Pemotong wayar
  • Alat kelim
  • Multimeter

Perisian yang diperlukan: Arduino IDE (1.0.5 atau lebih tinggi)

Perpustakaan Arduino digunakan:

  • Perpustakaan wayar
  • Perpustakaan SparkFun TSL2561
  • Perpustakaan multisensor Cactus BME280
  • Perpustakaan kad SD
  • Perpustakaan SPI
  • Perpustakaan RTC

Catatan: Sensor BME280 adalah sensor suhu, kelembapan relatif dan tekanan yang sangat tepat dari Bosch. Begitu juga, DS1307 adalah jam masa nyata yang tepat dari Maxim dan TSL2561 adalah sensor cahaya yang tepat. Terdapat alternatif yang lebih murah dan kurang tepat untuk produk ini, tetapi tutorial ini ditujukan kepada orang yang berminat mengumpulkan data untuk penilaian prestasi bangunan dan aplikasi pemantauan bangunan yang memerlukan ketepatan dan ketepatan tinggi. Ini bermaksud bahawa penyediaan perkakasan dan penyediaan perisian tertentu (perpustakaan, kod program) hanya bertujuan untuk produk yang ditentukan sahaja.

Langkah 1: Perhimpunan

perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan

Perisai pencatat data dapat ditumpuk dengan mudah di atas papan Arduino Uno. Perisai ini menyediakan keupayaan log data (penyimpanan masa dan penyimpanan data). Perisai itu mesti disusun. Bateri sel duit syiling CR1220 harus dimasukkan ke dalam slot bulat yang disediakan untuk memastikan jam tetap berjalan walaupun Arduino dimatikan. Kad memori SD mesti dimasukkan ke dalam slot kad on-board yang disediakan. Perisai khas yang unik dikembangkan dengan menggunakan pin wanita penyambung RJ-9 dan kepala susun perisai Arduino. Header yang sesuai disolder di lokasi yang sesuai sehingga perisai sangat sesuai di papan Arduino. Arduino mempunyai 18 pin di satu sisi dan 14 pin di sisi lain. Header dengan bilangan pin yang sama digunakan pada jarak yang sama (terpisah 18 pin) seperti pada Arduino. Ruang tambahan yang tinggal berdekatan dengan tajuk digunakan untuk meletakkan penyambung RJ-9.

Header adalah cara terbaik untuk menggunakan pin yang diperlukan, sambil menjadikannya masih tersedia untuk digunakan pada komponen lain. Sensor yang digunakan mengikuti protokol komunikasi I2C, yang memerlukan 4 pin dari Arduino, iaitu: SDA (juga tersedia sebagai A4), SCL (juga tersedia sebagai A5), 3.3V & GND. Empat wayar yang keluar dari penyambung RJ-9 disolder ke dalam empat pin pengepala ini. Bilangan penyambung RJ-9 yang diperlukan bergantung pada jumlah sensor. Dalam projek ini, 3 penyambung RJ-9 digunakan (dua untuk BME280 & satu untuk TSL2561). Empat wayar yang keluar dari penyambung RJ-9 diberi kod warna, dan setiap wayar warna ditetapkan sebagai pin khusus untuk semua penyambung RJ-9. Harus diingat bahawa kod warna mungkin berbeza pada kepingan RJ-9 yang berbeza. Dalam kes sedemikian, lokasi wayar pada penyambung mesti diperhatikan. Penyambung RJ-9, setelah disolder, dibuat untuk menempel pada papan vektor menggunakan Feviqwik, sehingga terpaku di permukaan. Sambungan ini dapat disahkan dengan menggunakan mod kesinambungan pada multimeter. Apabila berada dalam mod kesinambungan, multimeter harus menunjukkan ketahanan sifar. Sambungkan salah satu probe multimeter ke pin yang disolder, dan satu lagi probe ke pin di dalam penyambung RJ-9. Multimeter harus mengeluarkan nada, yang bermaksud bahawa sendi pateri betul, dan sambungannya telah dibuat dengan betul. Sekiranya nada tidak dipancarkan, periksa sendi pateri. Begitu juga, pateri penyambung RJ-9 dengan wayar yang sama yang menyambung ke lubang lubang yang sama pada papan pelarian sensor, iaitu A4, A5, 3.3V & GND. Sensor BME280 menyokong dua alamat I2C, yang bermaksud bahawa dua sensor BME280 dapat disambungkan ke pengawal yang sama sekaligus. Semasa melakukannya, alamat salah satu sensor harus diubah dengan memasang pad solder pada sensor. Cip sambungan tanpa wayar ESP-01 memerlukan sambungan berikut dengan Arduino.

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

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

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

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

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

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

Catatan: - Pelbagai LED di Arduino Uno dikeluarkan untuk meningkatkan jangka hayat bateri. LED penunjuk kuasa, LED RX, dan TX dikeluarkan dengan memanaskan sendi pateri dan mendorong LED dengan forceps.

Langkah 2: Siapkan IDE dan Perpustakaan

Sebelum melakukan sebarang pengaturcaraan, Arduino IDE (Integrated Development Environment) mesti dimuat turun. Pengaturcaraan dilakukan di platform ini. Perpustakaan yang berbeza diperlukan untuk berinteraksi dengan komponen OPENSDL yang berbeza. Perpustakaan berikut digunakan untuk komponen yang diberikan.

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

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

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

Jam masa nyata ----------------------------------------------- ------------- RTClib.h

Soket kad SD ----------------------------------------------- ------------- SD.h

Sambungan I2C ------------------------------------------------ ------------- Wire.h

Perpustakaan yang terpisah untuk berkomunikasi dengan ESP01 tidak diperlukan kerana kod yang diunggah di Arduino mempunyai perintah AT, yang dikirim ke monitor bersiri, dari mana ESP-01 mengambil arahan. Jadi, pada dasarnya, perintah AT yang dijalankan oleh ESP01, dicetak ke Monitor Serial, yang diambil sebagai perintah input oleh ESP-01. Untuk memasang perpustakaan ini, setelah memuat turunnya, buka Arduino IDE, pergi ke Sketsa -> Sertakan Perpustakaan -> Tambah perpustakaan. Zip, dan pilih perpustakaan yang dimuat turun.

Langkah 3: Memprogram Sistem

Memprogram Sistem
Memprogram Sistem

Sebelum memprogram OPENSDL, sambungkan Arduino dengan komputer riba. Setelah menyambung, pergi ke Tools -> Port, dan pilih port COM di mana OPENSDL disambungkan. Juga, pastikan di bawah Alat -> Papan, Arduino Uno dipilih.

OPENSDL dikembangkan untuk berfungsi dalam 2 mod. Dalam mod pertama, ia menyimpan data pada kad SD pada perisai pencatat data. Dalam mod kedua, ia mengirimkan data melalui internet ke laman web dengan menggunakan cip Wi-Fi ESP-01. Program untuk kedua-dua mod berbeza. Baris kod ini dapat disalin dan ditampal secara langsung di editor Arduino IDE, dan digunakan secara langsung. Sekali dalam kod, kita perlu membuat beberapa penyesuaian mengikut keperluan kita:

  1. Tukar nilai penundaan (1000) secara manual pada akhir kod untuk menukar selang pembalakan. Nilai 1000 mewakili selang dalam milisaat.
  2. Edit baris kod yang mengatakan mySensorData = SD.open ("Logged01.csv", FILE_WRITE); dan ganti Logged01 dengan nama fail dari nama fail yang dikehendaki. Sambungan fail juga dapat diubah dengan mengubah ekstensi.csv tepat setelah nama file.
  3. Persamaan penentukuran yang dicapai dengan mencari korelasi antara Master / sensor rujukan dan BME280 akan berbeza-beza dengan setiap sensor. Gantikan garis kod ini dengan persamaan untuk mengkalibrasi sensor: Serial.print ((1.0533 * t2) -2.2374) - untuk sensor dengan alamat lalai (0x77), di mana t2 adalah nilai yang dibaca dari sensor suhu.

Program terpisah telah disediakan untuk memprogram mod kedua OPENSDL yang tersedia, iaitu sistem tanpa wayar. ESP-01 mesti disambungkan ke OPENSDL mengikut sambungan seperti yang dijelaskan dalam Langkah # 2. Setelah menyelesaikan sambungan, sambungkan Arduino ke komputer riba, dan muat naik lakaran kosong di Arduino. Masukkan ESP-01 dalam mod kemas kini dan kemas kini firmware ke kemas kini terkini yang tersedia. Setelah mengemas kini, pastikan untuk menyambungkan pin reset Arduino dengan pin 3.3V, yang melewati pemuat boot Arduino

Langkah 4: Fabrikasi

Fabrikasi
Fabrikasi
Fabrikasi
Fabrikasi
Fabrikasi
Fabrikasi

Kandang untuk OPENSDL dibuat untuk perlindungan dan meningkatkan estetika. Selongsong dikembangkan dengan pencetakan 3D menggunakan bahan PLA, dan selongsong untuk mikrokontroler dikembangkan dengan laser memotong lembaran MDF dan menempelkan kepingan itu bersama-sama. Model cetak 3D dikembangkan dengan menggunakan perisian SketchUp, dan gambar 2D dxf untuk pemotongan laser dibuat dengan menggunakan AutoCAD.

Untuk percetakan 3D, fail STL yang dihasilkan dengan menggunakan SketchUp dibuka dan diperiksa dalam perisian Ultimaker Cura 3.2.1. Pastikan bahan PLA digunakan, dan muncung pencetak yang digunakan adalah untuk mencetak 0.4mm. Plat pencetak 3D mungkin memerlukan gam untuk melekatkan objek bercetak 3D. Tetapi apabila pencetakan selesai, gam menghasilkan lekatan kuat antara objek yang dicetak dan plat binaan.

Langkah 5: Kod

Kod (fail.ino) dibuat untuk berfungsi dalam perisian Arduino IDE. Berikut adalah pautan ke halaman Github saya untuk kod dan maklumat lain.

github.com/arihant93/OPENSDL

Jangan teragak-agak untuk bertanya mengenai projek ini.

Terima kasih.

Disyorkan: