Hvad er ToF (Time-of-Flight) Teknologi?
Time-of-Flight (ToF) er en metode til afstandsmåling, der beregner, hvor lang tid det tager for et signal (normalt en lys- eller laserpuls) at rejse til et mål og tilbage til sensoren. ToF HAT bruger dette princip med en laserlyskilde og meget følsomme detektorer til at beregne afstanden med høj nøjagtighed.
-
Lysudsendelse: Sensoren udsender en laserpuls.
-
Refleksion: Pulsen reflekteres fra et målobjekt.
-
Tidsmåling: Sensoren registrerer den tid, det tog for lyset at vende tilbage.
-
Afstandsberegning: Ved hjælp af lysets hastighed og den tid, det tager for pulsen at vende tilbage, beregner sensoren afstanden til objektet.

Denne metode til afstandsmåling er meget præcis og fungerer uafhængigt af overfladens refleksivitet, en væsentlig fordel i forhold til traditionelle ultralydssensorer.
Sådan bruger du ToF Hat
Nødvendige materialer
-
M5StickCPlus2: Fungerer som kernekontroller og er ansvarlig for at vise data
-
M5StickC ToF HAT: Højpræcisions laserafstandssensorer til afstandsmåling
Kode del
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('afstand'))
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("venligst opdater til den nyeste firmware")
M5Stack UIflow
Initialiser IIC, hat, sæt GPIO19 til output-tilstand for at styre lys tænd/sluk, og sæt GPIO2 til PWM-frekvens og duty cycle for at styre summeren.

Vis den målte afstand på M5stickCplus2 og indstil den afstand, hvor du ønsker at få en advarsel.

Nøglekomponenter i M5StickC ToF HAT
Laserlys Kilde:
Laserpulsen sendes ud og reflekteres tilbage fra objektet, hvilket muliggør afstandsmåling.
Sensorarray:
Sensoren indeholder fotodetektorer (ofte en APD - Avalanche Photodiode), der måler den tid, det tager for laseren at vende tilbage. Disse detektorer er designet til at være ekstremt følsomme over for det indkommende reflekterede lys.I2C-interface:
I2C er en simpel, lavstrøms kommunikationsprotokol, der gør det muligt for M5StickC at kommunikere med sensoren med kun to ledninger: data (SDA) og clock (SCL), sammen med strøm og jord.
Strømforsyning:
Modulet kører typisk på 3,3V eller 5V, som leveres gennem I2C-forbindelsen til M5StickC. Dette gør det muligt for sensoren at køre effektivt med lavt strømforbrug, hvilket er velegnet til batteridrevne applikationer.
Tekniske specifikationer i detaljer
Her er en mere omfattende liste over specifikationer for M5StickC ToF HAT:
-
Afstandsområde: Sensoren kan måle afstande fra 0,05 meter (5 cm) til 2 meter med høj nøjagtighed.
-
Målenøjagtighed: Sensoren tilbyder en nøjagtighed på ± 3% af den målte afstand. Det betyder for eksempel, at hvis et objekt registreres ved 1 meter, kan afstandsmålingen variere med cirka 3 cm.
-
Responstid: Sensoren kan levere afstandsmålinger cirka hvert 50 millisekunder, afhængigt af afstanden. Det er hurtigt nok til realtidsapplikationer som forhindringsdetektion og robotnavigation.
-
Driftsspænding: Driftsspændingen ligger mellem 3,3V og 5V, hvilket gør det kompatibelt med M5StickC og andre mikrokontrollere, der opererer i dette spændingsområde.
-
Strømforbrug: Strømforbruget er ret lavt, typisk omkring 15-20mA under drift. Dette gør det ideelt til batteridrevne eller lavstrøms systemer.
-
Driftstemperatur: Sensoren fungerer effektivt i et temperaturområde på -10°C til 60°C, hvilket gør den anvendelig i mange forskellige miljøer.
-
Output data: Sensoren sender afstandsdata via I2C kommunikation, som nemt kan læses af enhver kompatibel mikrokontroller, inklusive M5StickC.
-
Detektionsmode: ToF HAT kan bruges i både kontinuerlig målemode og udløst målemode, afhængigt af den specifikke anvendelse.
Hvordan M5StickC ToF HAT Fungerer
Sensoren fungerer ved at udsende en laserimpuls og derefter vente på, at impulsen reflekteres tilbage fra et nærliggende objekt. Her er en gennemgang af, hvordan denne proces foregår:Laserimpulsudsendelse: Sensoren udsender en kort laserimpuls, der bevæger sig med lysets hastighed. Laserstrålen reflekteres fra de objekter, den rammer.Registrering af reflekteret lys: Det reflekterede lys modtages af sensorens fotodetektor. Dette lys bruges til at måle rejsetiden mellem udsendelse og modtagelse af impulsen.
Afstandsberegning:
Sensoren beregner afstanden ved hjælp af formlen:
Afstand=\frac{c \times t}{2}
hvor:
-
CCC er lysets hastighed i mediet (ca. 3×10^8 meter per sekund).
-
det er den tid, det tager for lysimpulsen at rejse til målet og tilbage.
-
Dataoutput: Når afstanden er beregnet, sender sensoren værdien via I2C. M5StickC kan derefter læse værdien og behandle den til visning, handlinger eller yderligere beregning.
Brug af M5StickC ToF HAT i projekter
-
Nærhedssensor til smarte hjem-systemer: Sensoren kan bruges i smarte hjem-applikationer til at registrere, når nogen er nær en dør eller indgang. For eksempel kan du opsætte systemet til at tænde lys, når nogen nærmer sig, eller udløse en handling, når nogen står inden for en bestemt rækkevidde.
-
Måling af objekter i industrielle anvendelser: ToF HAT kan også bruges i industriel automation til at måle størrelsen eller positionen af objekter på en produktionslinje eller til at spore dele i bevægelse.
-
Virtual Reality (VR) og Augmented Reality (AR): I VR/AR-opsætninger er præcis dybde- og afstandsmåling afgørende for fordybelse og interaktion. ToF HAT kan bruges til at spore afstanden mellem brugeren og objekter inden for VR/AR-miljøet.
Integration med M5StickC
- Hardwareopsætning:
- Sæt ToF HAT i I2C-porten på M5StickC. M5StickC vil automatisk forsyne og kommunikere med ToF-sensoren via I2C-bussen.
- Programmering:
- Alternativt kan du bruge Arduino IDE eller MicroPython til at skrive brugerdefineret kode, hvilket giver mere kontrol og fleksibilitet i dine projekter.
- Du kan bruge UIFlow, den grafiske programmeringsplatform, til at interagere med sensoren og læse afstandsværdierne. UIFlow gør det nemt at programmere M5StickC og få adgang til ToF-sensorens data med blot nogle få blokke.
- Eksempel på UIFlow-blokprogram:
- I UIFlow kan du bruge blokke til at initialisere sensoren, læse afstanden og vise resultatet på skærmen eller tage handling baseret på den målte afstand.
- Databehandling:
- Når du har hentet afstandsdataene, kan du behandle dem og udløse handlinger. For eksempel:
- Hvis afstanden er mindre end en tærskelværdi, aktiver en buzzer eller udløs en alarm.
- Hvis du bygger en robot, skal den ændre retning, når en forhindring opdages.
Konklusion
