Taula de continguts:

Detecta els obstacles de manera asíncrona amb els ultrasons: 4 passos
Detecta els obstacles de manera asíncrona amb els ultrasons: 4 passos

Vídeo: Detecta els obstacles de manera asíncrona amb els ultrasons: 4 passos

Vídeo: Detecta els obstacles de manera asíncrona amb els ultrasons: 4 passos
Vídeo: BEST 25 Plantar Fasciitis HOME Treatments [Massage, Stretches, Shoes] 2024, Juny
Anonim
Detecta els obstacles de manera asíncrona amb els ultrasons
Detecta els obstacles de manera asíncrona amb els ultrasons

Estic construint per diversió un robot que vull moure de forma autònoma dins d’una casa.

És una feina llarga i estic fent pas a pas.

Aquest enfocament instructiu en la detecció d’obstacles amb Arduino Mega

Els sensors d’ultrasons HC-SR04 contra HY-SRF05 són econòmics i senzills d’utilitzar, però poden ser difícils d’integrar al bucle del microcontrolador en un robot complex. Volia executar la detecció d’obstacles d’una manera asíncrona.

_

Ja he publicat 3 instruccions sobre les característiques d'aquest robot:

  • Feu el vostre codificador de rodes
  • Feu la vostra passarel·la WIFI
  • Utilitzeu la unitat del mòdul inercial

I una documentació sobre la combinació d’intel·ligència artificial i ultrasons per localitzar el robot.

Pas 1: Quin és precisament el problema amb els sensors i els microcontroladors d'ultrasons?

Quin és precisament el problema amb els sensors i els microcontroladors d'ultrasons?
Quin és precisament el problema amb els sensors i els microcontroladors d'ultrasons?
Quin és precisament el problema amb els sensors i els microcontroladors d'ultrasons?
Quin és precisament el problema amb els sensors i els microcontroladors d'ultrasons?

Espera síncrona i limitacions d'Arduino

El codi dels microcontroladors s’executa en bucle i no és compatible amb diversos fils. Els sensors d’ultrasons es basen en la durada del senyal. Aquesta durada pot durar fins a 30 m s, que és molt llarg per esperar a l'interior del bucle quan els microcontroladors han de fer front a múltiples motors i sensors (per exemple, motors servo i CC amb codificadors de rodes).

Per tant, volia desenvolupar un objecte que s’executés de manera asíncrona.

Pas 2: Com funciona?

Com funciona ?
Com funciona ?

Ha estat dissenyat per a Atmega per a la detecció d’obstacles. Admet fins a 4 sensors d'ultrasons.

Gràcies a la interrupció periòdica del temps, el sistema pot controlar fins a 4 sensors d'ultrasons. El codi principal només ha de definir quin sensor s’activa amb la condició i el llindar. El principal només s’interromprà en cas que aparegui (condició, llindar).

Les funcions principals són:

  • L’alerta és la detecció bàsica d’obstacles i proporciona una interrupció si almenys un dels 4 sensors detecta una distància per sota d’aquest llindar
  • El monitor és una funció ampliada que proporciona interrupcions en una combinació de condicions de distància de fins a 4 sensors. Les possibles condicions són superiors, inferiors, iguals o no iguals als llindars.

Pas 3: detalls tècnics

Utilitzeu el temporitzador 4, de manera que el pin 6 7 8 no es pot utilitzar com a PWM.

Per a cada sensor, l'objecte necessita un PIN d'activador i un PIN d'interrupció.

A més dels PIN d'interrupció dels sensors, l'objecte necessita un altre PIN d'interrupció per a l'ús del programari.

Pas 4: Com implementar-lo?

Com implementar?
Com implementar?

Connecteu els sensors de la manera anterior

Descarregueu-la des d’aquest dipòsit de GitHub

  • EchoObstacleDetection.cpp,
  • EchoObstacleDetection.h
  • ExampleEchoObstacleDetection.ino

Creeu el directori EchoObstacleDetection dins de la vostra biblioteca IDE i moveu els fitxers.cpp i.h

Prova-ho

Obriu ExampleEchoObstacleDetection.ino.

Aquest és un exemple senzill de detecció d’obstacles amb 2 sensors d’ultrasons.

La sortida es dirigeix al monitor sèrie. Al principi imprimirà distàncies detectades pels 2 sensors i després imprimirà alertes en funció de les distàncies sota llindars.

Recomanat: