Ultrasonic hinder att undvika Robot (12 / 16 steg)

Steg 12: Kontroll och problem av modulen Jonas_soderberg-04



Pinut

GND - ostridigt

Detta stift ansluter till marken netto av schematiskt

VCC - power järnväg

Detta stift måste knytas till linjen makt i vår krets, som - i mitt fall ges av 5V buck converter.

TRIG - trigger pin

Användaren har att ge en mikrosekund länge impuls om detta stift, sedan vänta på ekot att anlända på echo PIN-koden. Observera att echo är hög i de första tiotals millisekunder, se till att du vänta så vid initiering. Detta stift åberopas, då programmet ska vänta en stigande kant och starta en timer, TMR1. WASTE_10_US(); är ett makro jag skrev, det består av tillräckligt "NOP" monteringsanvisningar som avfall en sammanlagd tid av 10 mikrosekunder. Räkna stoppas när echo pulsen går lågt igen. Från nummer i registret över counter vet vi den tid som behövs för att ljudet ska komma tillbaka från ett eventuellt hinder. Vi vet att ljudets hastighet - kan vi beräkna avståndet!

ECHO - echo pin

Detta stift används för att upptäcka de reflekterade ljudvågorna. Jag anslutit den till ett stift som har avbrott, bara i fall - men det används i enkla ingångsläge. En stigande kanten slutar tidigare nämnda räknaren, och sparar den i en variabel, som blir bearbetade strax efter.

Ett litet trick för att underlätta den PIC-s

Tidpunkten för pulserar visas i databladet för denna modul. Som tidigare nämnts, måste du vänta ut första ~ 100 ms, sedan ge 10 mikrosekund trigger pulser på TRIG PIN-koden. Sådan knuff resulterar i en 8 cykel burst kommer från sändaren "talare". Vi måste vänta på ett eko framöver. Eko är tillfångatagen av mottagaren, och omvandlas till en impuls av variabel längd på ECHO stift. Längden på denna echo impuls är direkt proportionell med avståndet till hindret. Databladet ger en enkel formel för att räkna ut detta:

avståndet [cm] = t mätt [mikrosekunder] / 58

då återgår avståndet i centimeter. Jag delar bara med 5.8, så avståndet får returneras i millimeter. Eftersom jag inte nödvändigtvis behöver extremt precisa avläsningar, kommer att jag lägga en liten twist här. Jag vill bara undvika hinder, jag bryr mig inte hur långt de är, så det finns ingen användning av beräkna avståndet i dubbel variabeltyper. Denna typ av uträkningar ta lång tid, vilket i detta fall är helt onödigt. Så låt oss förenkla beräkningarna lite. Vi vet att den mottagna impulsen längd i mikrosekunder behövs för att räkna ut avståndet. Vår bas är dock inte en mycket rund en, 83,33 [ns]. Så, istället för att ta TMR1 greven, multiplikation med tiden till få längden i mikrosekunder, sedan dividera det med 5,8 att få avståndet i millimeter, vi kommer att göra något enklare och dummare. Låt oss upprätta vad en enda TMR1 räkning betyder i millimeter:

1 count = 83,33 [ns] = 0.08333 [us], som, dividerat med 5,8 resultat i 0.014 [mm] för varje TMR1 [antal]

Med detta sagt kan vi skriva följande:

1 [count] .......................... 0.014 [mm]

x [antal] y [mm]

och fortsätta att skriva formeln nedan:

y [mm] = (x * 0.014) / 1 = x * 0.014 = x / 71.42

Så vi vet att vi kan få avståndet till ett hinder genom att dividera TMR1 räkna med 71.42. Detta är dock fortfarande en precision kalkyl som tar lång tid, så vi tar en titt och inser att detta inte är så långt från 64, en trevlig "runda" antal. Dividera med en 2 i programvara är mycket lätt, kan göras via skiftande just sex gånger. Byte skiftande är en native instruktion av bilden, och det är mycket mycket snabb i jämförelse med en dubbel division. Så, låt oss runda 71.42 till 64 och bara Skift TMR1 lämnade 6 gånger för att få en idé på hur nära ett hinder är!

Låt oss se skillnaden detta trick ger vid en 8000 (till exempel) räknas:

original: 8000 / 71.42 = 112 [mm]

knepig: 8000 / 64 = (8000 >> 6) = 125 [mm]

Så är felet cirka 10%, inte mycket jämfört med den enorma mängden tid som vi bara sparas!

Problem

Jag har inte slog några problem under arbetet med denna modul, en sak som hände var att kabeln mellan PIC och ECHO stift lämnades bortkopplad, och PIC väntade oändligt på kanterna på det klämmer fast. Detta var lätt att fånga, eftersom den röda lysdioden som växlar vid varje sekund stoppade. Jag visste genast att programmet frös, och ett ställe det kan frysa är denna väntan för edge rutin. Problemet löst efter en minut!

En sak till: dessa saker fungerar med 5 [V], så har bara 4,8 [V] full kostnad innebär, att vi är stretching det för långt. Om spänningen är inte tillräckligt för att fånga eko, kommer att MCU hänga, väntar på EKOT att komma fram!

Se Steg
Relaterade Ämnen

Hur man gör ett hinder att undvika Robot

hinder att undvika robot är en enkel robot som drivs av en arduino och vad den gör är att det bara strövar runt och undviker hinder. Den upptäcker hinder med en HC-SR04 ultrasonic sensor med andra ord om roboten sinnen objekt nära till det, det tar a...

Hinder att undvika Robot med arduino

HINDER - ATT UNDVIKA ROBOTEtt hinder att undvika ROBOT är en som kan undvika ett hinder med hjälp av ultraljud sensor och gå i sin egen väg. Med en skärbräda bifogas roboten kan du spela roliga inom en kort tid. En sådan är vad vi ska diskutera här....

