Kapacitiv markfuktighet mäta (med I2C) (5 / 8 steg)
Steg 5: Kapacitiv markens fukt mätning: I2C slav kod
Koden för att ge sensorn med I2C ser ut så här:
Det är viktigt att Attiny fungerar på minst 8Mhz.
Jag kan inte ta alla poäng för koden som jag bara omarbetats ett av exemplen i TinyWireS bibliotek.
Jag har använt pulseIn för att mäta pulslängd. PulseIn är ett kommando som väntar. Det kanske inte är den bästa politiken, men det fungerar. Om någon har ett förslag på en bättre kod, är jag alltid intresserad av att höra.
När det gäller NTC, jag nu läsa värdet på analog port, karta som till 1 byte och presentera som för vidare bearbetning. Självklart är det också possibe att använda formeln Steinhart-Hart att omarbeta den till en temperatur i grader och sätta det i registret.
Om du ungefärliga temperaturen med th Steinhart-Hart formel ung en av dessa beräkningar
Rntc = Rseries/((1023/ADC)-1)); med en dra upp motstånd
Rntc = Rseries*((1023/ADC)-1); / / med en dra ner motstånd som i denna krets