Sisukord:

Intuitiivne labürindi lahendamise robot: 3 sammu
Intuitiivne labürindi lahendamise robot: 3 sammu

Video: Intuitiivne labürindi lahendamise robot: 3 sammu

Video: Intuitiivne labürindi lahendamise robot: 3 sammu
Video: CS50 2014 – третья неделя, продолжение 2024, November
Anonim
Intuitiivne labürindi lahendamise robot
Intuitiivne labürindi lahendamise robot
Intuitiivne labürindi lahendamise robot
Intuitiivne labürindi lahendamise robot
Intuitiivne labürindi lahendamise robot
Intuitiivne labürindi lahendamise robot

Selles juhendis saate teada, kuidas teha labürindi lahendavat robotit, mis lahendab inimeste joonistatud labürindid.

Kui enamik roboteid lahendab esimest tüüpi joonistatud labürinde (peate järgima jooni, need on teed), siis tavalised inimesed kipuvad joonistama teist tüüpi labürinde. Neid on roboti jaoks palju raskem ja valivam näha, kuid mitte võimatu!

1. samm: 1. samm: labürindi lahendamine

Samm: labürindi lahendamine
Samm: labürindi lahendamine

Olen tegelikult kaalunud paljusid labürindi lahendamise meetodeid, kuid enim kasutatud meetodit on lihtne programmeerida, kuigi see lahendab endiselt peaaegu kõik labürindid!

Selle meetodi puhul ütleme robotile:

  • Pöörake paremale igal võimalusel
  • Kui ei, siis sõitke edasi, kui see on võimalik
  • Pöörake viimase lahendusena vasakule ja
  • Pöörake tagasi, kui see ummikusse jookseb

Pildil näete sel viisil lahendatavat labürinti. Seda meetodit nimetatakse sageli seinajälgijaks. Niikaua kui sihtkoht on välisseina väljapääs, leiab seinajälgija selle.

2. samm: 2. samm: osade tellimine

Samm: tellige osi
Samm: tellige osi

Selle roboti jaoks vajame:

  • 1 × Arduino Uno
  • 1 × 4 AA patareihoidik
  • 3 × TCRT5000 andurit (QTR-1A)
  • 2 × 6V alalisvoolumootorid
  • 13 × isane-emane leivatraat
  • 10 × emane-emane leivatraat
  • Kinnitage päis vähemalt 29 tihvtiga
  • Jootmisseadmed

Samuti laadige alla ja installige Arduino IDE oma Arduino jaoks arendamiseks ning veenduge, et teie Arduino oleks arvutiga ühendamiseks kaasas A/B tüüpi USB -kaabliga.

3. samm: 3. samm: lugege andurilt

Samm: lugege andurilt
Samm: lugege andurilt
Samm: lugege andurilt
Samm: lugege andurilt

TCRT5000 andurid on üles ehitatud infrapuna LED -ist (sinine orb) ja vastuvõtjast (must orb).

Kui LED kiirgab infrapunavalgust valgele pinnale, peegeldub see vastuvõtjasse ja see tagastab madala väärtuse (minu puhul 40–60). Kui LED kiirgab valgust mustale pinnale, siis see imendub ja tagastab kõrge väärtus (700–1010 minu puhul)

Teisel pildil on skeem, mis ütleb, kuidas andurit Arduinoga ühendada. Hoidke andurit nii, et näete LED -i ja vastuvõtjat ning tihvtid on suunatud skeemi poole, veendumaks, et ühendate õiged tihvtid.

Nüüd peame lihtsalt Arduino arvutiga ühendama, panema järgmise koodi Arduino IDE -sse ja kompileerima:

// Muuda A0 mis tahes porti, millega anduri ühendasid, et#define FRONT_SENSOR A0void start () {Serial.begin (9600); } void loop () {int frontValue = analogRead (FRONT_SENSOR); Serial.println (frontValue);}

Nüüd, kui liigutate andurit väga tihedalt üle valgete ja mustade pindade, peaksite nägema väärtusi vastavalt jadamonitoris.

Soovitan: