Daftar Isi:

Pengukur Kapasitas Tangki Air Hujan Ultrasonik: 10 Langkah (dengan Gambar)
Pengukur Kapasitas Tangki Air Hujan Ultrasonik: 10 Langkah (dengan Gambar)

Video: Pengukur Kapasitas Tangki Air Hujan Ultrasonik: 10 Langkah (dengan Gambar)

Video: Pengukur Kapasitas Tangki Air Hujan Ultrasonik: 10 Langkah (dengan Gambar)
Video: Cara kerja septic tank 2024, November
Anonim
Pengukur Kapasitas Tangki Air Hujan Ultrasonik
Pengukur Kapasitas Tangki Air Hujan Ultrasonik

Jika Anda seperti saya dan memiliki sedikit kesadaran lingkungan (atau hanya orang yang ingin menghemat beberapa dolar - yang juga saya…), Anda mungkin memiliki tangki air hujan. Saya memiliki tangki untuk memanen hujan yang agak jarang kita dapatkan di Australia - tetapi nak, ketika hujan di sini, BENAR-BENAR hujan! Tangki saya berdiri sekitar 1,5m tinggi dan di atas alas, artinya saya harus keluar langkah untuk memeriksa ketinggian air (atau - karena saya sangat malas, keseimbangan genting di atas botol gas tua dari BBQ yang sekarang telah diambil sampai tempat tinggal permanen sebagai 'langkah' di samping tangki).

Saya ingin suatu cara untuk dapat memeriksa ketinggian air di dalam tangki, tanpa harus memanjat dan menggantung ke pipa pembuangan dengan satu tangan (sambil mengkhawatirkan laba-laba apa yang mungkin ada di belakangnya - Anda pernah mendengar tentang laba-laba Australia - bukan?) … Jadi, dengan minat hidup yang diperbarui dalam elektronik, dan klon Arduino murah dari Cina di ebay, saya memutuskan untuk mencoba membangun 'widget' untuk melakukan pekerjaan itu untuk saya.

Sekarang, widget 'impian' saya adalah dipasang secara permanen di tangki, menggunakan sumber tenaga surya, dengan pembacaan jarak jauh di garasi saya, atau mungkin pemancar nirkabel menggunakan Bluetooth yang dapat saya periksa dari ponsel saya, atau mungkin bahkan sebuah Perangkat jenis ESP yang menghosting halaman web yang diperbarui secara otomatis, sehingga saya dapat memeriksa level air di tangki saya dari mana saja di dunia melalui internet… tapi sungguh - mengapa saya membutuhkan semua itu? Jadi saya memutar kembali cita-cita besar saya (well, cukup jauh), dan menghilangkan nirkabel solusi, pemasangan permanen, pengisian daya surya, dan kemampuan untuk memeriksa level tangki saya dari ujung belakang luar (selalu dengan asumsi bagian belakang luar memiliki WiFi yang tersedia, yaitu …)

Proyek yang dihasilkan diturunkan menjadi unit genggam yang terlihat di atas, yang dapat dipegang dengan mudah di atas bukaan tangki dan diaktifkan dengan tombol tekan, dengan pembacaan digital, yang dapat dibaca dari permukaan tanah - jauh lebih praktis.

Langkah 1: Matematika…

Setelah bermain-main dengan beberapa ide tentang cara menentukan ketinggian air - saya memutuskan pemancar/penerima ultrasonik sebagai dasar untuk widget saya, dan menggunakan Arduino untuk membaca dan melakukan semua perhitungan. Pembacaan yang dikembalikan dari sensor adalah (secara tidak langsung) berupa jarak - dari sensor ultrasonik ke permukaan yang telah dipantulkan (permukaan air - atau bagian bawah tangki, jika kosong), dan kembali lagi, jadi kita perlu untuk melakukan beberapa hal dengan ini, untuk mendapatkan persentase yang tersisa di tangki.

NB - sebenarnya, nilai yang dikembalikan dari sensor sebenarnya hanyalah waktu yang dibutuhkan sinyal untuk meninggalkan sisi emitor dan kembali ke penerima. Ini dalam mikrodetik - tetapi mengetahui kecepatan suara adalah 29 mikrodetik per cm (Apa? Anda tidak tahu itu? Pfft…) membuat konversi yang mudah dari periode waktu ke pengukuran jarak.

Gambar
Gambar

Pertama - tentu saja, kita perlu membagi jarak dengan 2 untuk mendapatkan jarak sensor ke permukaan. Kemudian, kurangi jarak konstan dari sensor ke kedalaman air 'maks'. Nilai yang tersisa adalah kedalaman air yang telah digunakan. Selanjutnya, kurangi nilai itu dari kedalaman air maksimum, untuk menemukan kedalaman air yang tersisa di tangki.

Nilai ini kemudian, adalah dasar untuk perhitungan lain, seperti menghitung kedalaman air ini sebagai persentase dari kedalaman maksimum, atau mengalikan kedalaman dengan 'luas permukaan' yang konstan, untuk mendapatkan volume air yang dapat ditampilkan dalam liter (atau galon, atau unit lainnya - selama Anda tahu matematika untuk melakukannya - saya berpegang pada persentase untuk kesederhanaan).

Langkah 2: Kepraktisan

Unit dapat dipegang dengan tangan, tetapi ini menimbulkan kemungkinan kecil ketidakakuratan kecil jika unit tidak dipegang di tempat yang sama, dan pada sudut yang sama setiap saat. Sementara itu hanya akan menjadi kesalahan yang sangat kecil, dan mungkin bahkan tidak ada yang akan mendaftar, itu akan menjadi jenis hal yang mengganggu saya.

Namun, dipegang dengan tangan memperkenalkan kemungkinan yang jauh lebih besar bahwa benda terkutuk itu akan jatuh ke dalam tangki dan tidak pernah terlihat lagi. Jadi untuk mengurangi KEDUA kemungkinan ini, itu akan dipasang pada sebatang kayu, yang kemudian ditempatkan di atas bukaan tangki - sehingga pengukuran diambil dari ketinggian dan sudut yang sama persis setiap saat (dan jika dijatuhkan di tangki, setidaknya kayu akan mengapung).

Tombol tekan mengaktifkan unit (sehingga menghilangkan kebutuhan akan sakelar hidup/mati, dan kemungkinan baterai kempes secara tidak sengaja), dan menjalankan sketsa di Arduino. Ini mengambil sejumlah pembacaan dari HC-SR04, dan mengambil rata-ratanya (untuk mengurangi pembacaan yang tidak menentu).

Saya juga menyertakan sedikit kode untuk memeriksa tinggi atau rendahnya salah satu pin I/O digital Arduino, dan menggunakannya untuk menempatkan unit ke dalam apa yang saya sebut mode 'Kalibrasi'. Dalam mode ini, tampilan hanya menunjukkan jarak sebenarnya (dibagi dengan 2) yang dikembalikan oleh sensor, jadi saya bisa memeriksa keakuratannya dengan pita pengukur.

Langkah 3: Bahan-bahannya

Unit ini terdiri dari tiga komponen utama…

Gambar
Gambar
  1. Modul pemancar/penerima ultrasonik HC-SR04
  2. Mikrokontroler Arduino Pro Mini
  3. Tampilan LED 7 segmen 4 digit atau menampilkan 'modul' seperti TM1637

Semua hal di atas dapat dengan mudah ditemukan di ebay, hanya dengan mencari istilah yang ditampilkan dalam cetakan tebal.

