This shows you the differences between two versions of the page.
pm:prj2024:sseverin:doru_vlad.gheorghiu [2024/05/24 15:18] doru_vlad.gheorghiu |
pm:prj2024:sseverin:doru_vlad.gheorghiu [2024/05/27 10:26] (current) doru_vlad.gheorghiu |
||
---|---|---|---|
Line 131: | Line 131: | ||
} | } | ||
</code> | </code> | ||
+ | * Citim valoarea analogică a senzorului de umiditate a solului și o convertim în procente. Dacă valoarea este mai mare de un threshold stabilit (**thresholdValue = 40** în acest caz), planta nu trebuie udată și setez pinul releului pe **LOW**. Dacă valoarea este mai mare decât threshold-ul, vom verifica dacă flag-ul pompei (**pumpToggle**) este pornit, iar dacă este, setăm pinul releului pe **HIGH** și pompa se va porni, alimentându-se de la baterie. <code> double sensorValue = (1023 - analogRead(rainPin)) * (100.0 / 1023); | ||
+ | if (sensorValue > thresholdValue) { | ||
+ | Serial.print(sensorValue); | ||
+ | Serial.println(" - Doesn't need watering"); | ||
+ | digitalWrite(relayPin, LOW); | ||
+ | } | ||
+ | else if (pumpToggle) { | ||
+ | Serial.print(sensorValue); | ||
+ | Serial.println(" - Time to water your plant"); | ||
+ | digitalWrite(relayPin, HIGH); | ||
+ | } else if (!pumpToggle) { | ||
+ | digitalWrite(relayPin, LOW); | ||
+ | } | ||
+ | </code> | ||
+ | * De asemenea, vom scrie pe pin-ul de PWM al LED-ului valoarea senzorului de umiditate, scalată astfel încât să fie vizibilă schimbarea. Dacă pământul este umed, LED-ul va lumina mai puțin. <code> analogWrite(pwmPin, 255 - sensorValue * 3.7); </code> | ||
+ | * În final, scriem pe ecranul LCD valorile obținute. <code> lcd.setCursor(0, 0); | ||
+ | lcd.print("Temp: "); | ||
+ | lcd.print(temp.temperature); | ||
+ | lcd.print(" C"); | ||
+ | lcd.setCursor(0, 1); | ||
+ | lcd.print("Humidity: "); | ||
+ | lcd.print(sensorValue); | ||
+ | lcd.print("%"); | ||
+ | |||
+ | delay(100); | ||
+ | lcd.clear(); | ||
+ | </code> | ||
=== Rezultate Obținute === | === Rezultate Obținute === | ||
---- | ---- | ||
+ | [[https://www.youtube.com/shorts/szFKygTQOv0|Rezultate Obţinute]] | ||
=== Concluzii === | === Concluzii === | ||
---- | ---- | ||
+ | |||
+ | A fost un proiect din care am învățat destul de multe și mi-am solidificat cunoștințe de hardware. Am avut câteva probleme care m-au făcut să caut mai amănunțit informații despre cum funcționează unele componente și consider că a fost un milestone pentru mine să realizez sistemul acesta. | ||
=== Download === | === Download === | ||
---- | ---- | ||
- | === Jurnal === | + | {{:pm:prj2024:sseverin:proiect_pm.zip|}} |
- | ---- | + | |
=== Bibliografie/Resurse === | === Bibliografie/Resurse === |