Hinder att undvika Robot med hjälp av ultraljud med evive (Arduino powered embedded plattform)

Vi har byggt ett hinder att undvika robot med evive. Till skillnad från andra, har vi monterat ultrasonic sensor på en servo. Så efter att ha upptäckt en kollision, roboten analyserar vilken riktning är bäst att gå med avstånd i olika vinklar från ul...

Hinder att undvika Robot V2

nyligen gjorde jag en instructable på en enkel hinder undvika robot. I detta instructable jag kommer att genomföra en panorering PING))) sensor, till skillnad från den tidigare roboten som har sensorn var stillastående. Jag kommer att använda denna t...

Hinder att undvika Robot

i denna tutorial jag arbetar med dig i en stegvis process som förklarar genom visuella och skriftliga instruktioner om hur du skapar ett hinder att undvika robotbil. Detta är en enkel starta projektet med arduino mikrokontroller och arduino motor skö...

Ljus som söker och hinder att undvika Robot

Syftet med detta projekt är att bygga en arduino robot som följer ljuset och undviker eventuella hinder i sin väg. Den är baserad på en Arduino Uno microcontroller ombord och den använder ljus beroende motstånd för att hitta mest ljusa ljuskällan sam...

Hur man gör ett hinder att undvika Robot Arduino stil

du alltid velat göra en av dessa coola robotar som kan i princip undvika alla objekt. Men du inte har tillräckligt med pengar för att köpa en av de riktigt dyra sådana, med redan skär delar där allt material där det för dig. Om du är lik mig gillar d...

RC bil till hinder att undvika Robot

detta är den gamla bilen.Jag hitta en gammal RC bil i mitt skjul.Hur jag förvandlas till en robot? Det är enkelt, jag kommer att förklara du i nästa steg.Steg 1: Den gamla RC bil 1. ta bort höljet2. ta bort kretsen.Steg 2: kontroll För att kontroller...

Hur man gör ett hinder att undvika Arduino Robot! "Min Robot V1"

Detta instructable visar steg instruktioner för att göra ett hinder att undvika robot med Arduino.Låt komma igångmin blogghttp://robot4pro.blogspot.com/p/My-robots.htmlSteg 1: Material som krävs förHär är allt du behöver för att MyRobotV1. Jag ska ge...

Robot-hinder att undvika.

HINDER ATT UNDVIKA ROBOTFINANSIERAS AV, INTEL KENYA TILLSAMMANS MED SOCIETY OF ENGINEERING STUDENTER AUTOMATION CLUB JKUAT.MEDLEMMAR:1 ANTONIUS KARIUKI2 ERIC KINYANJUI3 EMMANUEL KINYANJUIPROJEKTET INSTRUCTABLE:KRAV:1 INTEL GALILEO GENERATION 2 STYREL...

Autonomus vägg följande hinder att undvika Arduino Rescue Bot

jag är en ha som huvudämne elektroteknik och varje år mitt college gren av IEEE tävlar i en studenttävling hårdvara. Förra årets tävling var inspirerad av naturkatastroferna i Haiti och Chile (tävlingen hölls en vecka efter jordbävningen i Japan). De...

(Källa filer för) Hur man gör en OAWR (hinder att undvika Walking Robot)

detta är en utlöpare Instructable från hur man gör en OAWR (hinder att undvika Walking Robot) och innehåller versioner av filer från detta instructable i redigerbart format (alla trevliga och öppna source'ary jag gillar att tänka).(Om det finns någon...

Artoo [R2] (ATtiny2313 vägg att undvika Robot)

eftersom jag hade en massa ATtiny2313s liggande ville jag göra något häftigt med dem, jag tänkte ett tag och sedan beslutat att göra en enkel vägg att undvika robot med ATtiny2313, en ultrasonic sensor och 2 motorer.Dess en enkel att göra och enkel r...

Linkit ett objekt att undvika Robot

Denna i'ble behandlar objekt att undvika tekniker för linkit en.Dess enkla att göra ett objekt att undvika robot med linkit en. Anslut först HC-SR04 till linkit en än Anslut relä till linkit en och slutligen ansluta båda motorerna till relä och batte...

Raspberry Pi bygger väggen att undvika robot - FabLab NerveCentre

______________________________________________________________________________Observera: detta instructable är inte fullständigt - men kan vara till hjälpPublicerad för att den utmärkta människor på Derry's NerveCentre att ta koden ut till skolorJag...

Arduino vägg att undvika robot

Detta instructable förutsätter mycket lite med avseende på tidigare kunskap.Om det finns några områden som du känner skulle kunna förbättras eller förtydligas, gärna meddelande eller en kommentar och jag kommer att uppdatera.Här finns all information...

Hinder att undvika Arduino bil

Hej alla jag delar här vad jag göra ett hinder att undvika arduino bil. Jag använde här lätt tillgängliga material, dessa robo fortsätta springa fram tills och om inte hinder kom bilen så låt oss se och göra...Steg 1: material som krävs för 1-Arduino...

Billiga 4WD invända att undvika Robot med fyra IR närhet sensorer...

Detta är en billig grundläggande fyra motorer, fyra sensorer, programmerbara 8051 objekt att undvika robot med breadboad. Denna robot kan också användas som en linje efter robot bara ändra programmet. Jag installerade två batterier för mer makt, men...

Hur man gör ett hinder att undvika Arduino Robot

Hej alla! I detta Instructable kommer jag att visa dig hur man gör en robot som liknar "Mobile Arduino experimentella plattformen" (MAEP) som jag gjort. Den är utrustad med två motorer som kan styra roboten och förmågan att se hinder framför den...