Mikä on ToF (Time-of-Flight) Teknologia?
Time-of-Flight (ToF) on etäisyyden mittausmenetelmä, joka laskee, kuinka kauan signaalin (yleensä valon tai laserpulssin) kestää matkustaa kohteeseen ja takaisin anturille. ToF HAT käyttää tätä periaatetta laser-valonlähteen ja erittäin herkkiä ilmaisimia hyödyntäen etäisyyden tarkkaan laskemiseen.
-
Valon lähetys: Anturi lähettää laserpulssin.
-
Heijastus: Pulssi heijastuu kohteesta.
-
Ajan mittaus: Anturi tallentaa ajan, joka valolta kesti palata.
-
Etäisyyden laskenta: Anturi laskee etäisyyden kohteeseen valonnopeuden ja pulssin paluuaikaan perustuen.

Tämä etäisyyden mittausmenetelmä on erittäin tarkka ja toimii riippumatta pinnan heijastavuudesta, mikä on merkittävä etu perinteisiin ultraääniantureihin verrattuna.
Kuinka käyttää ToF Hattia
Tarvittavat materiaalit
-
M5StickCPlus2: Toimii pääohjaimena ja vastaa tietojen näyttämisestä
-
M5StickC ToF HAT: Tarkat laseretäisyysanturit etäisyyden mittaamiseen
Koodiosa
import os, sys, io
import M5
from M5 import *
from hardware import *
from hat import ToFHat
label0 = None
label1 = None
i2c0 = None
pin19 = None
pwm2 = None
hat_tof_0 = None
def setup():
global label0, label1, i2c0, pin19, pwm2, hat_tof_0
M5.begin()
label0 = Widgets.Label("label0", 0, 0, 1.0, 0xffffff, 0x222222, Widgets.FONTS.DejaVu18)
label1 = Widgets.Label("label1", 100, 0, 1.0, 0xffffff, 0x222222, Widgets.FONTS.DejaVu18)
Widgets.setRotation(1)
i2c0 = I2C(0, scl=Pin(26), sda=Pin(0), freq=100000)
hat_tof_0 = ToFHat(i2c0)
pin19 = Pin(19, mode=Pin.OUT)
pwm2 = PWM(Pin(2), freq=5000, duty=512)
def loop():
global label0, label1, i2c0, pin19, pwm2, hat_tof_0
M5.update()
label0.setColor(0x33ff33, 0x000000)
label1.setColor(0x33ff33, 0x000000)
label0.setText(str('etäisyys'))
label1.setText(str(hat_tof_0.get_distance()))
if (hat_tof_0.get_distance()) < 10:
pin19.value(1)
pwm2.duty(512)
else:
pin19.value(0)
pwm2.duty(0)
if __name__ == '__main__':
try:
setup()
while True:
loop()
except (Exception, KeyboardInterrupt) as e:
try:
from utility import print_error_msg
print_error_msg(e)
except ImportError:
print("päivitäthän laiteohjelmiston uusimpaan versioon")
M5Stack UIflow
Alusta IIC, hat, aseta GPIO19 lähtötilaan valon päälle/pois kytkemiseksi, ja aseta GPIO2 PWM-taajuudelle ja työjaksolle summerin ohjaamiseksi.

Näytä mitattu etäisyys M5stickCplus2:ssa ja aseta etäisyys, jolla haluat varoituksen.

M5StickC ToF:n keskeiset osat HAT
Laservalo Lähde:
Laserpulssi lähetetään ja heijastuu takaisin kohteesta, mahdollistaen etäisyyden mittauksen.
Anturiryhmä:
Anturissa on valodetektoreita (usein APD - lumivyöryfotodiodi), jotka mittaavat ajan, joka laserilta kuluu palatakseen. Nämä detektorit on suunniteltu olemaan erittäin herkkiä saapuville heijastuneille valoille.I2C-liitäntä:
I2C on yksinkertainen, vähävirtaista tiedonsiirtoa käyttävä protokolla, joka mahdollistaa M5StickC:n kommunikoida anturin kanssa vain kahdella johdolla: data (SDA) ja kello (SCL), sekä lisäksi virta ja maa.
Virtalähde:
Moduuli toimii tyypillisesti 3,3V tai 5V jännitteellä, joka saadaan I2C-liitännän kautta M5StickC:lle. Tämä mahdollistaa anturin tehokkaan toiminnan, alhaisella virrankulutuksella, joka sopii paristokäyttöisiin sovelluksiin.
Tekniset tiedot yksityiskohtaisesti
Tässä on kattavampi luettelo teknisistä tiedoista koskien M5StickC ToF HAT:
-
Etäisyysalue: Anturi voi mitata etäisyyksiä välillä 0,05 metriä (5 cm) - 2 metriä korkealla tarkkuudella.
-
Mittaustarkkuus: Anturi tarjoaa tarkkuuden ± 3% mitatusta etäisyydestä. Tämä tarkoittaa esimerkiksi, että jos kohde havaitaan 1 metrin etäisyydellä, etäisyysmittaus voi vaihdella noin 3 cm.
-
Vasteaika: Anturi voi antaa etäisyyslukemia noin joka 50 millisekunti, etäisyydestä riippuen. Se on tarpeeksi nopea reaaliaikaisiin sovelluksiin, kuten esteiden havaitsemiseen ja robottinavigointiin.
-
Käyttöjännite: Käyttöjännite on välillä 3,3V ja 5V, mikä tekee siitä yhteensopivan M5StickC:n ja muiden tämän jännitealueen mikrokontrollerien kanssa.
-
Virrankulutus: Virrankulutus on melko alhainen, tyypillisesti noin 15-20mA käytön aikana. Tämä tekee siitä ihanteellisen paristokäyttöisiin tai vähävirtaisiin järjestelmiin.
-
Käyttölämpötila: Anturi toimii tehokkaasti lämpötila-alueella -10°C - 60°C, mikä mahdollistaa sen käytön monenlaisissa ympäristöissä.
-
Ulostulo data: Anturi lähettää etäisyystiedot I2C yhteyden kautta, jonka voi helposti lukea mikä tahansa yhteensopiva mikrokontrolleri, mukaan lukien M5StickC.
-
Tunnistustila: ToF HAT:ia voidaan käyttää sekä jatkuvassa mittaustilassa että laukaistussa mittaustilassa sovelluksesta riippuen.
Miten M5StickC ToF HAT Toimii
Anturi toimii lähettämällä laserpulssin ja odottamalla, että pulssi heijastuu läheltä olevasta esineestä. Tässä on erittely siitä, miten tämä prosessi tapahtuu:Laserpulssin lähetys: Anturi lähettää lyhyen laserpulssin, joka kulkee valon nopeudella. Laserin säde heijastuu kohtaamistaan esineistä.Heijastuneen valon havaitseminen: Heijastunut valo vastaanotetaan anturin valodetektorilla. Tätä valoa käytetään mittaamaan pulssin lähetyksen ja vastaanoton välinen matka-aika.
Etäisyyden laskenta:
Anturi laskee etäisyyden käyttämällä kaavaa:
Etäisyys=\frac{c \times t}{2}
missä:
-
CCC on valon nopeus väliaineessa (noin 3×10^8 metriä sekunnissa).
-
se on aika, joka valopulssilla kuluu matkustaakseen kohteeseen ja takaisin.
-
Tiedon lähtö: Kun etäisyys on laskettu, anturi lähettää arvon I2C:n kautta. M5StickC voi sitten lukea arvon ja käsitellä sen näytölle, toimintoihin tai jatkolaskentaan.
M5StickC ToF:n käyttö HAT Projekteissa
-
Läheisyysanturi älykotijärjestelmiin: Anturia voidaan käyttää älykotiratkaisuissa havaitsemaan, kun joku on lähellä ovea tai sisäänkäyntiä. Esimerkiksi järjestelmän voi asettaa sytyttämään valot, kun joku lähestyy, tai laukaista toiminnon, kun joku seisoo tietyllä etäisyydellä.
-
Esineiden mittaaminen teollisissa sovelluksissa: ToF HAT:ia voidaan käyttää myös teollisessa automaatiossa mittaamaan esineiden kokoa tai sijaintia tuotantolinjalla tai seuraamaan liikkuvia osia.
-
Virtuaalitodellisuus (VR) ja Lisätty todellisuus (AR): VR/AR-järjestelmissä tarkka syvyys- ja etäisyyden mittaus on ratkaisevan tärkeää immersiolle ja vuorovaikutukselle. ToF HAT:ia voidaan käyttää seuraamaan käyttäjän ja esineiden välistä etäisyyttä VR/AR-ympäristössä.
Integrointi M5StickC:n kanssa
- Laitteiston asennus:
- Kytke ToF HAT M5StickC:n I2C-porttiin. M5StickC syöttää automaattisesti virran ja kommunikoi ToF-anturin kanssa I2C-väylän kautta.
- Ohjelmointi:
- Vaihtoehtoisesti voit käyttää Arduino IDE tai MicroPython-ympäristöä kirjoittaaksesi mukautettua koodia, mikä antaa enemmän hallintaa ja joustavuutta projekteihisi.
- Voit käyttää UIFlow-graafista ohjelmointialustaa vuorovaikutukseen anturin kanssa ja etäisyysarvojen lukemiseen. UIFlow tekee M5StickC:n ohjelmoinnista helppoa ja mahdollistaa ToF-anturin tietojen käytön vain muutamalla lohkolla.
- Esimerkki UIFlow-lohko-ohjelmasta:
- UIFlow'ssa voit käyttää lohkoja anturin alustamiseen, etäisyyden lukemiseen ja tuloksen näyttämiseen näytöllä tai toiminnan suorittamiseen mitatun etäisyyden perusteella.
- Datan käsittely:
- Kun olet saanut etäisyystiedot, voit käsitellä niitä ja laukaista toimintoja. Esimerkiksi:
- Jos etäisyys on alle kynnysarvon, aktivoi summeri tai anna hälytysääni.
- Jos rakennat robottia, muuta sen suuntaa, kun este havaitaan.
Johtopäätös