Dalam aplikasi ini, tampilan hanya menggunakan 3 digit untuk menampilkan nilai % dari 0-100 atau 4 digit untuk menunjukkan jumlah liter (maks 2000 dalam kasus saya), jadi tampilan 4 digit apa pun dapat digunakan - Anda tidak perlu khawatir tentang apakah modul memiliki titik desimal atau titik dua. 'Modul' tampilan (LED dipasang pada papan breakout, dengan chip antarmuka) lebih mudah, karena menggunakan koneksi pin yang lebih sedikit, tetapi tampilan LED mentah dengan 12 pin dapat diakomodasi oleh Arduino dengan beberapa modifikasi kecil pada kode (sebenarnya desain asli saya didasarkan pada pengaturan ini). Namun perhatikan, bahwa menggunakan tampilan LED mentah juga memerlukan 7 resistor untuk membatasi arus yang ditarik oleh setiap segmen. Saya kebetulan memiliki modul tampilan jam TM1637, jadi saya memutuskan untuk menggunakannya.

Bit tambahan dan bobs termasuk klip baterai 9v (dan baterai, tentu saja), sakelar tombol tekan sesaat 'push-to-make', kotak proyek, pin header, kabel penghubung, dan panjang kayu 2"x4" yang melebihi diameter bukaan tangki.

Potongan dan bob tambahan (selain dari sebongkah kayu) dibeli dari rantai outlet elektronik hobi lokal saya - yaitu Jaycar di Australia. Saya membayangkan Maplin di Inggris akan menjadi alternatif yang layak, dan saya pikir ada beberapa di AS, seperti Digikey dan Mouser. Untuk negara lain, saya rasa saya tidak tahu, tapi saya yakin jika Anda tidak memiliki outlet jalan raya yang sesuai atau pemasok online di negara Anda, maka penjual ebay Cina akan datang untuk Anda, jika tidak. keberatan menunggu beberapa minggu untuk pengiriman (ironisnya, meskipun salah satu tetangga terdekat kami, 6 minggu atau lebih tidak biasa untuk pengiriman ke Australia dari Cina!).

Pastikan Anda mendapatkan kotak proyek yang cukup besar - saya kira milik saya sebelum komponen tersedia, dan ini adalah tekanan yang sangat ketat - saya mungkin perlu membuat tombol tekan berbeda yang menggunakan lebih sedikit ruang.

Oh, dan omong-omong, panjang kayu baru saja diambil dari beberapa potongan potongan yang saya simpan di sudut garasi saya (sebagai rumah bagi lebih banyak laba-laba cantik itu).

Setelah Anda memahami skema dan fungsionalitasnya, Anda dapat memutuskan untuk menyesuaikan versi Anda, dan menyertakan sakelar hidup/mati, atau menggunakan sumber daya Li-Ion 18650, dengan panel surya dan pengontrol pengisian daya untuk membuatnya terus diisi ulang dan siap digunakan, atau ubah tampilan LED sederhana menjadi LCD multi-baris atau OLED grafis dengan opsi tampilan informasi lainnya, seperti menampilkan persentase DAN liter yang tersisa pada saat yang bersamaan. Atau Anda dapat menggunakan unit IoT nirkabel yang bernyanyi semua dan menari yang dipasang secara permanen di tangki DENGAN pengisian daya surya. Saya ingin mendengar tentang variasi dan modifikasi Anda.

Langkah 4: Menguji Prototipe (dan Kode)

Setelah membeli HC-SR04 dari sumber Cina yang murah di ebay, saya tidak benar-benar berharap untuk menerima unit yang sangat akurat, jadi saya ingin mengujinya di papan tempat memotong roti terlebih dahulu, jika saya perlu menambahkan beberapa kode koreksi jarak ke sketsa saya.

Pada titik ini, saya mencari info dasar tentang cara menghubungkan dan menggunakan HC-SR04, dan harus mengakui "contoh Arduino dan HC-SR04" yang dapat diinstruksikan jsvester. Contoh dan pengalamannya adalah titik awal yang bagus bagi saya untuk memulai pengkodean.

Saya menemukan perpustakaan fungsi NewPing untuk HC-SR04, yang mencakup fungsionalitas bawaan untuk mengambil rata-rata beberapa pembacaan, sehingga membuat kode saya jauh lebih sederhana.

Saya juga menemukan perpustakaan untuk modul tampilan jam TM1637, yang membuat tampilan angka menjadi jauh lebih sederhana. Dalam kode asli saya (untuk tampilan 4-digit 7 segmen), saya harus membagi nomor menjadi beberapa digit, kemudian membangun setiap digit individu pada layar dengan mengetahui segmen mana yang akan diterangi, dan kemudian bersepeda melalui setiap digit dalam nomor, dan membuat nomor tersebut pada digit tampilan yang sesuai. Metode ini disebut multiplexing, dan secara efektif menampilkan hanya satu digit pada satu waktu, tetapi menggilirnya dari satu digit ke digit berikutnya begitu cepat, sehingga mata manusia tidak menyadarinya, dan membodohi Anda agar percaya bahwa semua digit ada di pada waktu bersamaan. Seperti perpustakaan HC-SR04 yang membuat operasi pengukuran lebih mudah, perpustakaan tampilan ini menangani semua multiplexing, dan penanganan digit. Halaman Referensi Arduino yang tertaut di atas, berikan beberapa contoh, dan tentu saja, setiap perpustakaan dilengkapi dengan kode contoh yang dapat sangat membantu.

Gambar
Gambar
Gambar
Gambar

n

Jadi, gambar di atas menunjukkan rig pengujian saya - saya mengujinya di Arduino Uno saya untuk kesederhanaan, karena itu sudah disiapkan untuk koneksi sementara yang dapat digunakan kembali untuk pembuatan prototipe. Unit beroperasi dalam mode 'Kalibrasi' di sini (perhatikan bahwa pin digital 10 - kabel putih - terhubung ke ground) dan secara akurat membaca 39cm ke kotak yang saya tempatkan secara acak di depannya, seperti yang ditunjukkan oleh pita pengukur. Dalam mode ini, saya menampilkan 'c' kecil di depan pengukuran, hanya untuk menunjukkan bahwa itu bukan pengukuran normal.

Selain Vcc (5v) dan Ground, HC-SR04 membutuhkan 2 koneksi lain - pemicu (kuning ke pin 6) dan gema (hijau ke pin 7). Layar juga membutuhkan Vcc (5v) dan Ground, dan 2 koneksi lagi - jam (biru ke pin 8) dan DIO (ungu ke pin 9). Seperti yang telah disebutkan, mode operasi dikendalikan oleh tinggi atau rendah pada pin 10 (putih). Koneksi akan menggunakan pin yang sama pada Arduino Pro Mini, tetapi akan disolder secara permanen. Mode operasi akan dapat dipilih menggunakan jumper di dua dari tiga pin header, masing-masing terhubung ke Vcc, pin 10, dan ground.

Spesifikasi resmi untuk HC-SR04 mengklaim sesuatu seperti kesalahan maksimum hanya 3 milimeter hingga jarak operasi maksimum yang dirancang 4 meter, jadi bayangkan keterkejutan saya menemukan bahwa unit saya tentu saja akurat hingga tingkat itu hingga 2 meter - yang jauh melebihi apa yang saya butuhkan. Karena ruang terbatas untuk pengaturan pengujian yang cepat dan kotor, hasil pengujian saya di luar jarak itu dirusak oleh pantulan dari permukaan selain target pengujian saya, karena pancaran dari pemancar menyebar dan mengambil area yang lebih luas. Tapi selama itu bagus untuk 1,5 meter - itu akan membantu saya dengan baik, terima kasih banyak:-)

Langkah 5: Sketsa Ino Pengukur Air Hujan

Kode lengkap terlampir, tetapi saya akan menyertakan beberapa ekstrak di bawah ini untuk menjelaskan beberapa langkah.

Pertama-tama, pengaturan…

#termasuk

#include #include // pin untuk HC-SR04 #define pinTrig 6 #define pinEcho 7 NewPing sonar(pinTrig, pinEcho, 155); // 400cm adalah maksimum untuk HC-SR04, 155cm adalah maksimum untuk tangki // Pin sambungan Modul LED (Pin Digital) #define CLK 8 #define DIO 9 TM1637Tampilan tampilan (CLK, DIO); // Pin lain #define opMode 10

Selain perpustakaan TM1637 dan NewPing, saya juga menyertakan perpustakaan Math, yang memberi saya akses ke fungsi 'pembulatan'. Saya menggunakan ini dalam beberapa matematika untuk memungkinkan saya menampilkan persentase ke 5% terdekat misalnya.

Selanjutnya pin untuk kedua perangkat ditentukan, dan perangkat dimulai.

Akhirnya, saya mendefinisikan pin 10 untuk mode operasi.

// matikan semua segmen untuk semua digit

uint8_t byte = { 0x00, 0x00, 0x00, 0x00 }; display.setSegments(bytes);

Bagian kode ini menunjukkan satu cara untuk mengontrol modul tampilan, yang memungkinkan kontrol individu dari setiap segmen di setiap digit. Saya telah menetapkan 4 elemen dalam array yang disebut byte, menjadi nol. Itu berarti bahwa setiap bit dari setiap byte adalah nol. 8 bit digunakan untuk mengontrol masing-masing dari 7 segmen dan titik desimal (atau titik dua dalam tampilan tipe jam). Jadi jika semua bitnya nol, maka tidak ada segmen yang akan menyala. Operasi setSegments mengirimkan isi array ke tampilan dan (dalam hal ini) tidak menunjukkan apa-apa. Semua segmen dimatikan.

Gambar
Gambar

Bit yang paling signifikan dalam satu byte mengontrol DP, dan kemudian 7 bit yang tersisa mengontrol 7 segmen dari G ke A dalam urutan terbalik. Jadi untuk menampilkan angka 1 misalnya, membutuhkan segmen B dan C, jadi representasi binernya adalah '0b00000110'. (Terima kasih kepada CircuitsToday.com untuk gambar di atas).

// Ambil 10 bacaan, dan gunakan durasi rata-rata.

int durasi = sonar.ping_median(10); // durasi dalam mikrodetik if(duration == 0) // Kesalahan Pengukuran - tidak meyakinkan atau tidak ada gema { uint8_t byte = { 0x00, 0b01111001, 0b01010000, 0b01010000 }; // Segmen untuk mengeja "Err" display.setSegments(bytes); }

Di sini, saya memberi tahu HC-SR04 untuk mengambil 10 pembacaan, dan memberi saya hasil rata-rata. Jika tidak ada nilai yang dikembalikan, maka unit berada di luar jangkauan. Saya kemudian menggunakan teknik yang sama seperti di atas untuk mengontrol segmen tertentu pada 4 digit, untuk mengeja huruf (kosong), E, r, dan r. Menggunakan notasi biner membuatnya sedikit lebih mudah untuk menghubungkan bit individu ke segmen.

Langkah 6: Memuat Kode ke Arduino Pro Mini (tanpa USB)

Seperti yang saya katakan sebelumnya, barang dari penjual ebay Cina sering membutuhkan waktu 6 minggu atau lebih untuk tiba, dan banyak pembuatan prototipe dan penulisan kode saya dilakukan sambil menunggu beberapa komponen tiba - Arduino Pro Mini menjadi salah satunya.

Satu hal yang saya tidak perhatikan tentang Pro Mini, sampai saya sudah memesannya, adalah tidak memiliki port USB untuk mengunduh sketsa. Jadi, setelah beberapa googling panik, saya menemukan bahwa ada dua cara untuk memuat sketsa dalam kasus ini - satu memerlukan kabel khusus yang mengalir dari USB pada PC Anda, ke 6 pin khusus pada Pro Mini. Kelompok 6 pin ini dikenal sebagai pin ISP (in-system programmer), dan Anda benar-benar dapat menggunakan metode ini di Arduino mana pun jika Anda mau - tetapi karena antarmuka USB tersedia di hampir semua varian Arduino lainnya (saya berpikir), menggunakan opsi itu jauh lebih sederhana. Metode lain mengharuskan Anda untuk memiliki Arduino lain dengan antarmuka USB di atasnya, untuk bertindak sebagai 'perantara'.

Untungnya, memiliki Arduino Uno berarti saya dapat menggunakan metode kedua, yang akan saya uraikan untuk Anda di bawah ini. Itu disebut menggunakan 'Arduino sebagai ISP'. Singkatnya, Anda memuat sketsa khusus ke Arduino 'perantara' Anda, yang mengubahnya menjadi Antarmuka Serial. Kemudian muat sketsa Anda yang sebenarnya, tetapi alih-alih opsi unggah normal, Anda menggunakan opsi dari menu IDE yang mengunggah 'menggunakan Arduino sebagai ISP'. Arduino 'perantara' kemudian mengambil sketsa Anda yang sebenarnya dari IDE, dan meneruskannya ke pin ISP dari Pro Mini, daripada memuatnya ke memorinya sendiri. Tidaklah sulit setelah Anda memahami cara kerjanya, tetapi ini adalah lapisan kerumitan ekstra yang mungkin ingin Anda hindari. Jika itu masalahnya, atau Anda tidak memiliki Arduino lain yang dapat Anda gunakan sebagai 'perantara', maka Anda mungkin ingin membeli Arduino Nano, atau salah satu model faktor bentuk kecil lainnya, yang menyertakan antarmuka USB dan membuat pemrograman menjadi prospek yang lebih sederhana.

Berikut adalah beberapa sumber yang mungkin berguna bagi Anda dalam memahami prosesnya. Referensi Arduino secara khusus mengacu pada membakar bootloader baru ke perangkat target, tetapi Anda dapat dengan mudah memuat sketsa dengan cara yang sama. Saya menemukan video Julian Ilett membuat konsepnya jauh lebih jelas, meskipun ia melewatkan bagian dalam referensi Arduino yang menjelaskan cara menghubungkan kedua Arduino bersama-sama, dan memprogram chip kosong pada papan tempat memotong roti sebagai gantinya.

  • Manual Referensi Arduino - Menggunakan Arduino sebagai ISP
  • Video YouTube Julian Ilett - Menggunakan Arduino sebagai ISP

Karena Pro Mini tidak memiliki 6 pin ISP yang dikelompokkan bersama, Anda perlu mendekode pin digital mana yang berhubungan dengan 4 pin pemrograman (dua koneksi lainnya hanya Vcc dan Gnd - jadi cukup mudah). Beruntung bagi Anda, saya sudah melalui ini - dan saya bersedia berbagi pengetahuan dengan Anda - betapa murah hati saya!!

Arduino Uno, dan banyak lainnya dalam keluarga Arduino, memiliki 6 pin yang disusun dengan mudah dalam blok 3x2, seperti ini (gambar dari www.arduino.cc).

Gambar
Gambar

Sayangnya, Pro Mini tidak. Seperti yang Anda lihat di bawah, mereka sebenarnya cukup mudah dikenali dan masih tersusun dalam 2 blok 3 pin. MOSI, MISO, dan SCK sama dengan pin digital 11, 12, dan 13 masing-masing pada Pro Mini dan Arduino Uno, dan untuk pemrograman ISP, cukup sambungkan 11 hingga 11, 12 hingga 12, dan 13 hingga 13. Pin Reset Mini harus terhubung ke pin Uno 10, dan Vcc (5v)/Ground Pro Mini harus terhubung ke Arduino +5v/Ground. (Gambar dari www.arduino.cc)

Gambar
Gambar

Langkah 7: Perakitan

perakitan
perakitan

Seperti yang saya sebutkan, saya mengambil tendangan pada kasus ini, dan menyesalinya. Untuk menyesuaikan semua komponen dalam adalah pemerasan nyata. Sebenarnya saya harus menekuk kontak tombol tekan ke samping, dan meletakkan beberapa kemasan di bagian luar untuk mengangkatnya sedikit lebih jauh sehingga akan muat di kedalaman kotak, dan saya harus menggiling 2-3mm dari setiap sisi papan modul tampilan agar pas juga.

