{"id":9841,"date":"2025-09-05T15:06:27","date_gmt":"2025-09-05T12:06:27","guid":{"rendered":"https:\/\/roboromania.ro\/?p=9841"},"modified":"2025-09-05T15:06:27","modified_gmt":"2025-09-05T12:06:27","slug":"cum-functioneaza-senzorul-de-nivel-al-apei-si-cum-il-interfatezi-cu-arduino","status":"publish","type":"post","link":"https:\/\/roboromania.ro\/?p=9841","title":{"rendered":"Cum func\u021bioneaz\u0103 senzorul de nivel al apei \u0219i cum \u00eel interfa\u021bezi cu Arduino"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/roboromania.ro\/wp-content\/uploads\/2025\/09\/Untitled.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"325\" height=\"415\" src=\"https:\/\/roboromania.ro\/wp-content\/uploads\/2025\/09\/Untitled.jpg\" alt=\"\" class=\"wp-image-9842\" srcset=\"https:\/\/roboromania.ro\/wp-content\/uploads\/2025\/09\/Untitled.jpg 325w, https:\/\/roboromania.ro\/wp-content\/uploads\/2025\/09\/Untitled-235x300.jpg 235w\" sizes=\"auto, (max-width: 325px) 100vw, 325px\" \/><\/a><\/figure>\n\n\n\n<p>V-a\u021bi \u00eentrebat vreodat\u0103 cum \u0219tiu rezervoarele automate de ap\u0103 c\u00e2nd s\u0103 se opreasc\u0103 din umplere sau cum pot sistemele de alert\u0103 la inunda\u021bii s\u0103 \u0219tie c\u00e2nd apa cre\u0219te la niveluri periculoase? Toate acestea se datoreaz\u0103 unor senzori simpli, dar ingenio\u0219i, care pot \u201esim\u021bi\u201d prezen\u021ba apei.<\/p>\n\n\n\n<p>Unul dintre cei mai u\u0219ori \u0219i mai u\u0219ori de experimentat senzori pentru \u00eencep\u0103tori este senzorul de nivel al apei &#8211; iar atunci c\u00e2nd este combinat cu un Arduino, deschide o lume de proiecte interesante \u0219i practice!<\/p>\n\n\n\n<p>Acest proiect v\u0103 va prezenta cum func\u021bioneaz\u0103 senzorii de nivel al apei. Un exemplu de cod Arduino u\u0219or de urm\u0103rit, care v\u0103 vor ajuta s\u0103 citi\u021bi nivelurile apei \u0219i s\u0103 utiliza\u021bi aceste citiri pentru a aprinde LED-uri &#8211; oferindu-v\u0103 o modalitate vizual\u0103 de a monitoriza nivelul apei.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/roboromania.ro\/wp-content\/uploads\/2025\/09\/Water-Level-Sensor-Hardware-Overview.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"365\" height=\"405\" src=\"https:\/\/roboromania.ro\/wp-content\/uploads\/2025\/09\/Water-Level-Sensor-Hardware-Overview.jpg\" alt=\"\" class=\"wp-image-9843\" srcset=\"https:\/\/roboromania.ro\/wp-content\/uploads\/2025\/09\/Water-Level-Sensor-Hardware-Overview.jpg 365w, https:\/\/roboromania.ro\/wp-content\/uploads\/2025\/09\/Water-Level-Sensor-Hardware-Overview-270x300.jpg 270w\" sizes=\"auto, (max-width: 365px) 100vw, 365px\" \/><\/a><\/figure>\n\n\n\n<p>\u00cen centrul acestui senzor se afl\u0103 un tranzistor NPN, care func\u021bioneaz\u0103 ca un comutator.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/roboromania.ro\/wp-content\/uploads\/2025\/09\/Water-Level-Sensor-Circuit-Diagram.png\"><img loading=\"lazy\" decoding=\"async\" width=\"625\" height=\"320\" src=\"https:\/\/roboromania.ro\/wp-content\/uploads\/2025\/09\/Water-Level-Sensor-Circuit-Diagram.png\" alt=\"\" class=\"wp-image-9844\" srcset=\"https:\/\/roboromania.ro\/wp-content\/uploads\/2025\/09\/Water-Level-Sensor-Circuit-Diagram.png 625w, https:\/\/roboromania.ro\/wp-content\/uploads\/2025\/09\/Water-Level-Sensor-Circuit-Diagram-300x154.png 300w, https:\/\/roboromania.ro\/wp-content\/uploads\/2025\/09\/Water-Level-Sensor-Circuit-Diagram-600x307.png 600w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/a><\/figure>\n\n\n\n<p><strong>Exemplu:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/roboromania.ro\/wp-content\/uploads\/2025\/09\/Water-Level-Sensor-Working.gif\"><img loading=\"lazy\" decoding=\"async\" width=\"337\" height=\"315\" src=\"https:\/\/roboromania.ro\/wp-content\/uploads\/2025\/09\/Water-Level-Sensor-Working.gif\" alt=\"\" class=\"wp-image-9845\"\/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/roboromania.ro\/wp-content\/uploads\/2025\/09\/Untitled2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"664\" height=\"434\" src=\"https:\/\/roboromania.ro\/wp-content\/uploads\/2025\/09\/Untitled2.png\" alt=\"\" class=\"wp-image-9846\" srcset=\"https:\/\/roboromania.ro\/wp-content\/uploads\/2025\/09\/Untitled2.png 664w, https:\/\/roboromania.ro\/wp-content\/uploads\/2025\/09\/Untitled2-300x196.png 300w, https:\/\/roboromania.ro\/wp-content\/uploads\/2025\/09\/Untitled2-600x392.png 600w\" sizes=\"auto, (max-width: 664px) 100vw, 664px\" \/><\/a><\/figure>\n\n\n\n<p><strong>Exemplu cod: senzorul citeste nivelul la 1 secunda<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Sensor pins\n#define sensorPower 7\n#define sensorPin A0\n\n\/\/ Value for storing water level\nint val = 0;\n\nvoid setup() {\n  \/\/ Set D7 as an OUTPUT\n  pinMode(sensorPower, OUTPUT);\n\n  \/\/ Set to LOW so no power flows through the sensor\n  digitalWrite(sensorPower, LOW);\n\n  Serial.begin(9600);\n}\n\nvoid loop() {\n  \/\/get the reading from the function below and print it\n  int level = readSensor();\n\n  Serial.print(\"Water level: \");\n  Serial.println(level);\n\n  delay(1000);\n}\n\n\/\/This is a function used to get the reading\nint readSensor() {\n  digitalWrite(sensorPower, HIGH);  \/\/ Turn the sensor ON\n  delay(10);                        \/\/ wait 10 milliseconds\n  val = analogRead(sensorPin);      \/\/ Read the analog value form sensor\n  digitalWrite(sensorPower, LOW);   \/\/ Turn the sensor OFF\n  return val;                       \/\/ send current reading\n}<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/roboromania.ro\/wp-content\/uploads\/2025\/09\/Untitled3.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"644\" height=\"417\" src=\"https:\/\/roboromania.ro\/wp-content\/uploads\/2025\/09\/Untitled3.jpg\" alt=\"\" class=\"wp-image-9847\" srcset=\"https:\/\/roboromania.ro\/wp-content\/uploads\/2025\/09\/Untitled3.jpg 644w, https:\/\/roboromania.ro\/wp-content\/uploads\/2025\/09\/Untitled3-300x194.jpg 300w, https:\/\/roboromania.ro\/wp-content\/uploads\/2025\/09\/Untitled3-600x389.jpg 600w\" sizes=\"auto, (max-width: 644px) 100vw, 644px\" \/><\/a><\/figure>\n\n\n\n<p><strong>Explica\u021bia codului<\/strong><br>Schi\u021ba \u00eencepe prin a declara pinii Arduino conecta\u021bi la senzor. Pinul etichetat + (VCC) de pe senzor este conectat la pinul 7 de pe Arduino, iar pinul S (semnal) este conectat la pinul de intrare analogic\u0103 A0.<br>Apoi, se creeaz\u0103 o variabil\u0103 numit\u0103 val pentru a stoca citirea senzorului, care reprezint\u0103 nivelul curent al apei.<br>\u00cen sec\u021biunea setup(), \u00eei spunem Arduino-ului s\u0103 trateze pinul 7 ca ie\u0219ire, deoarece acesta va controla alimentarea senzorului. De asemenea, set\u0103m acest pin la LOW la \u00eenceput pentru a ne asigura c\u0103 senzorul este oprit c\u00e2nd porne\u0219te programul. Apoi, \u00eencepem comunicarea serial\u0103, astfel \u00eenc\u00e2t s\u0103 putem trimite citirile c\u0103tre Monitorul Serial \u0219i s\u0103 le vedem pe ecran.<br>\u00cen sec\u021biunea loop(), o func\u021bie personalizat\u0103 numit\u0103 readSensor() este apelat\u0103 o dat\u0103 pe secund\u0103. Rezultatul acestei func\u021bii este afi\u0219at pe Monitorul Serial ca citire a nivelului curent al apei.<br>Func\u021bia readSensor() este locul unde are loc citirea propriu-zis\u0103 a senzorului. Porne\u0219te senzorul set\u00e2nd pinul de alimentare la nivelul HIGH, a\u0219teapt\u0103 10 milisecunde pentru a-i da senzorului timp s\u0103 se stabilizeze, cite\u0219te valoarea analogic\u0103 de la pinul de semnal, apoi opre\u0219te senzorul set\u00e2nd pinul de alimentare la nivelul LOW. \u00cen final, returneaz\u0103 valoarea citit\u0103, astfel \u00eenc\u00e2t programul principal s\u0103 o poat\u0103 utiliza.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>V-a\u021bi \u00eentrebat vreodat\u0103 cum \u0219tiu rezervoarele automate de ap\u0103 c\u00e2nd s\u0103 se opreasc\u0103 din umplere sau cum pot sistemele de alert\u0103 la inunda\u021bii s\u0103 \u0219tie c\u00e2nd apa cre\u0219te la niveluri periculoase? Toate acestea se datoreaz\u0103 unor senzori simpli, dar ingenio\u0219i, care pot \u201esim\u021bi\u201d prezen\u021ba apei. Unul dintre cei mai u\u0219ori \u0219i mai u\u0219ori de experimentat [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[176],"tags":[],"class_list":["post-9841","post","type-post","status-publish","format-standard","hentry","category-tutoriale-arduino"],"_links":{"self":[{"href":"https:\/\/roboromania.ro\/index.php?rest_route=\/wp\/v2\/posts\/9841","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/roboromania.ro\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/roboromania.ro\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/roboromania.ro\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/roboromania.ro\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9841"}],"version-history":[{"count":1,"href":"https:\/\/roboromania.ro\/index.php?rest_route=\/wp\/v2\/posts\/9841\/revisions"}],"predecessor-version":[{"id":9848,"href":"https:\/\/roboromania.ro\/index.php?rest_route=\/wp\/v2\/posts\/9841\/revisions\/9848"}],"wp:attachment":[{"href":"https:\/\/roboromania.ro\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9841"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/roboromania.ro\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9841"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/roboromania.ro\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9841"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}