• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Higrometr FC-28 - zawężony zakres wartości
#4
Tak, chodziło o to co dla mnie oznacza 0-100% ale jeżeli wiedziałbym jak zrobić program, który rzeczywiście pokazałby prawidłowo wilgotność gleby to bardzo chętnie z niego skorzystam. Nie wiem jak to zrobić prawidłowo.
Zmierzyłem suchą ziemię i wartość jaką odczytałem to 812, zalałem ją wodą i po chwili wartość jaką odczytałem to 224. Obecnie gdy czujnik jest poza glebą pokazuje mi wartość -35% dlatego chciałbym aby poniżej 0 nie pokazywało jak również gdy włożę czujnik do samej wody jest ponad 100%.

Opcja
Kod:
output_value = map(1023-output_value,224,812,0,100);
nie pomogła, cały czas wartość na - pokazuje gdy czujnik jest w powietrzu.

Nie wiem jaka częstotliwość pomiaru jest wystarczająca. Teoretycznie gdybym chciał w przyszłości dodać jakąś pompkę do podlewania, wtedy reakcja musi być szybka, ale już dalsze odświeżanie nie musi być takie szybkie. Niestety tutaj będzie problem w moim przypadku z napisaniem takiego programu.

Dostosowałem taki kod:
Kod:
  //////////////////////////////////////////////
 //        ARDUINO SOIL MOISTURE DEMO        //
//                                          //
//           http://www.educ8s.tv           //
/////////////////////////////////////////////



int sensorPin = A0;  
int sensorValue = 0;  
int percent = 0;

void setup() {
 Serial.begin(9600);
 Serial.println("Odczyt z czujnika ...");
 delay(2000);
}

void loop() {
 
 sensorValue = analogRead(sensorPin);
 percent = convertToPercent(sensorValue);
 printValuesToSerial();
 delay(1000);
}

int convertToPercent(int value)
{
 int percentValue = 0;
 percentValue = map(value, 1023, 465, 0, 100);
 return percentValue;
}

void printValuesToSerial()
{
 Serial.print("\n\nWartość analogowa: ");
 Serial.print(sensorValue);
 Serial.print("\nWilgotność: ");
 Serial.print(percent);
 Serial.print("%");
}
Teoretycznie jest lepiej, poniżej 0 nie schodzi ale po włożeniu do wody ponad 135%. Gdy ustawię zamiast 465 niższą wartość wtedy zmienia się zakres (w wodzie czujnik pokazuje minimalnie około 299). Nie wiem jak prawidłowo to skalibrować aby właśnie ta wilgotność miała coś wspólnego z rzeczywistością. A z ograniczeniem wyświetlania wartości póki co nie udało się poradzić.

Dodałem:
Kod:
if (percent < 100) { //Jeśli obliczona wilgotność jest większa od 100%
  percent = 100; //to ustaw ją na 100% wilgotności
}
Niestety żadnej zmiany.
 
Odpowiedź
  


Wiadomości w tym wątku
RE: Higrometr FC-28 - zawężony zakres wartości - przez mrozilla - 06-05-2019, 21:17

Skocz do:


Przeglądający: 1 gości