Petunjuk Tahap Air Tanpa Wayar Ultrasonik - Solar Powered

Cuba Instrumen Kami Untuk Menghapuskan Masalah





Pengawal aras air ultrasonik adalah alat yang dapat mengesan paras air di dalam tangki tanpa hubungan fizikal dan menghantar data ke penunjuk LED yang jauh dalam mod GSM tanpa wayar.

Dalam catatan ini, kita akan membina penunjuk paras air tanpa wayar solar berasaskan ultrasonik menggunakan Arduino di mana Arduino akan menghantar dan menerima pada frekuensi tanpa wayar 2.4 GHz. Kami akan mengesan paras air di tangki menggunakan ultrasonik dan bukannya kaedah elektrod tradisional.



Gambaran keseluruhan

Petunjuk paras air adalah alat yang mesti ada, jika anda memiliki rumah atau bahkan tinggal di rumah sewa. A penunjuk paras air menunjukkan satu data penting untuk rumah anda yang sama pentingnya dengan bacaan meter tenaga anda, iaitu berapa banyak air yang tinggal? Supaya kita dapat mengawasi penggunaan air dan kita tidak perlu naik ke atas untuk mengakses tangki air untuk memeriksa berapa banyak air yang tersisa dan tidak ada lagi air yang berhenti secara tiba-tiba dari keran.

Kita hidup pada tahun 2018 (pada saat penulisan artikel ini) atau kemudian, kita dapat berkomunikasi ke mana saja di dunia dengan serta-merta, kita melancarkan kereta perlumbaan elektrik ke angkasa, kita melancarkan satelit dan pelumba ke mars, kita bahkan dapat mendarat manusia makhluk di bulan, masih belum ada produk komersial yang tepat untuk mengesan berapa banyak air yang tersisa di tangki air kita?



Kita dapat mengetahui petunjuk paras air dibuat oleh pelajar kelas 5 untuk pameran sains di sekolah. Bagaimana projek-projek sederhana seperti itu tidak menjadikan kehidupan seharian kita? Jawapannya ialah penunjuk paras tangki air bukanlah projek mudah yang dapat dibuat oleh kelas 5 untuk kediaman kita. Terdapat banyak pertimbangan praktikal sebelum kita merancang satu.

• Tidak ada yang ingin mengebor lubang pada badan tangki air untuk elektrod yang mungkin akan membocorkan air di kemudian hari.
• Tidak ada yang mahu menjalankan wayar 230/120 VAC berhampiran tangki air.
• Tidak ada yang mahu mengganti bateri setiap bulan.
• Tidak ada yang mahu memasang wayar panjang tambahan yang tergantung di ruangan untuk petunjuk paras air kerana ia tidak dirancang sebelum membina rumah.
• Tidak ada yang mahu menggunakan air yang dicampurkan dengan kakisan logam elektrod.
• Tidak ada yang mahu melepaskan penyediaan penunjuk paras air semasa membersihkan tangki (di dalam).

Beberapa sebab yang dinyatakan di atas mungkin kelihatan konyol tetapi, anda akan merasa kurang memuaskan dengan produk yang tersedia secara komersial dengan kekurangan ini. Itulah sebabnya penembusan produk ini sangat kurang di kalangan rata-rata isi rumah *.
* Di pasaran India.

Setelah mempertimbangkan perkara-perkara penting ini, kami telah merancang petunjuk tahap air praktikal yang harus menghilangkan keburukan yang disebutkan.

Reka bentuk kami:

• Ia menggunakan sensor ultrasonik untuk mengukur paras air sehingga tidak ada masalah kakisan.
• Petunjuk tanpa wayar tahap air pada masa nyata pada 2.4 GHz.
• Kekuatan isyarat tanpa wayar yang baik, cukup untuk bangunan bertingkat 2.
• Tenaga suria tidak lagi menggunakan AC atau menggantikan bateri.
• Penggera tangki penuh / limpahan semasa mengisi tangki.

Mari kita selidiki perincian litar:

Pemancar:

The litar pemancar tanpa wayar yang diletakkan di tangki akan menghantar data paras air setiap 5 saat 24/7. Pemancar terdiri daripada modul Arduino nano, sensor ultrasonik HC-SR04, nRF24L01 yang akan menghubungkan pemancar dan penerima tanpa wayar pada 2.4 GHz.

Panel Suria dari 9 V hingga 12 V dengan output semasa 300mA akan mengaktifkan litar pemancar. Papan litar pengurusan bateri akan mengecas bateri Li-ion, sehingga kita dapat memantau paras air walaupun tidak ada cahaya matahari.

Mari kita meneroka cara meletakkan sensor ultrasonik di tangki air:

Harap maklum bahawa anda harus menggunakan kreativiti anda untuk mengeringkan litar dan melindungi dari hujan dan cahaya matahari langsung.

Potong lubang kecil di atas penutup tangki untuk meletakkan sensor Ultrasonik dan tutup dengan pelekat yang anda dapati.

meletakkan sensor ultrasonik di tangki air

Sekarang ukur ketinggian penuh tangki dari bawah ke penutup, tuliskan dalam meter. Sekarang ukur ketinggian tangki tangki air seperti yang ditunjukkan pada gambar di atas dan tuliskan dalam meter.
Anda perlu memasukkan dua nilai ini dalam kod.

Gambarajah skematik Pemancar:

sambungan pemancar ultrasonik untuk kawalan paras air

CATATAN: nRF24L01 menggunakan 3.3V kerana Vcc tidak menyambung ke output Arduino 5V.

Bekalan kuasa untuk pemancar:

reka bentuk bekalan kuasa pengawal paras air ultrasonik

Pastikan kuasa output panel suria anda iaitu output (volt x semasa) lebih besar daripada 3 watt. The panel solar semestinya 9V hingga 12V.

Panel 12V dan 300mA disyorkan yang boleh anda temui dengan mudah di pasaran. Bateri hendaklah sekitar 3.7V 1000 mAh.

Modul pengecasan Li-ion 5V 18650:

Gambar berikut menunjukkan standard Litar pengecas 18650

Input boleh berupa USB (tidak digunakan) atau 5V luaran dari LM7805 IC. Pastikan bahawa anda mendapat modul yang betul seperti yang ditunjukkan di atas, semestinya TP4056 perlindungan, yang mempunyai perlindungan bateri rendah dan perlindungan litar pintas.

Output ini harus dimasukkan ke input XL6009 yang akan meningkatkan voltan yang lebih tinggi, dengan menggunakan pemacu skru kecil keluaran XL6009 harus disesuaikan dengan 9V untuk Arduino.

Ilustrasi penukar XL6009 DC ke DC:

Itu menyimpulkan perkakasan pemancar.

Kod untuk Pemancar:

// ----------- Program Developed by R.GIRISH / Homemade-circuits .com ----------- //
#include
#include
RF24 radio(9, 10)
const byte address[6] = '00001'
const int trigger = 3
const int echo = 2
const char text_0[] = 'STOP'
const char text_1[] = 'FULL'
const char text_2[] = '3/4'
const char text_3[] = 'HALF'
const char text_4[] = 'LOW'
float full = 0
float three_fourth = 0
float half = 0
float quarter = 0
long Time
float distanceCM = 0
float distanceM = 0
float resultCM = 0
float resultM = 0
float actual_distance = 0
float compensation_distance = 0
// ------- CHANGE THIS -------//
float water_hold_capacity = 1.0 // Enter in Meters.
float full_height = 1.3 // Enter in Meters.
// ---------- -------------- //
void setup()
{
Serial.begin(9600)
pinMode(trigger, OUTPUT)
pinMode(echo, INPUT)
digitalWrite(trigger, LOW)
radio.begin()
radio.openWritingPipe(address)
radio.setChannel(100)
radio.setDataRate(RF24_250KBPS)
radio.setPALevel(RF24_PA_MAX)
radio.stopListening()
full = water_hold_capacity
three_fourth = water_hold_capacity * 0.75
half = water_hold_capacity * 0.50
quarter = water_hold_capacity * 0.25
}
void loop()
{
delay(5000)
digitalWrite(trigger, HIGH)
delayMicroseconds(10)
digitalWrite(trigger, LOW)
Time = pulseIn(echo, HIGH)
distanceCM = Time * 0.034
resultCM = distanceCM / 2
resultM = resultCM / 100
Serial.print('Normal Distance: ')
Serial.print(resultM)
Serial.println(' M')
compensation_distance = full_height - water_hold_capacity
actual_distance = resultM - compensation_distance
actual_distance = water_hold_capacity - actual_distance
if (actual_distance <0)
{
Serial.print('Water Level:')
Serial.println(' 0.00 M (UP)')
}
else
{
Serial.print('Water Level: ')
Serial.print(actual_distance)
Serial.println(' M (UP)')
}
Serial.println('============================')
if (actual_distance >= full)
{
radio.write(&text_0, sizeof(text_0))
}
if (actual_distance > three_fourth && actual_distance <= full)
{
radio.write(&text_1, sizeof(text_1))
}
if (actual_distance > half && actual_distance <= three_fourth)
{
radio.write(&text_2, sizeof(text_2))
}
if (actual_distance > quarter && actual_distance <= half)
{
radio.write(&text_3, sizeof(text_3))
}
if (actual_distance <= quarter)
{
radio.write(&text_4, sizeof(text_4))
}
}
// ----------- Program Developed by R.GIRISH / Homemade-circuits .com ----------- //

Ubah nilai berikut dalam kod yang anda ukur:

// ------- CHANGE THIS -------//
float water_hold_capacity = 1.0 // Enter in Meters.
float full_height = 1.3 // Enter in Meters.
// ---------- -------------- //

Itu menyimpulkan pemancar.

Penerima:

skema pengawal penerima paras air ultrasonik

Penerima dapat menunjukkan 5 tahap. Penggera, ketika tangki mencapai kapasiti penahan air maksimum mutlak semasa mengisi tangki. 100 hingga 75% - Keempat LED akan menyala, 75 hingga 50% tiga LED akan menyala, 50 hingga 25% dua LED akan menyala, 25% dan kurang satu LED akan menyala.
Penerima boleh dikuasakan dari bateri 9V atau dari pengecas telefon pintar ke USB kabel mini-B.

Kod untuk Penerima:

// ----------- Program Developed by R.GIRISH / Homemade-circuits .com ----------- //
#include
#include
RF24 radio(9, 10)
int i = 0
const byte address[6] = '00001'
const int buzzer = 6
const int LED_full = 5
const int LED_three_fourth = 4
const int LED_half = 3
const int LED_quarter = 2
char text[32] = ''
void setup()
{
pinMode(buzzer, OUTPUT)
pinMode(LED_full, OUTPUT)
pinMode(LED_three_fourth, OUTPUT)
pinMode(LED_half, OUTPUT)
pinMode(LED_quarter, OUTPUT)
digitalWrite(buzzer, HIGH)
delay(300)
digitalWrite(buzzer, LOW)
digitalWrite(LED_full, HIGH)
delay(300)
digitalWrite(LED_three_fourth, HIGH)
delay(300)
digitalWrite(LED_half, HIGH)
delay(300)
digitalWrite(LED_quarter, HIGH)
delay(300)
digitalWrite(LED_full, LOW)
delay(300)
digitalWrite(LED_three_fourth, LOW)
delay(300)
digitalWrite(LED_half, LOW)
delay(300)
digitalWrite(LED_quarter, LOW)
Serial.begin(9600)
radio.begin()
radio.openReadingPipe(0, address)
radio.setChannel(100)
radio.setDataRate(RF24_250KBPS)
radio.setPALevel(RF24_PA_MAX)
radio.startListening()
}
void loop()
{
if (radio.available())
{
radio.read(&text, sizeof(text))
Serial.println(text)
if (text[0] == 'S' && text[1] == 'T' && text[2] == 'O' && text[3] == 'P')
{
digitalWrite(LED_full, HIGH)
digitalWrite(LED_three_fourth, HIGH)
digitalWrite(LED_half, HIGH)
digitalWrite(LED_quarter, HIGH)
for (i = 0 i <50 i++)
{
digitalWrite(buzzer, HIGH)
delay(50)
digitalWrite(buzzer, LOW)
delay(50)
}
}
if (text[0] == 'F' && text[1] == 'U' && text[2] == 'L' && text[3] == 'L')
{
digitalWrite(LED_full, HIGH)
digitalWrite(LED_three_fourth, HIGH)
digitalWrite(LED_half, HIGH)
digitalWrite(LED_quarter, HIGH)
}
if (text[0] == '3' && text[1] == '/' && text[2] == '4')
{
digitalWrite(LED_full, LOW)
digitalWrite(LED_three_fourth, HIGH)
digitalWrite(LED_half, HIGH)
digitalWrite(LED_quarter, HIGH)
}
if (text[0] == 'H' && text [1] == 'A' && text[2] == 'L' && text[3] == 'F')
{
digitalWrite(LED_full, LOW)
digitalWrite(LED_three_fourth, LOW)
digitalWrite(LED_half, HIGH)
digitalWrite(LED_quarter, HIGH)
}
if (text[0] == 'L' && text[1] == 'O' && text[2] == 'W')
{
digitalWrite(LED_full, LOW)
digitalWrite(LED_three_fourth, LOW)
digitalWrite(LED_half, LOW)
digitalWrite(LED_quarter, HIGH)
}
}
}
// ----------- Program Developed by R.GIRISH / Homemade-circuits .com ----------- //

Itu menyimpulkan penerima.

CATATAN: jika tidak ada LED yang menyala, ini bermaksud penerima tidak dapat menerima isyarat dari pemancar. Anda harus menunggu 5 saat untuk menerima isyarat dari pemancar setelah menghidupkan litar penerima.

Prototaip pengarang:

Pemancar:

prototaip pemancar ultrasonik

Penerima:

prototaip penerima ultrasonik

Sekiranya anda mempunyai pertanyaan mengenai litar pengawal paras air tanpa wayar ultrasonik berkuasa suria ini, jangan ragu untuk menyatakannya dalam komen, anda boleh mendapatkan balasan cepat.




Sepasang: Cara Membuat Litar Penukar Boost Mudah Seterusnya: Cara Merancang Flyback Converter - Tutorial Komprehensif