5.1 KiB
Aptikite artumą - Wio Terminalas
Šioje pamokos dalyje pridėsite artumo jutiklį prie savo Wio Terminalo ir nuskaitysite atstumą iš jo.
Aparatinė įranga
Wio Terminalui reikalingas artumo jutiklis.
Jutiklis, kurį naudosite, yra Grove Time of Flight atstumo jutiklis. Šis jutiklis naudoja lazerinį nuotolio matavimo modulį atstumui aptikti. Jutiklio diapazonas yra nuo 10 mm iki 2000 mm (1 cm - 2 m), ir jis gana tiksliai praneša reikšmes šiame diapazone, o atstumai virš 1000 mm pranešami kaip 8109 mm.
Lazerinis nuotolio matuoklis yra jutiklio gale, priešingoje pusėje nei Grove jungtis.
Tai yra I²C jutiklis.
Prijunkite Time of Flight jutiklį
Grove Time of Flight jutiklį galima prijungti prie Wio Terminalo.
Užduotis - prijunkite Time of Flight jutiklį
Prijunkite Time of Flight jutiklį.
-
Įkiškite vieną Grove kabelio galą į Time of Flight jutiklio jungtį. Jis įsistums tik viena kryptimi.
-
Kai Wio Terminalas yra atjungtas nuo kompiuterio ar kito maitinimo šaltinio, prijunkite kitą Grove kabelio galą prie kairiosios Grove jungties Wio Terminale, žiūrint į ekraną. Tai yra jungtis, esanti arčiausiai maitinimo mygtuko. Tai yra kombinuota skaitmeninė ir I²C jungtis.
- Dabar galite prijungti Wio Terminalą prie savo kompiuterio.
Užprogramuokite Time of Flight jutiklį
Dabar Wio Terminalą galima užprogramuoti naudoti prijungtą Time of Flight jutiklį.
Užduotis - užprogramuokite Time of Flight jutiklį
-
Sukurkite visiškai naują Wio Terminalo projektą naudodami PlatformIO. Pavadinkite šį projektą
distance-sensor
. Pridėkite kodąsetup
funkcijoje, kad sukonfigūruotumėte nuoseklųjį prievadą. -
Pridėkite bibliotekos priklausomybę Seeed Grove Time of Flight atstumo jutiklio bibliotekai prie projekto
platformio.ini
failo:lib_deps = seeed-studio/Grove Ranging sensor - VL53L0X @ ^1.1.1
-
main.cpp
faile, pridėkite šį kodą po esamomis įtraukimo direktyvomis, kad deklaruotumėteSeeed_vl53l0x
klasės egzempliorių, skirtą sąveikai su Time of Flight jutikliu:#include "Seeed_vl53l0x.h" Seeed_vl53l0x VL53L0X;
-
Pridėkite šį kodą į
setup
funkcijos apačią, kad inicializuotumėte jutiklį:VL53L0X.VL53L0X_common_init(); VL53L0X.VL53L0X_high_accuracy_ranging_init();
-
loop
funkcijoje nuskaitykite reikšmę iš jutiklio:VL53L0X_RangingMeasurementData_t RangingMeasurementData; memset(&RangingMeasurementData, 0, sizeof(VL53L0X_RangingMeasurementData_t)); VL53L0X.PerformSingleRangingMeasurement(&RangingMeasurementData);
Šis kodas inicializuoja duomenų struktūrą, į kurią bus įrašomi duomenys, tada perduoda ją į
PerformSingleRangingMeasurement
metodą, kur ji bus užpildyta atstumo matavimu. -
Po to išveskite atstumo matavimą ir pridėkite 1 sekundės uždelsimą:
Serial.print("Distance = "); Serial.print(RangingMeasurementData.RangeMilliMeter); Serial.println(" mm"); delay(1000);
-
Sukurkite, įkelkite ir paleiskite šį kodą. Galėsite matyti atstumo matavimus naudodami nuoseklųjį monitorių. Padėkite objektus šalia jutiklio ir pamatysite atstumo matavimus:
Distance = 29 mm Distance = 28 mm Distance = 30 mm Distance = 151 mm
Nuotolio matuoklis yra jutiklio gale, todėl įsitikinkite, kad naudojate tinkamą pusę matuodami atstumą.
💁 Šį kodą galite rasti code-proximity/wio-terminal aplanke.
😀 Jūsų artumo jutiklio programa buvo sėkminga!
Atsakomybės apribojimas:
Šis dokumentas buvo išverstas naudojant AI vertimo paslaugą Co-op Translator. Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba turėtų būti laikomas autoritetingu šaltiniu. Kritinei informacijai rekomenduojama profesionali žmogaus vertimo paslauga. Mes neprisiimame atsakomybės už nesusipratimus ar klaidingus interpretavimus, atsiradusius naudojant šį vertimą.