Hvad er ToF, og hvordan bruger man det?

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.

  1. Lysudsendelse: Sensoren udsender en laserpuls.

  2. Refleksion: Pulsen reflekteres fra et målobjekt.

  3. Tidsmåling: Sensoren registrerer den tid, det tog for lyset at vende tilbage.

  4. Afstandsberegning: Ved hjælp af lysets hastighed og den tid, det tager for pulsen at vende tilbage, beregner sensoren afstanden til objektet.

M5Stack M5StickC ToF HAT

M5StickC ToF HAT

Se produkt

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")



✔ Kopieret!

     

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

M5StickC ToF HAT er en I2C-baseret sensormodul, der nemt kan tilsluttes M5StickC-enheden. Her er de vigtigste komponenter i modulet:
   

Laserlys Kilde:

Der anvendes en klasse 1-laser, som er sikker for det menneskelige øje. Den moduleres for at sikre, at sensoren kan beregne flyvetiden nøjagtigt.

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:

Sensoren kommunikerer med M5StickC gennem en I2C-grænseflade, hvilket gør det nemt at overføre data til mikrokontrolleren til videre behandling.

 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

Her er nogle praktiske anvendelser, og hvordan du kan bruge M5StickC ToF HAT: Forhindringsdetektion i robotik: ToF HAT kan bruges til at opdage forhindringer foran en robot eller drone. Ved kontinuerligt at måle afstanden kan robotten undgå kollisioner og navigere autonomt. For eksempel kan du i en simpel robot bruge sensoren til at opdage vægge eller objekter og ændre robotens bevægelse for at undgå dem.Bakradarsystem: En af de mest populære anvendelser af ToF HAT er at skabe et bakradar til køretøjer. Når en fører bakker, kan sensoren registrere, hvor tæt køretøjet er på forhindringer. En buzzer eller LED kan aktiveres baseret på afstanden og give føreren en advarsel, når en forhindring opdages inden for en kritisk rækkevidde.
  • 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

For at integrere M5StickC ToF HAT med M5StickC-enheden:
  1. Hardwareopsætning:
  • Sæt ToF HAT i I2C-portenM5StickC. M5StickC vil automatisk forsyne og kommunikere med ToF-sensoren via I2C-bussen.
  1. 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.
  1. 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.
  1. 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

M5StickC ToF HAT er en kraftfuld og nem at integrere sensor, der bringer højpræcisions afstandsmåling til dine projekter. Uanset om du udvikler et robot- forhindringsundvigelsessystem, en nærhedssensor eller et bakke-radar til køretøjer, tilbyder denne ToF-sensor en simpel løsning med høj nøjagtighed og pålidelighed. Med lavt strømforbrug og evnen til at fungere under forskellige lys- og overfladeforhold er det et fremragende værktøj for både hobbyister og professionelle, der arbejder med M5StickC-baserede projekter.

   

Efterlad en kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

Sidebjælke

Seneste indlæg

Denne sektion indeholder i øjeblikket ikke noget indhold. Tilføj indhold til denne sektion ved hjælp af sidepanelet.

Tilmeld dig vores nyhedsbrev

Få de seneste oplysninger om vores produkter og særlige tilbud.