5.7 KiB
Mål jordfuktighet - Wio Terminal
I denne delen av leksjonen skal du legge til en kapasitansbasert jordfuktighetssensor til din Wio Terminal og lese verdier fra den.
Maskinvare
Wio Terminal trenger en kapasitansbasert jordfuktighetssensor.
Sensoren du skal bruke er en Kapasitansbasert jordfuktighetssensor, som måler jordfuktighet ved å oppdage jordens kapasitans, en egenskap som endrer seg når jordfuktigheten endres. Når jordfuktigheten øker, synker spenningen.
Dette er en analog sensor, så den kobles til analoge pinner på Wio Terminal, og bruker en innebygd ADC for å generere en verdi fra 0-1 023.
Koble til jordfuktighetssensoren
Grove jordfuktighetssensoren kan kobles til Wio Terminals konfigurerbare analog/digital-port.
Oppgave - koble til jordfuktighetssensoren
Koble til jordfuktighetssensoren.
-
Sett den ene enden av en Grove-kabel inn i kontakten på jordfuktighetssensoren. Den kan bare settes inn på én måte.
-
Med Wio Terminal frakoblet fra datamaskinen eller annen strømkilde, koble den andre enden av Grove-kabelen til den høyre Grove-kontakten på Wio Terminal når du ser på skjermen. Dette er kontakten lengst unna strømknappen.
- Sett jordfuktighetssensoren inn i jorden. Den har en "høyeste posisjonslinje" - en hvit linje på tvers av sensoren. Sett sensoren inn opp til, men ikke forbi, denne linjen.
- Du kan nå koble Wio Terminal til datamaskinen din.
Programmer jordfuktighetssensoren
Wio Terminal kan nå programmeres til å bruke den tilkoblede jordfuktighetssensoren.
Oppgave - programmer jordfuktighetssensoren
Programmer enheten.
-
Opprett et helt nytt Wio Terminal-prosjekt ved hjelp av PlatformIO. Kall dette prosjektet
soil-moisture-sensor
. Legg til kode isetup
-funksjonen for å konfigurere seriellporten.⚠️ Du kan se instruksjonene for å opprette et PlatformIO-prosjekt i prosjekt 1, leksjon 1 hvis nødvendig.
-
Det finnes ikke et bibliotek for denne sensoren, men du kan lese fra den analoge pinnen ved å bruke den innebygde Arduino-funksjonen
analogRead
. Start med å konfigurere den analoge pinnen som inngang slik at verdier kan leses fra den ved å legge til følgende isetup
-funksjonen.pinMode(A0, INPUT);
Dette setter
A0
-pinnen, den kombinerte analog/digital-pinnen, som en inngangspinne som spenning kan leses fra. -
Legg til følgende i
loop
-funksjonen for å lese spenningen fra denne pinnen:int soil_moisture = analogRead(A0);
-
Under denne koden, legg til følgende kode for å skrive ut verdien til seriellporten:
Serial.print("Soil Moisture: "); Serial.println(soil_moisture);
-
Til slutt, legg til en forsinkelse på 10 sekunder på slutten:
delay(10000);
-
Bygg og last opp koden til Wio Terminal.
⚠️ Du kan se instruksjonene for å opprette et PlatformIO-prosjekt i prosjekt 1, leksjon 1 hvis nødvendig.
-
Når koden er lastet opp, kan du overvåke jordfuktigheten ved hjelp av seriell monitor. Tilsett litt vann i jorden, eller fjern sensoren fra jorden, og se verdien endre seg.
> Executing task: platformio device monitor < --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time --- More details at http://bit.ly/pio-monitor-filters --- Miniterm on /dev/cu.usbmodem1201 9600,8,N,1 --- --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H --- Soil Moisture: 526 Soil Moisture: 529 Soil Moisture: 521 Soil Moisture: 494 Soil Moisture: 454 Soil Moisture: 456 Soil Moisture: 395 Soil Moisture: 388 Soil Moisture: 394 Soil Moisture: 391
I eksempelet over kan du se spenningen synke når vann tilsettes.
💁 Du finner denne koden i code/wio-terminal-mappen.
😀 Programmet for jordfuktighetssensoren din var en suksess!
Ansvarsfraskrivelse:
Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten Co-op Translator. Selv om vi streber etter nøyaktighet, vær oppmerksom på at automatiserte oversettelser kan inneholde feil eller unøyaktigheter. Det originale dokumentet på sitt opprinnelige språk bør anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen.