Tagapagpahiwatig ng Antas ng Tubig na Ultrasonic Wireless - Pinapagana ng Solar

Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema





Ang isang ultrasonic water level controller ay isang aparato na maaaring makakita ng mga antas ng tubig sa isang tanke nang walang pisikal na pakikipag-ugnay at ipadala ang data sa isang malayong tagapagpahiwatig ng LED sa isang wireless GSM mode.

Sa post na ito, magtatayo kami ng isang batay sa ultrasonic na solar Powered wireless water level na tagapagpahiwatig gamit ang Arduino kung saan ang Arduinos ay nagpapadala at tumatanggap sa 2.4 GHz wireless frequency. Madiskubre namin ang antas ng tubig sa tanke gamit ang ultrasonics sa halip na tradisyunal na pamamaraan ng electrode.



Pangkalahatang-ideya

Ang tagapagpahiwatig ng antas ng tubig ay dapat na mayroong gadget, kung nagmamay-ari ka ng bahay o kahit na nakatira sa isang inuupahang bahay. A tagapagpahiwatig ng antas ng tubig nagpapakita ng isang mahalagang data para sa iyong bahay na kasinghalaga ng pagbabasa ng iyong metro ng enerhiya, iyon ay, kung gaano karaming tubig ang natitira? Upang masubaybayan namin ang pagkonsumo ng tubig at hindi namin kailangang umakyat sa itaas upang ma-access ang tangke ng tubig upang suriin kung magkano ang natitirang tubig at wala nang biglaang paghinto ng tubig mula sa faucet.

Nakatira kami sa 2018 (sa oras ng pagsulat ng artikulong ito) o mas bago, maaari kaming makipag-usap sa kahit saan sa mundo kaagad, naglunsad kami ng isang kuryenteng karera ng kotse sa kalawakan, inilunsad namin ang mga satellite at rovers sa mars, nakarating pa kami sa tao mga nilalang sa buwan, wala pa ring tamang produktong pangkomersyo para sa pagtuklas kung gaano karaming tubig ang natitira sa aming mga tangke ng tubig?



Maaari naming makita ang mga tagapagpahiwatig ng antas ng tubig na ginawa ng mga mag-aaral sa ika-5 baitang para sa patas sa agham sa paaralan. Gaano kahirap gawin ang mga simpleng proyekto sa ating pang-araw-araw na buhay? Ang sagot ay ang mga tagapagpahiwatig ng antas ng tangke ng tubig ay hindi simpleng mga proyekto na maaaring gawin ng isang ika-5 na baitang para sa aming tahanan. Maraming praktikal na pagsasaalang-alang bago kami magdisenyo ng isa.

• Walang nais na mag-drill ng isang butas sa katawan ng tangke ng tubig para sa mga electrode na maaaring tumagas ng tubig sa paglaon.
• Walang nais na magpatakbo ng 230/120 VAC wire malapit sa tangke ng tubig.
• Walang gustong palitan ang mga baterya buwan buwan.
• Walang nais na magpatakbo ng karagdagang mga mahahabang wires na nakabitin sa isang silid para sa antas ng tubig na pahiwatig dahil hindi ito paunang plano habang itinatayo ang bahay.
• Walang nais na gumamit ng tubig na may halong metal na kaagnasan ng elektrod.
• Walang nais na alisin ang pag-set up ng antas ng tubig habang nililinis ang tangke (sa loob).

Ang ilan sa mga kadahilanang nabanggit sa itaas ay maaaring magmukhang hangal ngunit, mahahanap mo ang hindi gaanong kasiya-siyang mga produktong magagamit sa komersyo na may mga kahinaan. Iyon ang dahilan kung bakit ang pagtagos ng mga produktong ito ay mas mababa sa mga average na sambahayan *.
* Sa merkado sa India.

Matapos isaalang-alang ang mga pangunahing puntong ito, nagdisenyo kami ng isang praktikal na tagapagpahiwatig ng antas ng tubig na dapat alisin ang nabanggit na kahinaan.

Ang aming disenyo:

• Gumagamit ito ng ultrasonic sensor upang masukat ang antas ng tubig kaya walang problema sa kaagnasan.
• Wireless na indikasyon ng antas ng tubig real time sa 2.4 GHz.
• Magandang lakas ng signal ng wireless, sapat para sa 2 palapag na gusali.
• Hindi na pinapagana ng solar ang mga AC mains o pagpapalit ng baterya.
• Tangke ng tanke / overflow na alarma habang pinupunan ang tanke.

Suriin natin ang mga detalye ng circuit:

Transmitter:

Ang wireless transmitter circuit na nakalagay sa tanke ay magpapadala ng data sa antas ng tubig tuwing 5 segundo 24/7. Ang transmitter ay binubuo ng Arduino nano, ultrasonic sensor HC-SR04, nRF24L01 module na magkokonekta sa transmiter at tatanggap nang wireless sa 2.4 GHz.

Ang isang Solar panel na 9 V hanggang 12 V na may kasalukuyang output ng 300mA ay magpapagana sa transmiter circuit. Sisingilin ng isang circuit board ng pamamahala ng baterya ang baterya ng Li-ion, upang masubaybayan namin ang antas ng tubig kahit na walang sikat ng araw.

Ipaalam sa amin galugarin kung paano ilagay ang ultrasonic sensor sa tangke ng tubig:

Mangyaring tandaan na kailangan mong gamitin ang iyong pagkamalikhain upang i-bundok ang circuit at protektahan mula sa ulan at direktang sikat ng araw.

Gupitin ang isang maliit na butas sa itaas ng takip ng tangke para sa paglalagay ng sensor ng Ultrasonic at selyuhan ito ng ilang uri ng malagkit na maaari mong makita.

paglalagay ng ultrasonic sensor sa isang tangke ng tubig

Sukatin ngayon ang buong taas ng tanke mula sa ibaba hanggang sa talukap ng mata, isulat ito sa metro. Sukatin ngayon ang taas ng tubig na may hawak na kapasidad ng tangke tulad ng ipinakita sa itaas na imahe at isulat sa pababa sa metro.
Kailangan mong ipasok ang dalawang halagang ito sa code.

Scagram diagram ng Transmitter:

mga koneksyon ng ultrasonic transmitter para sa kontrol sa antas ng tubig

TANDAAN: ang nRF24L01 ay gumagamit ng 3.3V bilang Vcc ay hindi kumonekta sa 5V output ng Arduino.

Suplay ng kuryente para sa transmiter:

disenyo ng suplay ng kuryente ng antas ng ultrasonic na antas ng tubig

Tiyaking ang lakas ng output ng iyong solar panel ibig sabihin, ang output (volt x kasalukuyang) ay mas malaki sa 3 watts. Ang solar panel dapat na 9V hanggang 12V.

Inirerekumenda ang 12V at 300mA panel na maaari mong madaling makita sa merkado. Ang baterya ay dapat na nasa 3.7V 1000 mah.

5V 18650 Li-ion module ng pagsingil:

Ang sumusunod na imahe ay nagpapakita ng isang pamantayan 18650 charger circuit

Ang pag-input ay maaaring USB (hindi ginamit) o ​​panlabas na 5V mula sa LM7805 IC. Tiyaking nakukuha mo ang tamang module tulad ng ipinakita sa itaas, dapat mayroon ito TP4056 proteksyon, na may mababang cut-off ng baterya at proteksyon ng maikling circuit.

Ang output ng ito ay dapat na pinakain sa input ng XL6009 na magpapalakas sa mas mataas na boltahe, gamit ang isang maliit na output ng driver ng tornilyo na XL6009 ay dapat na ayusin sa 9V para sa Arduino.

Paglalarawan ng XL6009 DC to DC boost converter:

Tinapos nito ang hardware ng transmiter.

Code para sa Transmitter:

// ----------- 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 ----------- //

Baguhin ang mga sumusunod na halaga sa code na iyong sinukat:

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

Tinapos nito ang transmiter.

Ang tagatanggap:

iskema ng tagakontrol ng tagatanggap ng antas ng ultrasonic

Maaaring ipakita ng tatanggap ang 5 mga antas. Alarm, nang maabot ng tanke ang ganap na maximum na kapasidad na may hawak ng tubig habang pinupuno ang tanke. 100 hanggang 75% - Ang lahat ng apat na LEDs ay mamula-mula, 75 hanggang 50% tatlong LEDs ang mamula-mula, 50 hanggang 25% dalawang LEDs ang mamula-mula, 25% at mas mababa sa isang LED ang mamula-mula.
Ang tatanggap ay maaaring pinalakas mula sa 9V na baterya o mula smartphone charger sa USB mini-B cable.

Code para sa Tagatanggap:

// ----------- 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 ----------- //

Tinapos na ang tatanggap.

TANDAAN: kung walang mga LED na kumikinang, na nangangahulugang ang tatanggap ay hindi makakakuha ng signal mula sa transmitter. Dapat kang maghintay ng 5 segundo upang matanggap ang signal mula sa transmitter pagkatapos i-on ang circuit ng receiver.

Mga prototype ng may-akda:

Transmitter:

prototype ng ultrasonic transmitter

Tatanggap:

prototype ng ultrasonic receiver

Kung mayroon kang anumang mga katanungan patungkol sa solar Powered ultrasonikong wireless na antas ng tubig circuit circuit, mangyaring huwag mag-atubiling ipahayag sa komento, maaari mong asahan na makakuha ng isang mabilis na tugon.




Nakaraan: Paano Gumawa ng Simpleng Boost Converter Circuits Susunod: Paano Magdisenyo ng isang Flyback Converter - Comprehensive Tutorial