5.1 KiB
Registrer nærhed - Wio Terminal
I denne del af lektionen vil du tilføje en nærhedssensor til din Wio Terminal og aflæse afstand fra den.
Hardware
Wio Terminalen har brug for en nærhedssensor.
Sensoren, du vil bruge, er en Grove Time of Flight afstandssensor. Denne sensor bruger et laserafstandsmåler-modul til at registrere afstand. Sensoren har en rækkevidde fra 10mm til 2000mm (1cm - 2m) og rapporterer værdier inden for dette område ret præcist, med afstande over 1000mm rapporteret som 8109mm.
Laserafstandsmåleren sidder på bagsiden af sensoren, den modsatte side af Grove-stikket.
Dette er en I2C-sensor.
Tilslut Time of Flight-sensoren
Grove Time of Flight-sensoren kan tilsluttes Wio Terminalen.
Opgave - tilslut Time of Flight-sensoren
Tilslut Time of Flight-sensoren.
-
Sæt den ene ende af et Grove-kabel i stikket på Time of Flight-sensoren. Det kan kun sættes i på én måde.
-
Med Wio Terminalen frakoblet din computer eller anden strømkilde, tilslut den anden ende af Grove-kablet til det venstre Grove-stik på Wio Terminalen, når du ser på skærmen. Dette er stikket tættest på tænd/sluk-knappen. Dette er et kombineret digitalt og I2C-stik.
- Du kan nu tilslutte Wio Terminalen til din computer.
Programmer Time of Flight-sensoren
Wio Terminalen kan nu programmeres til at bruge den tilsluttede Time of Flight-sensor.
Opgave - programmer Time of Flight-sensoren
-
Opret et helt nyt Wio Terminal-projekt ved hjælp af PlatformIO. Kald dette projekt
distance-sensor
. Tilføj kode isetup
-funktionen for at konfigurere den serielle port. -
Tilføj en biblioteksafhængighed for Seeed Grove Time of Flight afstandssensorbiblioteket til projektets
platformio.ini
-fil:lib_deps = seeed-studio/Grove Ranging sensor - VL53L0X @ ^1.1.1
-
I
main.cpp
skal du tilføje følgende under de eksisterende include-direktiver for at erklære en instans afSeeed_vl53l0x
-klassen til at interagere med Time of Flight-sensoren:#include "Seeed_vl53l0x.h" Seeed_vl53l0x VL53L0X;
-
Tilføj følgende nederst i
setup
-funktionen for at initialisere sensoren:VL53L0X.VL53L0X_common_init(); VL53L0X.VL53L0X_high_accuracy_ranging_init();
-
I
loop
-funktionen skal du aflæse en værdi fra sensoren:VL53L0X_RangingMeasurementData_t RangingMeasurementData; memset(&RangingMeasurementData, 0, sizeof(VL53L0X_RangingMeasurementData_t)); VL53L0X.PerformSingleRangingMeasurement(&RangingMeasurementData);
Denne kode initialiserer en datastruktur til at læse data ind i og sender den derefter til metoden
PerformSingleRangingMeasurement
, hvor den vil blive udfyldt med afstandsmålingen. -
Skriv derefter afstandsmålingen ud og forsink i 1 sekund:
Serial.print("Distance = "); Serial.print(RangingMeasurementData.RangeMilliMeter); Serial.println(" mm"); delay(1000);
-
Byg, upload og kør denne kode. Du vil kunne se afstandsmålinger med den serielle monitor. Placer objekter nær sensoren, og du vil se afstandsmålingen:
Distance = 29 mm Distance = 28 mm Distance = 30 mm Distance = 151 mm
Afstandsmåleren sidder på bagsiden af sensoren, så sørg for at bruge den korrekte side, når du måler afstand.
💁 Du kan finde denne kode i code-proximity/wio-terminal-mappen.
😀 Dit program til nærhedssensoren var en succes!
Ansvarsfraskrivelse:
Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten Co-op Translator. Selvom vi bestræber os på at opnå nøjagtighed, skal du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det originale dokument på dets oprindelige sprog bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi påtager os ikke ansvar for eventuelle misforståelser eller fejltolkninger, der måtte opstå som følge af brugen af denne oversættelse.