Isi kandungan:

Meter Kapasiti Tangki Air Hujan Ultrasonik: 10 Langkah (dengan Gambar)
Meter Kapasiti Tangki Air Hujan Ultrasonik: 10 Langkah (dengan Gambar)

Video: Meter Kapasiti Tangki Air Hujan Ultrasonik: 10 Langkah (dengan Gambar)

Video: Meter Kapasiti Tangki Air Hujan Ultrasonik: 10 Langkah (dengan Gambar)
Video: ground tank untuk air bersih 2024, November
Anonim
Meter Kapasiti Tangki Air Hujan Ultrasonik
Meter Kapasiti Tangki Air Hujan Ultrasonik

Sekiranya anda seperti saya dan mempunyai sedikit kesedaran terhadap alam sekitar (atau hanya pelindung kulit yang ingin menyimpan beberapa dolar - yang juga saya …), anda mungkin mempunyai tangki air hujan. Saya mempunyai tangki untuk menuai hujan yang agak jarang kita dapatkan di Australia - tetapi wahai anak lelaki, apabila hujan turun di sini, hujan sungguh! Tangki saya tingginya kira-kira 1.5m dan berada di atas tiang, yang bermaksud saya perlu keluar untuk memeriksa paras air (atau - kerana saya sangat malas, keseimbangan dengan tepat di atas botol gas lama dari BBQ yang kini telah diambil menjadi kediaman tetap sebagai 'langkah' di sebelah tangki).

Saya mahukan beberapa cara untuk dapat memeriksa paras air di tangki, tanpa semua pendakian dan tergantung di saluran air dengan satu tangan (sambil bimbang tentang labah-labah apa yang ada di belakangnya - anda pernah mendengar mengenai labah-labah Australia - bukan?) … Oleh itu, dengan minat akhir-akhir ini dalam bidang elektronik, dan klon Arduino murah dari China di ebay, saya memutuskan untuk terus membina 'widget' untuk melakukan pekerjaan untuk saya.

Sekarang, widget 'impian' saya dipasang secara kekal di dalam tangki, menggunakan sumber tenaga yang dikenakan solar, dengan bacaan jauh di garaj saya, atau mungkin pemancar tanpa wayar menggunakan Bluetooth yang dapat saya periksa dari telefon saya, atau mungkin juga Peranti jenis ESP yang menampung laman web yang dikemas kini secara automatik, sehingga saya dapat memeriksa tahap air di tangki saya dari mana saja di dunia melalui internet… tetapi sebenarnya - mengapa saya memerlukan semua itu? Oleh itu, saya menarik kembali cita-cita besar saya (baik, cukup banyak), dan membuang tanpa wayar penyelesaiannya, pemasangan kekal, pengecasan solar, dan kemampuan untuk memeriksa tahap tangki saya dari hujung belakang (selalu dengan anggapan bahagian belakang dari luar ada WiFi yang tersedia, iaitu…)

Projek yang dihasilkan diturunkan ke unit genggam seperti di atas, yang dapat ditahan di atas pembukaan tangki dan diaktifkan dengan menekan butang, dengan bacaan digital, yang dapat dibaca dari permukaan tanah - jauh lebih praktikal.

Langkah 1: Matematik…

Setelah bermain dengan beberapa idea mengenai cara menentukan paras air - saya memutuskan pemancar / penerima ultrasonik sebagai asas widget saya, dan menggunakan Arduino untuk membaca dan melakukan semua matematik. Bacaan yang dikembalikan dari sensor adalah (secara tidak langsung) dalam bentuk jarak - dari sensor ultrasonik ke permukaan yang dipantulnya (permukaan air - atau bahagian bawah tangki, jika kosong), dan kembali lagi, jadi kita perlu untuk melakukan beberapa perkara dengan ini, untuk mencapai peratusan yang tinggal di tangki.

NB - sebenarnya, nilai yang dikembalikan dari sensor sebenarnya hanya masa yang diperlukan untuk isyarat meninggalkan bahagian pemancar dan kembali ke penerima. Ini dalam mikrodetik - tetapi mengetahui kelajuan suara adalah 29 mikrodetik per cm (Apa? Anda tidak tahu itu? Pfft …) membuat penukaran mudah dari jangka masa ke pengukuran jarak.

Imej
Imej

