» elektronikk » Arduino »Robot som passerer labyrinter

Robot som passerer labyrinter




Artikkelen viser opprettelsen av en robot som reiser langs linjer og kan gå gjennom labyrinter, etter å ha studert labyrinten, kan den gå gjennom den på korteste måte. Forfatteren opprettet i lang tid dette prosjektet, flaks overtok ham for tredje gang.

Demonstrasjon av maskinen:


Materialer og verktøy:
- Arduino RBBB
- Mikromotorer 2 stk
- Braketter for 2 stk motorer
- Hjul 2 stk
- kulehjul
- Analog refleksjonssensor
- Muttere med bolter på 2 stk.
- motordriver
- Batteriholder 4 stk AAA
- Batterier (oppladbare batterier) AAA 4 stk
- Sak
- Muttere, bolter, skiver
- koble ledninger
- lodde
- tang
- loddejern
- skrutrekker

Første trinn. Teori.
Forfatteren trengte roboten, som i seg selv vil finne en vei ut av labyrinten, hvoretter den vil kunne optimalisere tur / retur. Når du opprettet en maskin for labyrinter, ble de guidet av venstremetoden. For å gjøre det tydeligere, bør du forestille deg at du var i en labyrint og alltid holde venstre hånd på veggen. Etter å ha passert en bestemt sti, vil dette hjelpe deg ut av labyrinten hvis den ikke er lukket. Roboten kan bare jobbe med åpne labyrinter.

Prinsippene for venstremetoden er ganske enkle:
- Hvis du kan ta til venstre, ta til venstre.
- Hvis det er mulig å bevege seg rett, gå rett.
- Hvis du kan ta til høyre, ta til høyre.
- Hvis du er i en blindvei, snur du 180 grader.

Roboten må også ta avgjørelser i krysset, men hvis den ikke slås av ved svingen, vil den gå rett. For å bygge en bedre returvei skrives hver beslutning til minnet.
L = venstre sving
R = høyresving
S = hopp over en sving
B = roter 180 grader

Denne metoden er vist nedenfor i aksjon ved å bruke en enkel labyrint som eksempel. Roboten dekket avstanden med LBLLBSR-kommandoer.
Robot som passerer labyrinter







Stien kom ganske lang vei, den må gjøres om til en optimal SRR. For å gjøre dette blir det bestemt hvor roboten vendte feil vei. Overalt hvor "B" -kommandoen brukes, vil banen være feil, siden roboten befant seg i et blindløp, så "B" bør erstattes med noe annet. Det første gale trekket var LBL, roboten snudde og snudde, mens det bare var nødvendig å følge direkte LBL = S. Dermed er den ideelle banen LBL = S, LBS = R bygget. Basert på slike utskiftninger bygger roboten en ideell kort vei for seg selv.





Trinn to Chassiset til roboten.
Akryl med en tykkelse på 0,8 mm ble grunnlaget for robotchassiset; skjæring ble utført av en laser i henhold til tegningen. I arkivet under artikkelen vil det være en tegningsfil fra AutoCAD. Det var ikke nødvendig å bruke slikt materiale, men forfatteren tok det som var tilgjengelig.

I den nedre delen er det laget hull for montering av motorer, brett, hjul og sensorer. Den øvre delen har et stort hull for ledninger.










Trinn tre Montering av hjul.
Forfatteren festet begge motorene med bolter. Videre satte de bare hjul på akselen sin, og justerer skaftet med hullet i hjulet.




Det fjerde trinnet. Arduino.
På dette tidspunktet fulgte forfatteren først monteringsinstruksjonene til Arduino RBBB. Videre skar han av en del av brettet for å redusere størrelsen. Strømkontakten og stabilisatoren ble avskåret med saks for metall. Etter det ble en 9-pinners kontakt loddet til venstre side av brettet for kontakter fra 5V til A0 for å koble en sensor til den. En 4-pinners kontakt ble loddet til høyre side av brettet for kontakter fra D5 til D8, og en motorstyring vil være koblet til den. For å levere strøm ble 2-pinners kontakten loddet til 5V og GND.








Trinn fem Motorstyring.
Forfatteren selv utviklet et trykt kretskort for dette trinnet, kretsløpet i Eagle-formatet er festet i arkivet under artikkelen. Den første motoren ble koblet til pinnene M1-A og M1-B, den andre til M2 og M2-B. Den første inngangen til den første In 1A-motoren ble koblet til den syvende pinnen på Arduino. I 1B ble koblet til pinne 6 av Arduino. Til den første inngangen til den andre motoren, er In 2A koblet til den femte pinnen på Arduino. Pin In 2B kobles til pinne 8 på Arduino. Kraft og jord er koblet til Arduino kraft og jord.








Trinn seks Sensorer.
Dette elementet selges i form av et brett av sensorer, i utgangspunktet er det åtte av dem, de to ekstreme ble slettet av forfatteren. En 9-pinners kontakt ble loddet til brettet, en ledning som fører til Arduino vil være koblet til dem. Sensoren oppdager en hvit og svart del av labyrinten ved hjelp av refleksjon fra overflaten.




Syvende trinn. Toppdel.
Chassiset med toppen av roboten koblet sammen med bolter og stativer. Batteriet ble festet på toppen med borrelås. Ledninger fra ham ble lagt gjennom det forberedte hullet. Ved montering bestemte forfatteren seg for å ikke bruke skruer, men la batteriet sitte med borrelås slik at det ville være lettere å bytte batteriene. Ved hjelp av bryteren på batterikassen ble det utført en ytelseskontroll.








Trinn åtte. Installasjon av sensorer.
Sensorer ble boltet til bunnen av maskinen. GND-pinnen er koblet til GND Arduino. Deretter kobles Vcc-pinnen til 5V Arduino. Arduino 5-0 ADC-ene koblet pinnene til de analoge 6-1-sensorene.






Trinn ni. Power.
Arduino bare loddet ledninger fra batteriet. Å slå roboten av og på vil være en bryter på batteriet, så det ble bestemt å bruke lodding. Dette fullfører montering av roboten.


Trinn ti Programvaredelen.
Programmet har flere funksjoner som er ansvarlige for driftsalgoritmen. "Venstre hånd" -funksjonen mottar avlesninger fra sensorer og kontrollerer roboten i henhold til disse reglene. Rotasjonsfunksjonen er slått på før roboten legger merke til en svart linje, etter å ha lagt merke til at den beveger seg rett. En stioptimaliseringsfunksjon er også integrert. Programmet kan lastes ned under artikkelen i arkivet.


Robotvideo:


labyrint-løse-robot.rar [28.67 Kb] (nedlastinger: 545)
5.5
5.5
5.5

Legg til en kommentar

    • smilersmilerxaxaokdontknowyahoonea
      sjefscratchlurejaja-jaaggressivhemmelighet
      beklagerdansedance2dance3benådninghjelpdrikkevarer
      stoppvennergodgoodgoodfløytebesvimelsetunge
      røykklappingCrayerklærehånligdon-t_mentionnedlasting
      heteirefullaugh1MDAmøtemoskingnegative
      not_ipopcornstraffeleseskremmeskremmersøk
      spydighetthank_youdetteto_clueumnikakuttenig
      dårligbeeeblack_eyeblum3rødmeskrytekjedsomhet
      sensurertpleasantrysecret2trueseieryusun_bespectacled
      ShokRespektlolPrevedvelkommenKrutoyya_za
      ya_dobryihelperne_huliganne_othodiFLUDforbudnær

Vi anbefaler deg å lese:

Gi den til smarttelefonen ...