Icke-blockerande Ultrasonic Sensor för Arduino



HC-SR04 ultraljud sträcker sig modulen är ett fantastiskt tillägg till alla robot projekt. Dess ett mycket enkelt och billigt sätt att spåra en robotar framsteg (förutsatt att vi har fasta referenspunkter) rapporterade olika 2-400 cm med exaktheter av 3mm möjligt. Det är också ett bra sätt att lägga till objektet undvikande för att stoppa din dyrbara skapande krascha in i landskapet.

Moduler är mycket enkel. När utlöste med skickar en 10us puls på trigger stift modulen ut åtta 40kHz ultraljud pulser. Modulen sedan tar echo pin hög och håller den där tills den får ett eko tillbaka till modulen. Längden av tid echo PIN-koden är hög är direkt proportionell mot avståndet till ett objekt. I själva verket, detta är den tid det tar pulserna att resa till objekt och tillbaka och eftersom vi känner till som rusas av solitt vid 20° C torr luft vid havsnivå i 343.2 m/s, kan vi använda följande formel för att räkna ut avståndet från modulen till objektet:

avstånd (m) = (gånger * hastighet (m/s)) / 2

Som vi kommer att mäta tid i mikrosekunder det lätt för oss att arbeta ut hur långt ljud färdas per mikrosekund och helt enkelt multiplicera våra uppmätt tid av detta nummer.

343.2 m/s = 0.0343.2cm/us

Så nu kan vi säga:

avstånd (cm) = (time(us) * speed(cm/us)) / 2 = (tid * 0.0343.2)/2

Som att multiplicera och dividera är dyra steg (tidsmässigt) på en mikrokontroller får vi också dela upp vår hastighet konstant genom 2 nu och spara upprepa försöket senare, alltså:

avstånd (cm) = time(us) * 0.01716

Nu ska vi mäta ett heltal (hela) antal mikrosekunder och vi vet att floating point matematik är mindre effektiv på en mikrokontroller än motsvarande heltalet. Så, snarare än multiplicerande våra uppmätta mängden tid av en flytande punkt nummer vi kunde dela det med ett heltal eftersom 0.01716 är ungefär samma som 1/58, alltså:

avstånd (cm) = time(us) / 58(cm/us)

Med hjälp av samma metod kan vi fastställa att avståndet till ett objekt i inches är som följer:

avstånd (i) = time(us) / 148(in/us)

Så, nu vet vi hur sensorn fungerar, hur man använder det och hur man får ett användbart värde från sin produktion. Det sista problemet, för mig iaf, är att väntan för echo stift att gå lågt blockerar våra program utförande. Detta innebär att väntan på modulen för att ta en behandling vi inte kan göra något annat. Med tanke på vilka moduler 400cm kunde vi bli väntan för så mycket som 23ms. Nu, detta kanske inte verkar så mycket, men för en robot som har en iterativ kontrollerar kretsar och har massor av andra saker att göra (kontrollerande motorer, samla andra sensordata) är detta en betydande försening.

Tack och lov, det finns ett sätt som mikrokontroller kan berätta när echo PIN-koden ändras i stället för oss att titta på och vänta. Denna mekanism kallas ett "avbrott" eftersom mikrokontroller bokstavligen avbryter körningen av programmet när ett avbrott villkor uppstår och anropa en funktion av vår val. Och detta är den metod jag har använt för detta exempel. När echo stift går höga i början av den, allt vårt avbrott rutin (ISR, ut funktion som handlar om avbrottet) kallas och vi sparar den aktuella tiden som vår starttid. När echo stift går låg i slutet av den sträcker sig våra ISR kallas igen och vi sparar den aktuella tiden som våra sluttid. Skillnaden mellan start- och sluttider är tiden för den allt. Enkelt! Det finns massor av resurser ute som beskriver hur avbryter långt bättre än jag kunde och jag har redan skrivit alldeles för mycket här! Också, jag har insvept koden i ett litet bibliotek, så om du vill använda det och bryr mig inte hur avbryter arbete, du inte behöver.

Se Steg
Relaterade Ämnen

Hur gränssnittet Ultrasonic Sensor (HCSR04) till arduino uno

Ultraljudssensorer är mycket effektivare än andra hinder detektering sensorer. Ultraljudssensorer relativt billig och också de ultraljud utsläppsländerna och detektorer är portabla utan behov av komplicerade kretsar. Realtid stöd och konstgjorda visi...

Ultrasonic Sensor test med Arduino.

I EN ENKEL VÄG!Steg 1: Intro...Hej! Detta är min första Instructable. Här, ska jag visa dig hur du testar din Ultrasonic Sensor i ett mycket enkelt sätt.Så, hur fungerar en Ultrasonic Sensor?Det är enkelt, som på bilden, ultraljud sensorn har två "ög...

Distansera mätningen av Ultrasonic Sensor använder Arduino

Det är mycket enkelt och användbart projekt som kan användas i vårt dagliga liv.Saker du kommer att behöva projekt anges nedan...Arduino Uno.Ultrasonic sensor.4 manliga till kvinnliga förbindande kabeln.ansluta USB-kabeln.Steg 1: Krets anslutning...a...

Arduino: HC-SR04 Ultrasonic Sensor

Syfte:Utnyttja en HC-SR04 ultrasonic sensor med en Arduino att mäta distansera av något föremål.Den grundläggande idén bakom en ultrasonic sensor:En ultrasonic sensor utlöser en signal om att färdas i en rak bana, och sedan om utlösta signalen stöter...

Spela Block Breaker(Unity3D) med Arduino Ultrasonic sensor

i detta användas instructable jag kommer att visa er hur man gör ett block breaker spel och spela den med en ultrasonic sensor från arduino som kommer att som en närhet detektor till moe våra paddel vänster och högerDu kan följa den youtube playist t...

Att göra Radar använder Arduino, Ultrasonic sensor och MATLAB

I detta projekt kommer vi att göra en enkel radar upptäcka hinder.Intervallet beror på Ultrasonic sensor vi använt (i det här projektet: 3 meter).Steg 1: komponenterKomponenter:1 - Arduino Uno2 - ultraljud avstånd Sensor (länk: https://www.parallax.c...

Fånga bilden med ultrasonic sensor med arduino

Jag har varit i IOT utrymme för helt några månader och försöker att integrera saker med Arduino ombord, nyligen kom jag över Ultrasonic sensor, det är intressant. Så jag tänkte att skapa ett litet projekt. Projektets mål är att fånga hindret för tryg...

Hinder Avoider med HC-SR04 Ultrasonic Sensor

ÖversiktDetta projekt använder en HC-SR04 Ultrasonic sensor och en Arduino att mäta avståndet mellan användaren och ett hinder och orsaka en LED, Summer och motor till flash, piper och vibrerar respektive att varna användaren att han närmar sig ett h...

Arduino Ultrasonic Sensor

Detta är exempel att använda ultrasonic sensor (HC-SR04) i arduino.Steg 1: Del lista:Arduino UNO R3 styrelseHC-SR04 Ultrasonic SensorRöd LEDGrön LED560 ohm (grön, blå, brun, guld) motståndHalfBreadboardsladdarSteg 2: Ansluta komponenterna Steg 3: Skr...

Arduino - Ultrasonic Sensor med lysdioder och Summer

Hi guys detta är min första tutorial, jag har precis börjat för några månader sedan lära sig elektronik (tidigare jag har bara visste hur man programmerar i C och Python). När jag avslutat projektet (tog mig ca 5 timmar eller något) har jag beslutat...

Ultrasonic sensor HC-SR04 med Arduino

Se mer på:http://www.theorycircuit.com/Interface-Ultrasonic-sensor-HC-SR-04-with-Arduino/Facebook länk: https://www.facebook.com/pages/Theorycircuit/82511...HC-SR 04 är berömda ultrasonic utbud sensor och dess mycket enkelt att använda med många mikr...

Mäta hastigheten på ljud med Arduino microcontroller och ultrasonic sensor

Min 6-åriga dotter, Kennet, visar hur man mäter ljudets hastighet i luft med Arduino Uno microcontroller och ultrasonic sensor.Jag tycker detta är ett bra projekt för barn att blir exponerade för vetenskap, teknik och matematik.Steg 1: Vi behöver 1....

Ultraljuds-Range detektor med Arduino och SR04 Ultrasonic sensor

detta är en preliminär instructable som tar dig genom de steg jag tog för att få SR04 ULTRASONIC SENSOR ansluten och arbetar till Arduino. Det kommer då att ingå till min mini miljö bildskärm. Så småningom, om allt passar, det kommer att hamna i ett...

Arduino och ultrasonic sensor control servo och distans mätare

Arduino och ultrasonic sensor control servo och distans mätareI detta projekt kan du se hur du styr servomotor och tu beräkna avstånd med hjälp av arduino och ultrasonic sensor. Du behöver: 1. Arduino (uno, nano, pro mini)HårdvaraInrätta trigpin ultr...

Räkna objekt med Arduino och Ultrasonic sensor på kunskapsförmedlare produktion

Intro:Detta instructable förklarar hur du använder en ULTRASONIC SENSOR med Arduino att räkna / log olika paket på ett transportband. Instrucable kommer att omfatta den fysiska installationen och programmet i Arduino.Det kommer inte finnas någon info...

[Arduino projekt] #Remote övervakning av Ultrasonic Sensor värde med ioShield- & moln Server

Mitt inlägg förklarar hur att övervaka ultrasonic sensor värde med hjälp av Arduino, ioShield-A & Xively Server.Arduino Uno styrelsen används för att kontrollera hela systemet och mätning av sensor värdet. Jag använder ioShield-A (som är baserat på W...

ENKLA ARDUINO ULTRASONIC SENSOR dörr larm / rörelse detektor nr PIR!!!

HEJ ALLA.innan jag börjar, ska du kolla min video om du föredrar en video tutorialKlicka här att gå till min kanal för mer awesome projektIdag bestämde jag mig jag ville bygga ett larm för mitt rum, när jag sökt på nätet alla dörr larm används PIR-se...

Ultrasonic sensor i openFrameworks använder Arduino

Detta instructable gör att du kan skicka rangefinding data till openFrameworks (av) med en Arduino gränssnitt med en ultrasonic sensor, särskilt HC-SR04. Denna sensor är känd för sina problem med att kommunicera med Arduino ofx standardbiblioteket fö...

Hur man använder HC-SR04 Ultrasonic Sensor - Arduino handledning

HC-SR04 ultrasonic sensor använder sonar för att bestämma avståndet till ett objekt som fladdermöss eller delfiner gör. Det erbjuder utmärkt beröringsfri utbud identifiering med hög noggrannhet och stabila avläsningar i en enkel att använda paketet....