Pertama - tentu saja, kita perlu membahagikan jarak dengan 2 untuk mendapatkan jarak sensor ke permukaan. Kemudian, tolak jarak tetap dari sensor ke kedalaman air 'max'. Nilai yang tinggal adalah kedalaman air yang telah digunakan. Seterusnya, tolak nilai itu dari kedalaman air maksimum, untuk mencari kedalaman air yang tersisa di tangki.

Nilai ini kemudian, adalah asas untuk pengiraan lain, seperti mengerjakan kedalaman air ini sebagai persentase dari kedalaman maksimum, atau menambahkan kedalaman dengan 'luas permukaan' yang tetap, untuk mendapatkan jumlah air yang dapat ditampilkan dalam liter (atau gelen, atau unit lain - selagi anda tahu matematik untuk melakukannya - saya berpegang pada peratusan untuk kesederhanaan).

Langkah 2: Praktikal

Unit ini dapat digenggam dengan tangan, tetapi ini memperkenalkan kemungkinan kecil ketidaktepatan kecil jika unit tidak dipegang di tempat yang sama, dan pada sudut yang sama setiap waktu. Walaupun hanya merupakan kesalahan yang sangat kecil, dan mungkin juga bukan satu kesalahan yang akan mendaftar, itu adalah jenis perkara yang mengganggu saya.

Namun, dengan menggunakan tangan memperkenalkan kemungkinan yang jauh lebih besar bahawa benda terkutuk itu akan jatuh ke dalam tangki dan tidak pernah dilihat lagi. Jadi untuk mengurangkan KEDUA kemungkinan ini, ia akan dipasang pada kayu panjang, yang kemudian diletakkan di atas bukaan tangki - sehingga pengukuran diambil dari ketinggian dan sudut yang sama setiap kali (dan jika ia jatuh di tangki, sekurang-kurangnya kayu akan terapung).

Butang tekan mengaktifkan unit (dengan itu menghilangkan keperluan untuk suis hidup / mati, dan kemungkinan bateri diratakan secara tidak sengaja), dan menyala sketsa di Arduino. Ini memerlukan sejumlah bacaan dari HC-SR04, dan rata-rata dari mereka (untuk mengurangkan pembacaan yang tidak menentu).

Saya juga memasukkan sedikit kod untuk memeriksa tinggi atau rendah pada salah satu pin I / O digital Arduino, dan menggunakannya untuk memasukkan unit ke dalam mod yang saya sebut 'Kalibrasi'. Dalam mod ini, paparan hanya menunjukkan jarak sebenar (dibahagi dengan 2) yang dikembalikan oleh sensor, jadi saya dapat memeriksa ketepatannya terhadap ukuran pita.

Langkah 3: Bahan-bahan

Unit ini terdiri daripada tiga komponen utama…

Imej
Imej
  1. Modul pemancar / penerima ultrasonik HC-SR04
  2. Pengawal mikro Arduino Pro Mini
  3. Paparan LED 4 digit 7 segmen atau paparan 'modul' seperti TM1637

Semua perkara di atas boleh didapati dengan mudah di ebay, dengan hanya mencari istilah yang ditunjukkan dalam cetak tebal.

Dalam aplikasi ini, paparan hanya menggunakan 3 digit untuk memaparkan nilai% 0-100 atau 4 digit untuk menunjukkan jumlah liter (maks. 2000 dalam kes saya), jadi paparan 4 digit akan dilakukan - anda tidak perlu bimbang sama ada modul itu mempunyai titik perpuluhan atau titik dua. Paparan 'modul' (LED dipasang pada papan pemecah, dengan cip antara muka) lebih mudah, kerana menggunakan sambungan pin yang lebih sedikit, tetapi paparan LED mentah dengan 12 pin dapat ditampung oleh Arduino dengan beberapa modifikasi kecil pada kod (sebenarnya reka bentuk asal saya berdasarkan persediaan ini). Walau bagaimanapun, perhatikan bahawa menggunakan paparan LED mentah juga memerlukan 7 perintang untuk menghadkan arus yang ditarik oleh setiap segmen. Saya kebetulan mempunyai modul paparan jam TM1637, jadi saya memutuskan untuk menggunakannya.

Bit dan bob tambahan termasuk klip bateri 9v (dan bateri, tentu saja), suis butang tekan sesaat 'push-to-make', kotak projek, pin header, wayar penyambung, dan panjang kayu 2 "x4" yang melebihi diameter bukaan tangki.

Bit dan bob tambahan (selain dari kayu) dibeli dari rangkaian kedai elektronik hobi tempatan saya - iaitu Jaycar di Australia. Saya membayangkan Maplin di UK akan menjadi alternatif yang sesuai, dan saya rasa ada beberapa di AS, seperti Digikey dan Mouser. Untuk negara lain, saya bimbang tidak tahu, tetapi saya yakin jika anda tidak mempunyai kedai atau pembekal dalam talian yang sesuai di negara anda, maka penjual ebay China akan menghubungi anda, jika anda tidak keberatan menunggu beberapa minggu untuk penghantaran (ironinya, walaupun merupakan salah satu jiran terdekat kita, 6 minggu atau lebih tidak biasa untuk penghantaran ke Australia dari China!).

Pastikan anda mendapat kotak projek yang cukup besar - Saya meneka sebelum saya mempunyai komponen yang ada, dan ia adalah tekanan yang sangat ketat - saya mungkin perlu mendapatkan butang tekan yang berbeza yang menggunakan ruang lebih sedikit.

Oh, dan omong-omong, kayu itu datang dari beberapa potongan sisa yang saya simpan di sudut garaj saya (sebagai rumah untuk lebih banyak labah-labah yang indah itu).

Sebaik sahaja anda memahami skematik dan fungsi, anda mungkin memutuskan untuk menyesuaikan versi anda, dan memasukkan suis hidup / mati, atau menggunakan sumber kuasa Li-Ion 18650, dengan panel solar dan pengawal caj agar sentiasa diisi dan siap digunakan, atau ubah paparan LED sederhana untuk LCD pelbagai baris atau OLED grafik dengan lebih banyak pilihan paparan maklumat, seperti menunjukkan peratusan DAN liter yang tinggal pada masa yang sama. Atau anda boleh pergi untuk unit IoT tanpa wayar semua nyanyian dan menari yang dipasang di tangki dengan pengisian solar. Saya ingin mendengar variasi dan pengubahsuaian anda.

Langkah 4: Menguji Prototaip (dan Kod)

Setelah membeli HC-SR04 dari sumber Cina yang murah di ebay, saya tidak menyangka akan menerima unit yang sangat tepat, jadi saya ingin mengujinya di papan roti terlebih dahulu, sekiranya saya perlu menambahkan beberapa kod pembetulan jarak ke lakaran saya.

Pada ketika ini, saya mencari-cari maklumat asas tentang cara menyambung dan menggunakan HC-SR04, dan mesti mengetahui contoh "Simple Arduino dan HC-SR04" yang boleh dipesan oleh jsvester. Contoh dan pengalamannya adalah titik permulaan yang baik bagi saya untuk memulakan pengkodan.

Saya dapati fungsi perpustakaan NewPing untuk HC-SR04, yang merangkumi fungsi terbina dalam untuk mengambil purata banyak bacaan, sehingga menjadikan kod saya jauh lebih mudah.

Saya menjumpai perpustakaan untuk modul paparan jam TM1637 juga, yang menjadikan paparan nombor lebih mudah. Dalam kod asal saya (untuk paparan segmen 4 digit 7), saya terpaksa membahagikan nombor itu menjadi digit individu, kemudian membina setiap digit individu pada paparan dengan mengetahui segmen mana yang akan diterangi, dan kemudian mengitar setiap digit dalam nombor tersebut, dan membina nombor itu pada digit paparan yang sesuai. Kaedah ini dipanggil multiplexing, dan berkesan memaparkan hanya satu digit pada satu masa, tetapi memutarnya dari satu digit ke digit yang lain dengan cepat, sehingga mata manusia tidak memperhatikan, dan menipu anda untuk mempercayai bahawa semua digit berada pada masa yang sama. Seperti perpustakaan HC-SR04 yang menjadikan operasi pengukuran lebih mudah, pustaka paparan ini mengurus semua multiplexing, dan pengendalian digit. Halaman Arduino Reference yang dihubungkan di atas, memberikan beberapa contoh, dan tentu saja, setiap perpustakaan dilengkapi dengan contoh kod yang dapat membantu.

Imej
Imej
Imej
Imej

n

Oleh itu, gambar di atas menunjukkan pelantar ujian saya - saya mengujinya di Arduino Uno saya untuk kesederhanaan, kerana itu sudah disediakan untuk sambungan sementara yang boleh digunakan semula untuk prototaip. Unit ini beroperasi dalam mod 'Kalibrasi' di sini (perhatikan bahawa pin digital 10 - wayar putih - disambungkan ke tanah) dan dengan tepat membaca 39cm ke kotak yang saya letakkan secara rawak di depannya, seperti yang ditunjukkan oleh ukuran pita. Dalam mod ini, saya menampilkan 'c' kecil di depan pengukuran, hanya untuk menunjukkan bahawa itu bukan ukuran biasa.

Seperti juga Vcc (5v) dan Ground, HC-SR04 memerlukan 2 sambungan lain - pemicu (kuning ke pin 6) dan gema (hijau ke pin 7). Paparan juga memerlukan Vcc (5v) dan Ground, dan 2 sambungan lagi - jam (biru ke pin 8) dan DIO (ungu ke pin 9). Seperti yang telah disebutkan, mod operasi dikendalikan oleh pin 10 yang tinggi atau rendah (putih). Sambungan akan menggunakan pin yang sama pada Arduino Pro Mini, tetapi akan dipateri secara kekal. Mod operasi akan dipilih menggunakan pelompat melintasi dua dari tiga pin header, masing-masing disambungkan ke Vcc, pin 10, dan ground.

Spesifikasi rasmi untuk HC-SR04 mendakwa seperti kesalahan maksimum hanya 3 milimeter hingga jarak operasi maksimum yang dirancang sebanyak 4 meter, jadi bayangkanlah kejutan saya apabila mendapati bahawa unit saya semestinya tepat hingga tahap itu hingga 2 meter - yang mana melebihi apa yang saya perlukan. Oleh kerana ruang yang terhad untuk penyediaan ujian yang cepat dan kotor, hasil ujian saya di luar jarak itu rosak oleh pantulan dari permukaan selain daripada sasaran ujian saya, kerana pancaran dari pemancar menyebar dan masuk ke kawasan yang lebih luas. Tetapi selagi baik hingga 1.5 meter - itu akan membuat saya baik, terima kasih banyak:-)

Langkah 5: Sketsa Rainwater Gauge Ino

Kod penuh dilampirkan, tetapi saya akan memasukkan beberapa petikan di bawah untuk menerangkan beberapa langkah.

Pertama sekali, persediaan …

#sertakan

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

Seperti juga perpustakaan TM1637 dan NewPing, saya juga memasukkan perpustakaan Matematik, yang memberi saya akses ke fungsi 'pembundaran'. Saya menggunakan ini dalam beberapa matematik untuk membolehkan saya menunjukkan peratusan hingga 5% yang terdekat misalnya.

Seterusnya pin untuk dua peranti ditentukan, dan peranti dimulakan.

Akhirnya, saya menentukan pin 10 untuk mod operasi.

// matikan semua segmen untuk semua digit

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

Bahagian kod ini menunjukkan satu cara untuk mengawal modul paparan, yang membolehkan kawalan individu setiap segmen dalam setiap digit. Saya telah menetapkan 4 elemen dalam array yang disebut byte, semuanya menjadi sifar. Ini bermaksud bahawa setiap bit setiap bait adalah sifar. 8 bit digunakan untuk mengawal setiap 7 segmen dan titik perpuluhan (atau titik dua dalam paparan jenis jam). Oleh itu, jika semua bit adalah sifar, maka tidak ada segmen yang akan menyala. Operasi setSegments menghantar isi array ke paparan dan tidak menunjukkan (dalam kes ini) apa-apa. Semua segmen dimatikan.

Imej
Imej

Bit yang paling ketara dalam bait mengawal DP, dan kemudian 7 bit selebihnya mengawal 7 segmen dari G hingga A dalam urutan terbalik. Jadi untuk memaparkan nombor 1 misalnya, memerlukan segmen B dan C, jadi perwakilan binari adalah '0b00000110'. (Terima kasih kepada CircuitsToday.com untuk gambar di atas).

// Ambil 10 bacaan, dan gunakan jangka masa median.

tempoh int = sonar.ping_median (10); // tempoh adalah dalam mikrodetik jika (tempoh == 0) // Ralat Pengukuran - tidak meyakinkan atau tidak ada gema {uint8_t bytes = {0x00, 0b01111001, 0b01010000, 0b01010000}; // Segmen untuk mengeja "Err" display.setSegments (bait); }

Di sini, saya memberitahu HC-SR04 untuk mengambil 10 bacaan, dan memberi saya hasil rata-rata. Sekiranya tiada nilai dikembalikan, maka unit tersebut berada di luar jangkauan. Saya kemudian menggunakan teknik yang sama seperti di atas untuk mengawal segmen tertentu pada 4 digit, untuk mengeja huruf (kosong), E, r, dan r. Menggunakan tatatanda binari menjadikannya lebih mudah untuk mengaitkan bit individu dengan segmen.

Langkah 6: Memuatkan Kod ke Arduino Pro Mini (tanpa USB)

Seperti yang saya katakan sebelumnya, barang dari penjual ebay Cina sering mengambil masa 6 minggu atau lebih untuk tiba, dan banyak penulisan prototaip dan kod saya dilakukan sementara menunggu beberapa komponen tiba - Arduino Pro Mini menjadi salah satu daripadanya.

Satu perkara yang saya tidak perhatikan mengenai Pro Mini, sehingga saya sudah memesannya, adalah bahawa ia tidak mempunyai port USB untuk memuat turun lakaran. Oleh itu, setelah membuat beberapa googling yang panik, saya dapati terdapat dua cara untuk memuatkan lakaran dalam kes ini - satu memerlukan kabel khas dari USB pada PC anda, hingga 6 pin khusus pada Pro Mini. Kumpulan 6 pin ini dikenali sebagai pin ISP (programmer dalam sistem), dan anda sebenarnya boleh menggunakan kaedah ini pada mana-mana Arduino jika anda mahu - tetapi kerana antara muka USB tersedia di hampir semua varian Arduino yang lain (I berfikir), menggunakan pilihan itu jauh lebih mudah. Kaedah lain menghendaki anda mempunyai Arduino lain dengan antara muka USB di atasnya, untuk bertindak sebagai 'antara-lain'.

Nasib baik, dengan menggunakan Arduino Uno saya bermaksud saya boleh menggunakan kaedah kedua, yang akan saya gariskan untuk anda di bawah. Ia dipanggil menggunakan 'Arduino sebagai ISP'. Ringkasnya, anda memuat lakaran khas ke Arduino 'go-between' anda, yang mengubahnya menjadi Serial Interface. Kemudian muatkan lakaran sebenar anda, tetapi bukannya pilihan muat naik biasa, anda menggunakan pilihan dari menu IDE yang memuat naik 'menggunakan Arduino sebagai ISP'. Arduino 'go-between' kemudian mengambil lakaran sebenar anda dari IDE, dan meneruskannya ke pin ISP Pro Mini, dan bukannya memuatkannya ke memori sendiri. Ia tidak sukar setelah anda memikirkan bagaimana ia berfungsi, tetapi ia adalah lapisan kerumitan tambahan yang mungkin anda ingin elakkan. Sekiranya itu berlaku, atau anda tidak mempunyai Arduino lain yang boleh anda gunakan sebagai 'antara', maka anda mungkin ingin membeli Arduino Nano, atau salah satu model faktor bentuk kecil yang lain, yang merangkumi antara muka USB dan menjadikan pengaturcaraan prospek yang lebih sederhana.

Berikut adalah beberapa sumber yang mungkin berguna untuk memahami prosesnya. Rujukan Arduino secara khusus merujuk pada membakar pemuat but baru ke peranti sasaran, tetapi anda dapat memuatkan lakaran dengan cara yang sama. Saya dapati video Julian Ilett menjadikan konsepnya jauh lebih jelas, walaupun dia melewatkan bahagian dalam rujukan Arduino yang menerangkan bagaimana menyatukan kedua Arduino bersama-sama, dan memprogram cip kosong di papan roti sebagai gantinya.

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

Oleh kerana Pro Mini tidak mempunyai 6 pin ISP yang dikumpulkan dengan mudah, anda perlu menyahkodkan pin digital mana yang berkaitan dengan 4 pin pengaturcaraan (dua sambungan lain hanya Vcc dan Gnd - begitu juga mudah). Nasib baik untuk anda, saya sudah melalui ini - dan bersedia berkongsi pengetahuan dengan anda - saya seorang yang baik hati !!

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

Imej
Imej

Malangnya, Pro Mini tidak. Seperti yang anda lihat di bawah, mereka sebenarnya mudah dikenali dan masih disusun 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 pengaturcaraan ISP, sambungkan 11 hingga 11, 12 hingga 12, dan 13 hingga 13. Pro Pin Reset Mini harus disambungkan ke pin Uno 10, dan Vcc Pro Mini (5v) / Ground harus disambungkan ke Arduino + 5v / Ground. (Gambar dari www.arduino.cc)

Imej
Imej

Langkah 7: Perhimpunan

perhimpunan
perhimpunan

Seperti yang saya sebutkan, saya mengambil kes tersebut dan menyesalinya. Memadankan semua komponen di dalamnya adalah pemerasan sebenar. Sebenarnya saya harus membengkokkan kenalan butang tekan ke samping, dan meletakkan beberapa pembungkusan di luar untuk mengangkatnya sedikit lebih jauh sehingga sesuai dengan kedalaman kotak, dan saya harus mengisar 2-3mm dari setiap sisi papan modul paparan agar sesuai juga.

Saya menggerudi 2 lubang pada casing agar sensor ultrasonik dapat dicucuk. Saya menggerudi lubang sedikit terlalu kecil dan kemudian secara beransur-ansur meningkatkannya menggunakan penggiling putar kecil, sehingga saya dapat menjadikannya 'push fit' yang bagus. Malangnya, mereka terlalu dekat dengan sisi sehingga tidak dapat menggunakan penggiling dari dalam kotak, dan ini harus dilakukan dari luar, mengakibatkan banyak calar dan tanda skate di mana penggiling tergelincir - oh, itu saja di bahagian bawah pula - siapa yang peduli..?

Saya kemudian memotong slot di satu hujung yang berukuran tepat untuk paparan dicucuk. Sekali lagi - sangkaan saya pada ukuran kotak menggigit saya di bahagian belakang kerana slot meninggalkan saya dengan potongan yang sangat langsing di atas paparan, yang pasti akan pecah semasa saya memfailkannya dengan lancar. Baiklah - itulah yang diciptakan super-gam untuk…

Akhirnya, dengan semua komponen diletakkan di dalam kotak secara kasar, saya mengukur di mana meletakkan lubang di penutupnya, supaya badan butang tekan jatuh ke ruang terakhir yang ada. HANYA !!!

Seterusnya, saya menyatukan semua komponen bersama-sama untuk menguji kesemuanya masih berfungsi setelah membongkok dan mengisar dan memotong, sebelum memasangkan semuanya ke dalam casing. Anda dapat melihat sambungan jumper tepat di bawah modul paparan, dengan pin 10 pada Arduino (plumbum putih) disambungkan ke Gnd, sehingga meletakkan unit dalam mod penentukuran. Paparan berbunyi 122cms dari bangku saya - mesti ada isyarat yang dipantulkan dari bahagian atas bingkai tingkap (terlalu rendah sehingga siling).

Imej
Imej

Kemudian adalah kes pecah pistol lem panas, dan meletakkan semua komponen di tempatnya. Setelah melakukannya, saya dapati bahawa jarak kecil antara bahagian atas modul paparan dan penutup, setelah modul terpaku di tempatnya, meninggalkan sedikit bonjolan di mana penutupnya tidak akan sesuai dengan yang saya mahukan. Saya mungkin akan mencuba dan melakukan sesuatu pada suatu hari - atau kemungkinan besar, saya tidak akan…

Imej
Imej

Langkah 8: Artikel Selesai

Setelah beberapa ujian pasca pemasangan, dan pembetulan pada kod saya untuk memperhitungkan kedalaman potongan kayu yang saya pasangkan alat (yang saya benar-benar terlepas pandang dalam pengiraan saya - d'oh !!), semuanya selesai. Akhirnya!

Ujian berkumpul

Dengan unit hanya duduk menghadap ke bangku saya, jelas tidak akan ada isyarat yang dipantulkan, jadi unit ini menunjukkan keadaan ralat dengan betul. Perkara yang sama berlaku sekiranya permukaan pantulan terdekat berada di luar jangkauan unit.

Imej
Imej

Nampaknya dari atas bangku saya ke lantai adalah 76cms (baik, 72cms ditambah 4cm bahagian kayu).

Imej
Imej

Bahagian bawah unit, menunjukkan pemancar dan penerima yang menggantungkan potongan kayu - Saya harus berhenti menyebutnya sepotong kayu - sehingga sekarang akan disebut sebagai Platform Penstabilan dan Penetapan Ketepatan Gauge! Syukurlah, ini mungkin kali terakhir saya menyebutnya;-)

Ooh - anda dapat melihat semua calar dan tanda skate yang tidak menyenangkan ini …

Imej
Imej

… Dan inilah item siap, diletakkan dalam mod operasi biasa, sebenarnya mengukur kapasiti tangki saya hingga 5% terdekat. Pada petang Ahad yang (sangat) hujan membuatkan saya menyiapkan projek ini, oleh itu hujan turun di unit, dan bacaan 90% yang sangat menggembirakan.

Imej
Imej

Saya harap anda menikmati membaca ini, dan anda belajar sedikit mengenai pengaturcaraan Arduino, fizik dan penggunaan refleksi sonar / ultrasonik, perangkap menggunakan tekaan dalam perancangan projek anda, dan bahawa anda telah mendapat inspirasi untuk membuat tolok tangki air hujan sendiri - dan kemudian pasangkan tangki air hujan untuk menggunakannya, sambil membantu persekitaran sedikit dan menjimatkan bil air anda.

Sila baca - untuk apa yang berlaku pada keesokan harinya …!

Langkah 9: Skrip Pasca - Seratus (dan Lima) Peratus?

Jadi, pada hari Isnin selepas hari minggu hujan, tangki itu benar-benar penuh seperti yang mungkin. Oleh kerana ini adalah salah satu dari beberapa kali saya melihatnya sepenuhnya penuh, saya fikir ia adalah masa yang sesuai untuk mengukur tolok ukur, tetapi meneka apa - ia terdaftar sebagai 105%, jadi jelas ada sesuatu yang salah.

Saya mengeluarkan tongkat saya dan mendapati bahawa andaian asal saya 140cms sebagai kedalaman maksimum air, dan 16cms ruang kepala (berdasarkan jangkaan visual yang dibuat dari luar tangki), keduanya sedikit dari ukuran sebenar. Dengan bersenjata dengan data sebenar untuk penanda aras 100% saya, saya dapat mengubah kod saya dan memuatkan semula Arduino.

Kedalaman air maksimum ternyata 147cms, dengan titik pengukuran duduk di 160cms, memberikan 13cms ruang kepala (jumlah ruang kepala di dalam tangki, ketinggian leher tangki, dan kedalaman bahagian… whoa, tidak, apa ?! Maksud saya kedalaman Platform Penstabilan dan Ketepatan Gauge!).

Setelah membetulkan pemboleh ubah maxDepth dan headroom dengan sewajarnya, serta menetapkan semula julat maksimum objek sonar menjadi 160cms, ujian cepat menunjukkan 100% turun hingga 95% ketika saya mengangkat tolok sedikit (untuk mensimulasikan sejumlah kecil air telah digunakan).

Kerja selesai!

PS - ini adalah percubaan pertama saya untuk mendapatkan arahan. Sekiranya anda suka gaya saya, rasa humor, kejujuran untuk mengakui kesilapan (hei - walaupun saya tidak sempurna …), dan lain-lain - beritahu saya dan ini mungkin memberi saya dorongan untuk melakukan yang lain.

Langkah 10: Pemikiran

Kapasiti Boleh Digunakan

Jadi sudah beberapa minggu sekarang sejak saya menerbitkan Instructable ini, dan saya mendapat banyak komen sebagai tindak balas, beberapa di antaranya telah mencadangkan beberapa mekanisme alternatif - elektronik dan manual. Tetapi ini membuat saya berfikir, dan ada sesuatu yang mungkin sudah saya tunjukkan pada awalnya.

  • Tangki saya mempunyai pam, yang dipasang di permukaan tanah - sedikit di bawah dasar tangki. Oleh kerana pam adalah titik terendah dalam sistem, dan air dari pam berada di bawah tekanan, saya dapat menggunakan kapasiti penuh tangki saya.
  • Walau bagaimanapun - jika tangki anda tidak mempunyai pam, dan bergantung pada pemberian graviti, maka kapasiti tangki yang berkesan dibatasi oleh ketinggian paip anda. Setelah air yang tinggal di tangki anda lebih rendah dari keran, maka tidak akan ada air yang mengalir.

Oleh itu, tidak kira sama ada anda menggunakan alat pengukur elektronik, atau kaca mata manual, atau sistem jenis pelampung dan bendera, ketahuilah bahawa tanpa pam, 'asas' tangki anda sebenarnya adalah ketinggian saluran keluar tangki atau ketuk.

Disyorkan: