- Mga Bahagi
- Modyul ng Ultrason Sensor
- Paggawa ng Awtomatikong Water Level Controller
- Circuit Diagram at Paliwanag
- Programming
Sa ganitong Arduino batay sa awtomatikong tagapagpahiwatig ng antas ng tubig at proyekto ng magsusupil susukatin namin ang antas ng tubig sa pamamagitan ng paggamit ng mga ultrasonic sensor. Pangunahing punong-guro ng pagsukat ng distansya ng ultrasonic ay batay sa ECHO. Kapag ang mga alon ng tunog ay naipadala sa kapaligiran pagkatapos ay bumalik sila sa pinagmulan bilang ECHO pagkatapos na mag-welga sa anumang balakid. Kaya't kailangan lamang nating kalkulahin ang oras ng paglalakbay ng parehong tunog na nangangahulugang papalabas na oras at oras ng pagbabalik sa pinagmulan pagkatapos na magwelga sa anumang balakid. At pagkatapos ng ilang pagkalkula maaari kaming makakuha ng isang resulta na ang distansya. Ang konseptong ito ay ginagamit sa aming proyekto ng water controller kung saan ang water motor pump ay awtomatikong nakabukas kapag ang antas ng tubig sa tanke ay naging mababa. Maaari mo ring suriin ang simpleng circuit ng tagapagpahiwatig ng antas ng tubig para sa isang mas simpleng bersyon ng proyektong ito.
Mga Bahagi
- Arduino Uno
- Modyul ng ultrasonic sensor
- 16x2 LCD
- Relay 6 Volt
- ULN2003
- 7806
- Ang PVT
- Alambreng tanso
- 9 volt na baterya o 12 Voltadaptor
- Mga kumokonekta na mga wire
Modyul ng Ultrason Sensor
Ginagamit ang ultrasonic sensor HC-SR04 upang sukatin ang distansya sa saklaw na 2cm-400cm na may kawastuhan ng 3mm. Ang module ng sensor ay binubuo ng ultrasonic transmitter, receiver at ang control circuit.
Gumagana ang module ng ultrasonic sensor sa natural na kababalaghan ng ECHO ng tunog. Ang isang pulso ay ipinadala para sa halos 10us upang ma-trigger ang module. Matapos kung saan awtomatikong nagpapadala ang module ng 8 cycle ng 40 KHz ultrasound signal at suriin ang echo nito. Ang signal pagkatapos ng pag-aaklas sa isang balakid ay bumalik at nakuha ng tatanggap. Kaya't ang distansya ng balakid mula sa sensor ay kinakalkula lamang ng pormulang ibinigay bilang
Distansya = (oras x bilis) / 2.
Dito namin hinati ang produkto ng bilis at oras ng 2 dahil ang oras ay ang kabuuang oras na kinakailangan upang maabot ang balakid at bumalik. Sa gayon ang oras upang maabot ang balakid ay kalahati lamang ng kabuuang oras na ginugol.
Paggawa ng Awtomatikong Water Level Controller
Ang pagtatrabaho ng proyektong ito ay napaka-simple nagamit namin ang module ng sensor ng Ultrasonic na nagpapadala ng mga sound wave sa tangke ng tubig at nakita ang pagmuni-muni ng mga sound wave na ECHO. Una sa lahat kailangan naming mag-trigger ng module ng ultrasonic sensor upang magpadala ng signal sa pamamagitan ng paggamit ng Arduino at pagkatapos ay maghintay upang makatanggap ng ECHO. Binabasa ni Arduino ang oras sa pagitan ng pag-trigger at pagtanggap ng ECHO. Alam namin na ang bilis ng tunog ay nasa paligid ng 340 m / s. kaya maaari nating kalkulahin ang distansya sa pamamagitan ng paggamit ng naibigay na pormula:
Distansya = (oras ng paglalakbay / 2) * bilis ng tunog
Kung saan ang bilis ng tunog ay humigit-kumulang na 340m bawat segundo.
Sa pamamagitan ng paggamit ng mga pamamaraang ito nakakakuha kami ng distansya mula sa sensor hanggang sa ibabaw ng tubig. Pagkatapos nito kailangan nating kalkulahin ang antas ng tubig.
Ngayon kailangan naming kalkulahin ang kabuuang haba ng tangke ng tubig. Tulad ng alam natin ang haba ng tangke ng tubig pagkatapos ay maaari nating kalkulahin ang antas ng tubig sa pamamagitan ng pagbawas ng nagresultang distansya na nagmumula sa ultrasonic mula sa kabuuang haba ng tanke. At makukuha natin ang distansya ng antas ng tubig. Ngayon ay maaari na nating mai-convert ang antas ng tubig na ito sa porsyento ng tubig, at maipapakita ito sa LCD. Ang pagtatrabaho ng kumpletong proyekto ng tagapagpahiwatig ng antas ng tubig ay ipinapakita sa ibaba ng diagram ng block.
Circuit Diagram at Paliwanag
Tulad ng ipinakita sa circuit ng antas ng antas ng tubig na ibinigay sa ibaba, ang "gatilyo" at "echo" na mga pin ng Ultrasonic sensor module ay direktang konektado sa pin 10 at 11 ng arduino. Ang isang 16x2 LCD ay konektado sa arduino sa 4-bit mode. Ang control pin RS, RW at En ay direktang konektado sa arduino pin 7, GND at 6. At ang data pin na D4-D7 ay konektado sa 5, 4, 3 at 2 ng arduino, at ang buzzer ay konektado sa pin 12. 6 Volt relay ay nakakonekta din sa pin 8 ng arduino sa pamamagitan ng ULN2003 para sa pag-on o pag-off ng water motor pump. Ginagamit din ang isang boltahe na regulator 7805 para sa pagbibigay ng 5 volt na i-relay at sa natitirang circuit.
Sa circuit na ito ang module ng sensor ng Ultrasonic ay inilalagay sa tuktok ng timba (tangke ng tubig) para sa pagpapakita. Basahin ng module ng sensor na ito ang distansya sa pagitan ng module ng sensor at ibabaw ng tubig, at ipapakita nito ang distansya sa LCD screen na may mensahe na "Water Space in Tank is:". Nangangahulugan ito na nagpapakita kami dito ng walang laman na lugar ng distansya o dami para sa tubig sa halip na antas ng tubig. Dahil sa pagpapaandar na ito maaari naming magamit ang sistemang ito sa anumang tangke ng tubig. Kapag ang walang laman na antas ng tubig ay umabot sa distansya tungkol sa 30 cm pagkatapos ay i-ON ng Arduino ang water pump sa pamamagitan ng pagmamaneho ng relay. At ngayon ay ipapakita ng LCD ang "Mababang Antas ng Tubig" "Na-ON ang motor", at ang LED status ng Relay ay magsisimulang kuminang
Ngayon kung ang walang laman na puwang ay umabot sa distansya tungkol sa 12 cm arduino ay NAKA-OFF ang relay at ipapakita ng LCD na "Punong puno na" Ang Buzzer ay umiiyak din ng ilang oras at ang status ng relay na LED ay papatayin.
Programming
Upang mai-program ang Arduino para sa tagakontrol sa antas ng tubig, tinutukoy muna namin ang lahat ng pin na gagamitin namin sa proyekto para sa pag-interfaced ng mga panlabas na aparato tulad ng relay, LCD, buzzer atbp.
#define trigger 10 # tukuyin ang echo 11 # tukuyin ang motor 8 # tukuyin ang buzzer 12
Pagkatapos ay pinasisimulan namin ang lahat ng mga aparato na ginamit sa proyekto.
lcd.begin (16,2); pinMode (gatilyo, OUTPUT); pinMode (echo, INPUT); pinMode (motor, OUTPUT); pinMode (buzzer, OUTPUT); lcd.print ("Antas ng Tubig"); lcd.setCursor (0,1); lcd.print ("Tagapagpahiwatig"); pagkaantala (2000);
Simula na ngayon ang module ng ultrasonic sensor at basahin ang oras ng pagpapadala at pagtanggap ng oras ng mga ultrasonikong alon o tunog sa pamamagitan ng paggamit ng pulseIn (pin). Pagkatapos ay magsagawa ng mga kalkulasyon at ipakita ang resulta sa 16x2 LCD sa pamamagitan ng paggamit ng mga naaangkop na pag-andar.
digitalWrite (gatilyo, TAAS); delayMicroseconds (10); digitalWrite (trigger, LOW); delayMicroseconds (2); oras = pulseIn (echo, TAAS); distansya = oras * 340/20000; lcd.clear (); lcd.print ("Water Space In"); lcd.setCursor (0,1); lcd.print ("Ang tanke ay:"); lcd.print (distansya); lcd.print ("Cm");
Pagkatapos nito susuriin namin ang mga kundisyon kung ang tangke ng tubig ay puno o ang antas ng tubig ay mababa, at magsagawa ng mga pagkilos nang naaayon.
kung (distansya <12 && temp == 0) {digitalWrite (motor, LOW); digitalWrite (buzzer, TAAS); lcd.clear (); lcd.print ("Buong Tangke ng Tubig"); lcd.setCursor (0,1); lcd.print ("Napatay ang Motor"); pagkaantala (2000); digitalWrite (buzzer, LOW); pagkaantala (3000); temp = 1; } iba pa kung (distansya <12 && temp == 1) {digitalWrite (motor, LOW); lcd.clear (); lcd.print ("Buong Tangke ng Tubig"); lcd.setCursor (0,1); lcd.print ("Napatay ang Motor"); pagkaantala (5000); }