Saya mengebor 2 lubang di kasing agar sensor ultrasonik dapat menembus. Saya mengebor lubang sedikit terlalu kecil dan kemudian secara bertahap meningkatkannya menggunakan penggiling putar kecil, jadi saya bisa membuatnya menjadi 'push fit' yang bagus. Sayangnya, mereka terlalu dekat ke samping untuk dapat menggunakan gerinda dari dalam kotak, dan ini harus dilakukan dari luar, mengakibatkan banyak goresan dan bekas sepatu roda di mana gerinda tergelincir - oh well, itu saja di bagian bawah toh - siapa yang peduli..?

Saya kemudian memotong slot di salah satu ujungnya dengan ukuran yang tepat agar tampilan dapat ditembus. Sekali lagi - tebakan saya pada ukuran kotak menggigit saya di bagian belakang karena slot meninggalkan saya dengan potongan yang sangat tipis di atas layar, yang pasti pecah saat saya mengarsipkannya dengan mulus. Oh well - untuk itulah lem super diciptakan…

Akhirnya, dengan semua komponen diposisikan secara kasar di dalam kotak, saya mengukur di mana harus meletakkan lubang di tutupnya, sehingga badan tombol akan jatuh ke ruang terakhir yang tersedia. HANYA!!!

Selanjutnya, saya menyolder semua komponen bersama-sama untuk menguji semuanya masih berfungsi setelah saya menekuk dan menggiling dan memotong, sebelum memasang semuanya ke dalam kasing. Anda dapat melihat koneksi jumper tepat di bawah modul tampilan, dengan pin 10 pada Arduino (kabel putih) terhubung ke Gnd, sehingga menempatkan unit dalam mode kalibrasi. Layar terbaca 122cm dari bangku saya - itu pasti mengambil sinyal yang dipantulkan kembali dari atas bingkai jendela (terlalu rendah untuk menjadi langit-langit).

Gambar
Gambar

Kemudian itu adalah kasus memecahkan pistol lem panas, dan memasang semua komponen pada tempatnya. Setelah melakukan itu, saya menemukan bahwa jarak kecil antara bagian atas modul tampilan dan tutupnya, setelah modul direkatkan pada tempatnya, meninggalkan sedikit tonjolan di mana tutupnya tidak pas seperti yang saya inginkan.. Saya mungkin mencoba dan melakukan sesuatu tentang itu suatu hari nanti - atau lebih mungkin, saya tidak akan…

Gambar
Gambar

Langkah 8: Artikel Selesai

Setelah beberapa tes pasca-perakitan, dan koreksi pada kode saya untuk memperhitungkan kedalaman potongan kayu tempat saya memasang perangkat (yang benar-benar saya abaikan dalam perhitungan saya - d'oh!!), semuanya selesai. Akhirnya!

Pengujian rakitan

Dengan unit hanya duduk menghadap ke bawah di bangku saya, jelas tidak akan ada sinyal yang dipantulkan, sehingga unit dengan benar menunjukkan kondisi kesalahan. Hal yang sama akan berlaku jika permukaan pantul terdekat berada di luar jangkauan unit.

Gambar
Gambar

Sepertinya dari atas bangku saya ke lantai adalah 76cms (yah, 72cm ditambah kedalaman potongan kayu 4cm).

Gambar
Gambar

Bagian bawah unit, menunjukkan pemancar dan penerima menjorok sebongkah kayu - saya harus benar-benar berhenti menyebutnya sebongkah kayu - selanjutnya akan disebut sebagai Stabilisasi Pengukur dan Platform Penempatan Presisi! Syukurlah, ini mungkin terakhir kali saya akan menyebutkannya;-)

Ooh - Anda dapat melihat semua goresan dan bekas sepatu roda yang buruk di sini …

Gambar
Gambar

… dan inilah item yang sudah jadi, ditempatkan dalam mode operasi normal, sebenarnya mengukur kapasitas tangki saya hingga 5% terdekat. Itu adalah hari Minggu sore (sangat) hujan yang membuat saya menyelesaikan proyek ini, karenanya tetesan hujan di unit, dan pembacaan 90% yang sangat menyenangkan.

Gambar
Gambar

Saya harap Anda menikmati membaca instruksi ini, dan Anda belajar sedikit tentang pemrograman Arduino, fisika dan penggunaan refleksi sonar/ultrasonik, perangkap menggunakan tebakan dalam perencanaan proyek Anda, dan bahwa Anda telah terinspirasi untuk membuat pengukur tangki air hujan sendiri - dan kemudian memasang tangki air hujan untuk menggunakannya, sambil sedikit membantu lingkungan dan menghemat tagihan air Anda.

Silakan baca terus - untuk apa yang terjadi keesokan harinya…!

Langkah 9: Postscript - Seratus (dan Lima) Persen?

Jadi, pada hari Senin setelah hari Minggu yang hujan, tangki benar-benar penuh. Karena ini adalah salah satu dari beberapa kali saya pernah melihatnya benar-benar penuh, saya pikir ini akan menjadi waktu yang ideal untuk mengukur pengukur, tapi coba tebak - itu terdaftar sebagai 105%, jadi jelas ada sesuatu yang salah.

Saya mengeluarkan dipstick saya dan menemukan bahwa asumsi awal saya 140cm sebagai kedalaman maksimum air, dan 16cm ruang kepala (berdasarkan perkiraan visual yang dibuat dari luar tangki), keduanya sedikit berbeda dari pengukuran sebenarnya. Jadi dipersenjatai dengan data nyata untuk tolok ukur 100% saya, saya dapat mengubah kode saya dan memuat ulang Arduino.

Kedalaman air maksimum ternyata 147cms, dengan titik pengukuran berada di 160cms, memberikan ruang kepala 13cm (jumlah ruang kepala di dalam tangki, tinggi leher tangki, dan kedalaman bongkahan … whoa, tidak, apa?! Maksud saya kedalaman Stabilisasi Pengukur dan Platform Penempatan Presisi!).

Setelah mengoreksi variabel maxDepth dan headroom yang sesuai, serta mengatur ulang jangkauan maksimum objek sonar menjadi 160cm, tes ulang cepat menunjukkan 100% yang turun menjadi 95% saat saya mengangkat pengukur sedikit (untuk mensimulasikan sedikit air yang telah digunakan).

Pekerjaan selesai!

PS - ini adalah upaya pertama saya pada instruksi. Jika Anda menyukai gaya saya, selera humor, kejujuran untuk mengakui kesalahan (hei - bahkan saya tidak sempurna …), dll - beri tahu saya dan itu dapat memberi saya dorongan untuk melakukan yang lain.

Langkah 10: Renungan

Kapasitas yang Dapat Digunakan

Jadi sudah beberapa minggu sejak saya menerbitkan Instructable ini, dan saya mendapat banyak komentar sebagai tanggapan, beberapa di antaranya telah menyarankan beberapa mekanisme alternatif - baik elektronik maupun manual. Tapi ini membuat saya berpikir, dan ada sesuatu yang mungkin harus saya tunjukkan di awal.

  • Tangki saya memiliki pompa, yang dipasang di permukaan tanah - hanya sedikit di bawah dasar tangki. Karena pompa adalah titik terendah dalam sistem, dan air dari pompa berada di bawah tekanan, saya dapat menggunakan kapasitas penuh tangki saya.
  • NAMUN - jika tangki Anda tidak memiliki pompa, dan bergantung pada umpan gravitasi, maka kapasitas efektif tangki dibatasi oleh ketinggian keran Anda. Setelah air yang tersisa di tangki Anda lebih rendah dari keran, maka tidak ada air yang akan mengalir.

Jadi, terlepas dari apakah Anda menggunakan pengukur elektronik, atau kaca penglihatan manual, atau sistem tipe pelampung dan bendera, ketahuilah bahwa tanpa pompa, 'dasar' tangki Anda yang efektif sebenarnya adalah ketinggian outlet tangki atau mengetuk.

Direkomendasikan: