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