4.3 KiB
Tuvasta lähedus - Wio Terminal
Selles õppetüki osas lisad oma Wio Terminalile lähedusanduri ja loed selle abil kaugust.
Riistvara
Wio Terminal vajab lähedusandurit.
Andur, mida kasutad, on Grove Time of Flight kaugusandur. See andur kasutab kauguse tuvastamiseks laserit. Anduri ulatus on 10 mm kuni 2000 mm (1 cm - 2 m) ja see annab selle vahemiku väärtusi üsna täpselt, kusjuures kaugused üle 1000 mm raporteeritakse kui 8109 mm.
Laserkaugusmõõtja asub anduri tagaküljel, vastasküljel Grove-pistikule.
Tegemist on I2C anduriga.
Ühenda Time of Flight andur
Grove Time of Flight anduri saab ühendada Wio Terminaliga.
Ülesanne - ühenda Time of Flight andur
Ühenda Time of Flight andur.
-
Sisesta ühe Grove-kaabli ots Time of Flight anduri pistikusse. See läheb sisse ainult ühes suunas.
-
Kui Wio Terminal ei ole arvutiga või muu toiteallikaga ühendatud, ühenda Grove-kaabli teine ots Wio Terminali vasakpoolse Grove-pistikuga, kui vaatad ekraani poole. See on pistik, mis asub toitenupule kõige lähemal. See on kombineeritud digitaalne ja I2C pistik.
- Nüüd saad ühendada Wio Terminali oma arvutiga.
Programmeeri Time of Flight andur
Nüüd saab Wio Terminali programmeerida kasutama ühendatud Time of Flight andurit.
Ülesanne - programmeeri Time of Flight andur
-
Loo uus Wio Terminali projekt, kasutades PlatformIO-d. Nimeta see projekt
distance-sensor. Lisa koodsetupfunktsiooni, et seadistada jadaport. -
Lisa projekti
platformio.inifaili sõltuvus Seeed Grove Time of Flight kaugusanduri teegist:lib_deps = seeed-studio/Grove Ranging sensor - VL53L0X @ ^1.1.1 -
Lisa
main.cppfaili olemasolevate include-direktiivide alla järgmine kood, et deklareeridaSeeed_vl53l0xklassi eksemplar, mis suhtleb Time of Flight anduriga:#include "Seeed_vl53l0x.h" Seeed_vl53l0x VL53L0X; -
Lisa järgmine kood
setupfunktsiooni lõppu, et andur initsialiseerida:VL53L0X.VL53L0X_common_init(); VL53L0X.VL53L0X_high_accuracy_ranging_init(); -
Lisa
loopfunktsiooni kood, mis loeb andurilt väärtuse:VL53L0X_RangingMeasurementData_t RangingMeasurementData; memset(&RangingMeasurementData, 0, sizeof(VL53L0X_RangingMeasurementData_t)); VL53L0X.PerformSingleRangingMeasurement(&RangingMeasurementData);See kood initsialiseerib andmestruktuuri, kuhu andmed loetakse, ja edastab selle
PerformSingleRangingMeasurementmeetodile, kus see täidetakse kaugusmõõtmise andmetega. -
Kirjuta selle alla kaugusmõõtmise väärtus ja lisa 1-sekundiline viivitus:
Serial.print("Distance = "); Serial.print(RangingMeasurementData.RangeMilliMeter); Serial.println(" mm"); delay(1000); -
Koosta, laadi üles ja käivita see kood. Saad vaadata kaugusmõõtmisi jadamonitoris. Aseta objektid anduri lähedale ja näed kaugusmõõtmist:
Distance = 29 mm Distance = 28 mm Distance = 30 mm Distance = 151 mmKaugusmõõtja asub anduri tagaküljel, seega veendu, et kasutad õiget külge kauguse mõõtmiseks.
💁 Selle koodi leiad kaustast code-proximity/wio-terminal.
😀 Sinu lähedusanduri programm õnnestus suurepäraselt!
Lahtiütlus:
See dokument on tõlgitud AI tõlketeenuse Co-op Translator abil. Kuigi püüame tagada täpsust, palume arvestada, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Algne dokument selle algses keeles tuleks pidada autoriteetseks allikaks. Olulise teabe puhul soovitame kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tulenevate arusaamatuste või valesti tõlgenduste eest.


