5.4 KiB
Közelség érzékelése - Wio Terminal
Ebben a leckében hozzáadunk egy közelségérzékelőt a Wio Terminalhoz, és távolságot olvasunk le róla.
Hardver
A Wio Terminalhoz szükség van egy közelségérzékelőre.
Az érzékelő, amit használni fogsz, egy Grove Time of Flight távolságérzékelő. Ez az érzékelő lézeres távolságmérő modult használ a távolság érzékeléséhez. Az érzékelő 10mm-től 2000mm-ig (1cm - 2m) terjedő tartományban működik, és ezen a tartományon belül elég pontos értékeket ad, 1000mm feletti távolságokat pedig 8109mm-ként jelzi.
A lézeres távolságmérő az érzékelő hátoldalán található, a Grove csatlakozóval ellentétes oldalon.
Ez egy I2C érzékelő.
Csatlakoztasd a Time of Flight érzékelőt
A Grove Time of Flight érzékelő csatlakoztatható a Wio Terminalhoz.
Feladat - csatlakoztasd a Time of Flight érzékelőt
Csatlakoztasd a Time of Flight érzékelőt.
-
Dugj be egy Grove kábelt az érzékelő csatlakozójába. A kábel csak egy irányban illeszkedik.
-
Amíg a Wio Terminal nincs csatlakoztatva a számítógéphez vagy más áramforráshoz, dugd be a Grove kábel másik végét a Wio Terminal bal oldali Grove csatlakozójába, ahogy a képernyőt nézed. Ez a csatlakozó van legközelebb a bekapcsológombhoz. Ez egy kombinált digitális és I2C csatlakozó.
- Most csatlakoztathatod a Wio Terminalt a számítógéphez.
Programozd a Time of Flight érzékelőt
Most már programozhatod a Wio Terminalt, hogy használja a csatlakoztatott Time of Flight érzékelőt.
Feladat - programozd a Time of Flight érzékelőt
-
Hozz létre egy teljesen új Wio Terminal projektet a PlatformIO használatával. Nevezd el a projektet
distance-sensor
-nak. Adj hozzá kódot asetup
függvényhez, hogy konfiguráld a soros portot. -
Adj hozzá egy könyvtárfüggőséget a Seeed Grove Time of Flight távolságérzékelő könyvtárhoz a projekt
platformio.ini
fájljában:lib_deps = seeed-studio/Grove Ranging sensor - VL53L0X @ ^1.1.1
-
A
main.cpp
fájlban add hozzá a következőt a meglévő include direktívák alá, hogy deklarálj egy példányt aSeeed_vl53l0x
osztályból, amely az érzékelővel való interakciót végzi:#include "Seeed_vl53l0x.h" Seeed_vl53l0x VL53L0X;
-
Add hozzá a következőt a
setup
függvény aljára, hogy inicializáld az érzékelőt:VL53L0X.VL53L0X_common_init(); VL53L0X.VL53L0X_high_accuracy_ranging_init();
-
A
loop
függvényben olvass le egy értéket az érzékelőről:VL53L0X_RangingMeasurementData_t RangingMeasurementData; memset(&RangingMeasurementData, 0, sizeof(VL53L0X_RangingMeasurementData_t)); VL53L0X.PerformSingleRangingMeasurement(&RangingMeasurementData);
Ez a kód inicializál egy adatstruktúrát, amelybe az adatokat beolvashatod, majd átadja azt a
PerformSingleRangingMeasurement
metódusnak, amely kitölti a távolságméréssel. -
Ezután írd ki a távolságmérést, majd várj 1 másodpercet:
Serial.print("Distance = "); Serial.print(RangingMeasurementData.RangeMilliMeter); Serial.println(" mm"); delay(1000);
-
Fordítsd le, töltsd fel és futtasd a kódot. A soros monitoron láthatod a távolságméréseket. Helyezz tárgyakat az érzékelő közelébe, és látni fogod a távolságmérést:
Distance = 29 mm Distance = 28 mm Distance = 30 mm Distance = 151 mm
A távolságmérő az érzékelő hátoldalán található, ezért ügyelj arra, hogy a megfelelő oldalt használd a távolság méréséhez.
💁 Ezt a kódot megtalálod a code-proximity/wio-terminal mappában.
😀 A közelségérzékelő programod sikeres volt!
Felelősség kizárása:
Ez a dokumentum az AI fordítási szolgáltatás, a Co-op Translator segítségével lett lefordítva. Bár törekszünk a pontosságra, kérjük, vegye figyelembe, hogy az automatikus fordítások hibákat vagy pontatlanságokat tartalmazhatnak. Az eredeti dokumentum az eredeti nyelvén tekintendő hiteles forrásnak. Fontos információk esetén javasolt professzionális emberi fordítást igénybe venni. Nem vállalunk felelősséget semmilyen félreértésért vagy téves értelmezésért, amely a fordítás használatából eredhet.